LINUX.ORG.RU

История изменений

Исправление Pinkbyte, (текущая версия) :

https://habr.com/ru/sandbox/75216/

Вроде надо из прероутинга – но у меня не выходит.

На клиентах нужно чтобы железка с установленным tor-ом была шлюзом для адресов из диапазона VirtualAddrNetwork. Ну и чтоб DNS-ы вели на девайс с Tor-ом.

Смотри в чём здесь логика: клиент резолвит имя например ya.ru через DNS, предоставляемый tor-ом. Tor резолвит это имя через системный резолвер(тот что в /etc/resolv.conf) а потом сопоставляет получившийся адрес(с помощью хэш-таблиц наверное, подробности лучше в исходниках смотреть) с адресом из подсети VirtualAddrNetwork и уже этот адрес отдаёт клиенту.

То есть вся подсеть Интернета укладывается в указанную тобой VirtualAddrNetwork.

Это позволяет гибко настраивать клиентов и не требует чтобы ВЕСЬ трафик от клиентов шел на железку с Tor-ом(то есть шлюзом по умолчанию, для выхода в обычный Интернет может быть другой девайс).

В общем случае последовательность действий такова:

1) убедись что на клиентах девайс с тором указан как DNS-сервер;
2) убедись что на клиентах маршрут в подсеть для VirtualAddrNetwork ведет на машину с Tor-ом;
3) убедись что входящий трафик для портов DNS-сервера и прозрачного прокси разрешен на сервере;
4) добавь в конфиг тора 'AutomapHostsSuffixes .'
5) если ты весь трафик на машину с Tor-ом направил, убедись что он не утекает в обход Tor-а, запретив в цепочке FORWARD на машине с Tor-ом всё кроме трафика с/на VirtualAddrNetwork;
6) трафик на адреса из подсети VirtualAddrNetwork заворачиваешь через -j REDIRECT в цепочке PREROUTING на машине с Tor-ом;

Пункт 4 нужен т.к. по умолчанию tor делает маппинг только для доменов .onion и .exit - то есть умолчальная конфигурация предполагает использование Tor-а только для доступа к этим доменам.

Ну и минутка капитана очевидности - VirtualAddrNetwork не должна пересекаться с твоей локальной подсетью. То есть если у тебя в локалке например 192.168.0.0/24 или 172.16.0.0/24 - то всё гуд. А если у тебя там что-то из 10. подсети, то надо по маске считать чтобы оно там не входило в эту подсеть. Иначе может быть боль.

Если нужны все локальные подсети(ну вдруг), то есть редкоиспользуемый в локалках диапазон 100.64.0.0/10

Исправление Pinkbyte, :

https://habr.com/ru/sandbox/75216/

Вроде надо из прероутинга – но у меня не выходит.

На клиентах нужно чтобы железка с установленным tor-ом была шлюзом для адресов из диапазона VirtualAddrNetwork. Ну и чтоб DNS-ы вели на девайс с Tor-ом.

Смотри в чём здесь логика: клиент резолвит имя например ya.ru через DNS, предоставляемый tor-ом. Tor резолвит это имя через системный резолвер(тот что в /etc/resolv.conf) а потом сопоставляет получившийся адрес(с помощью хэш-таблиц наверное, подробности лучше в исходниках смотреть) с адресом из подсети VirtualAddrNetwork и уже этот адрес отдаёт клиенту.

То есть вся подсеть Интернета укладывается в указанную тобой VirtualAddrNetwork.

Это позволяет гибко настраивать клиентов и не требует чтобы ВЕСЬ трафик от клиентов шел на железку с Tor-ом(то есть шлюзом по умолчанию, для выхода в обычный Интернет может быть другой девайс).

В общем случае последовательность действий такова:

1) убедись что на клиентах девайс с тором указан как DNS-сервер;
2) убедись что на клиентах маршрут в подсеть для VirtualAddrNetwork ведет на машину с Tor-ом;
3) убедись что входящий трафик для портов DNS-сервера и прозрачного прокси разрешен на сервере;
4) добавь в конфиг тора 'AutomapHostsSuffixes .'
5) если ты весь трафик на машину с Tor-ом направил, убедись что он не утекает в обход Tor-а, запретив в цепочке FORWARD всё кроме трафика с/на VirtualAddrNetwork;
6) трафик на адреса из подсети VirtualAddrNetwork заворачиваешь через -j REDIRECT в цепочке PREROUTING;

Пункт 4 нужен т.к. по умолчанию tor делает маппинг только для доменов .onion и .exit - то есть умолчальная конфигурация предполагает использование Tor-а только для доступа к этим доменам.

Ну и минутка капитана очевидности - VirtualAddrNetwork не должна пересекаться с твоей локальной подсетью. То есть если у тебя в локалке например 192.168.0.0/24 или 172.16.0.0/24 - то всё гуд. А если у тебя там что-то из 10. подсети, то надо по маске считать чтобы оно там не входило в эту подсеть. Иначе может быть боль.

Если нужны все локальные подсети(ну вдруг), то есть редкоиспользуемый в локалках диапазон 100.64.0.0/10

Исправление Pinkbyte, :

https://habr.com/ru/sandbox/75216/

Вроде надо из прероутинга – но у меня не выходит.

На клиентах нужно чтобы железка с установленным tor-ом была шлюзом для адресов из диапазона VirtualAddrNetwork. Ну и чтоб DNS-ы вели на девайс с Tor-ом.

Смотри в чём здесь логика: клиент резолвит имя например ya.ru через DNS, предоставляемый tor-ом. Tor резолвит это имя через системный резолвер(тот что в /etc/resolv.conf) а потом сопоставляет получившийся адрес(с помощью хэш-таблиц наверное, подробности лучше в исходниках смотреть) с адресом из подсети VirtualAddrNetwork и уже этот адрес отдаёт клиенту.

То есть вся подсеть Интернета укладывается в указанную тобой VirtualAddrNetwork.

Это позволяет гибко настраивать клиентов и не требует чтобы ВЕСЬ трафик от клиентов шел на железку с Tor-ом(то есть шлюзом по умолчанию, для выхода в обычный Интернет может быть другой девайс).

В общем случае последовательность действий такова:

1) убедись что на клиентах девайс с тором указан как DNS-сервер;
2) убедись что на клиентах маршрут в подсеть для VirtualAddrNetwork ведет на машину с Tor-ом;
3) убедись что входящий трафик для портов DNS-сервера и прозрачного прокси разрешен на сервере;
4) добавь в конфиг тора 'AutomapHostsSuffixes .'
5) если ты весь трафик на машину с Tor-ом направил, убедись что он не утекает в обход Tor-а, запретив в цепочке FORWARD всё кроме трафика с/на VirtualAddrNetwork;
6) трафик на адреса из подсети VirtualAddrNetwork заворачиваешь через -j REDIRECT в цепочке PREROUTING;

Пункт 4 нужен т.к. по умолчанию tor делает маппинг только для доменов .onion и .exit - то есть умолчальная конфигурация предполагает использование Tor-а только для доступа к этим доменам.

Исправление Pinkbyte, :

https://habr.com/ru/sandbox/75216/

Вроде надо из прероутинга – но у меня не выходит.

На клиентах нужно чтобы железка с установленным tor-ом была шлюзом для адресов из диапазона VirtualAddrNetwork. Ну и чтоб DNS-ы вели на девайс с Tor-ом.

Смотри в чём здесь логика: клиент резолвит имя например ya.ru через DNS, предоставляемый tor-ом. Tor резолвит это имя через системный резолвер(тот что в /etc/resolv.conf) а потом сопоставляет получившийся адрес(с помощью хэш-таблиц наверное, подробности лучше в исходниках смотреть) с адресом из подсети VirtualAddrNetwork и уже этот адрес отдаёт клиенту.

То есть вся подсеть Интернета укладывается в указанную тобой VirtualAddrNetwork.

Это позволяет гибко настраивать клиентов и не требует чтобы ВЕСЬ трафик от клиентов шел на железку с Tor-ом(то есть шлюзом по умолчанию, для выхода в обычный Интернет может быть другой девайс).

В общем случае последовательность действий такова:

1) убедись что на клиентах девайс с тором указан как DNS-сервер;
2) убедись что на клиентах маршрут в подсеть для VirtualAddrNetwork ведет на машину с Tor-ом;
3) убедись что входящий трафик для портов DNS-сервера и прозрачного прокси разрешен на сервере;
4) добавь в конфиг 'AutomapHostsSuffixes .'
5) если ты весь трафик на машину с Tor-ом направил, убедись что он не утекает в обход Tor-а, запретив в цепочке FORWARD всё кроме трафика с/на VirtualAddrNetwork;
6) трафик на адреса из подсети VirtualAddrNetwork заворачиваешь через -j REDIRECT в цепочке PREROUTING;

Пункт 4 нужен т.к. по умолчанию tor делает маппинг только для доменов .onion и .exit - то есть умолчальная конфигурация предполагает использование Tor-а только для доступа к этим доменам.

Исправление Pinkbyte, :

https://habr.com/ru/sandbox/75216/

Вроде надо из прероутинга – но у меня не выходит.

На клиентах нужно чтобы железка с установленным tor-ом была шлюзом для адресов из диапазона VirtualAddrNetwork. Ну и чтоб DNS-ы вели на девайс с Tor-ом.

Смотри в чём здесь логика: клиент резолвит имя например ya.ru через DNS, предоставляемый tor-ом. Tor резолвит это имя через системный резолвер(тот что в /etc/resolv.conf) а потом сопоставляет получившийся адрес(с помощью хэш-таблиц наверное, подробности лучше в исходниках смотреть) с адресом из подсети VirtualAddrNetwork и уже этот адрес отдаёт клиенту.

То есть вся подсеть Интернета укладывается в указанную тобой VirtualAddrNetwork.

Это позволяет гибко настраивать клиентов и не требует чтобы ВЕСЬ трафик от клиентов шел на железку с Tor-ом(то есть шлюзом по умолчанию, для выхода в обычный Интернет может быть другой девайс).

В общем случае последовательность действий такова:

1) убедись что на клиентах девайс с тором указан как DNS-сервер;
2) убедись что на клиентах маршрут в подсеть для VirtualAddrNetwork ведет на машину с Tor-ом;
3) убедись что входящий трафик для портов DNS-сервера и прозрачного прокси разрешен на сервере;
4) добавь в конфиг 'AutomapHostsSuffixes .'
5) если ты весь трафик на машину с Tor-ом направил, убедись что он не утекает в обход Tor-а, запретив в цепочке FORWARD всё кроме трафика с/на VirtualAddrNetwork; 6) трафик на адреса из подсети VirtualAddrNetwork заворачиваешь через -j REDIRECT в цепочке PREROUTING;

Пункт 4 нужен т.к. по умолчанию tor делает маппинг только для доменов .onion и .exit - то есть умолчальная конфигурация предполагает использование Tor-а только для доступа к этим доменам.

Исправление Pinkbyte, :

https://habr.com/ru/sandbox/75216/

Вроде надо из прероутинга – но у меня не выходит.

На клиентах нужно чтобы железка с установленным tor-ом была шлюзом для адресов из диапазона VirtualAddrNetwork. Ну и чтоб DNS-ы вели на девайс с Tor-ом.

Смотри в чём здесь логика: клиент резолвит имя например ya.ru через DNS, предоставляемый tor-ом. Tor резолвит это имя через системный резолвер(тот что в /etc/resolv.conf) а потом сопоставляет получившийся адрес(с помощью хэш-таблиц наверное, подробности лучше в исходниках смотреть) с адресом из подсети VirtualAddrNetwork и уже этот адрес отдаёт клиенту.

То есть вся подсеть Интернета укладывается в указанную тобой VirtualAddrNetwork.

Это позволяет гибко настраивать клиентов и не требует чтобы ВЕСЬ трафик от клиентов шел на железку с Tor-ом(то есть шлюзом по умолчанию, для выхода в обычный Интернет может быть другой девайс).

В общем случае последовательность действий такова:

1) убедись что на клиентах девайс с тором указан как DNS-сервер;
2) убедись что на клиентах маршрут в подсеть для VirtualAddrNetwork ведет на машину с Tor-ом;
3) убедись что входящий трафик для порта DNS-сервера разрешен на сервере;
4) добавь в конфиг 'AutomapHostsSuffixes .'
5) если ты весь трафик на машину с Tor-ом направил, убедись что он не утекает в обход Tor-а, запретив в цепочке FORWARD всё кроме трафика с/на VirtualAddrNetwork.

Прозрачным proxy можешь не заморачиваться. Пункт 4 нужен т.к. по умолчанию tor делает маппинг только для доменов .onion и .exit - то есть умолчальная конфигурация предполагает использование Tor-а только для доступа к этим доменам.

Исправление Pinkbyte, :

https://habr.com/ru/sandbox/75216/

Вроде надо из прероутинга – но у меня не выходит.

На клиентах нужно чтобы железка с установленным tor-ом была шлюзом для адресов из диапазона VirtualAddrNetwork. Ну и чтоб DNS-ы вели на девайс с Tor-ом.

Смотри в чём здесь логика: клиент резолвит имя например ya.ru через DNS, предоставляемый tor-ом. Tor резолвит это имя через системный резолвер(тот что в /etc/resolv.conf) а потом сопоставляет получившийся адрес(с помощью хэш-таблиц наверное, подробности лучше в исходниках смотреть) с адресом из подсети VirtualAddrNetwork и уже этот адрес отдаёт клиенту.

То есть вся подсеть Интернета укладывается в указанную тобой VirtualAddrNetwork.

Это позволяет гибко настраивать клиентов и не требует чтобы ВЕСЬ трафик от клиентов шел на железку с Tor-ом(то есть шлюзом по умолчанию, для выхода в обычный Интернет может быть другой девайс).

В общем случае последовательность действий такова:

1) убедись что на клиентах девайс с тором указан как DNS-сервер;
2) убедись что на клиентах маршрут в подсеть для VirtualAddrNetwork ведет на машину с Tor-ом; 3) убедись что входящий трафик для порта DNS-сервера разрешен на сервере;
4) добавь в конфиг 'AutomapHostsSuffixes .'
5) если ты весь трафик на машину с Tor-ом направил, убедись что он не утекает в обход Tor-а, запретив в цепочке FORWARD всё кроме трафика с/на VirtualAddrNetwork

Прозрачным proxy можешь не заморачиваться. Пункт 4 нужен т.к. по умолчанию tor делает маппинг только для доменов .onion и .exit - то есть умолчальная конфигурация предполагает использование Tor-а только для доступа к этим доменам.

Исходная версия Pinkbyte, :

https://habr.com/ru/sandbox/75216/

Вроде надо из прероутинга – но у меня не выходит.

На клиентах нужно чтобы железка с установленным tor-ом была шлюзом для адресов из диапазона VirtualAddrNetwork. Ну и чтоб DNS-ы вели на девайс с Tor-ом.

Смотри в чём здесь логика: клиент резолвит имя например ya.ru через DNS, предоставляемый tor-ом. Tor резолвит это имя через системный резолвер(тот что в /etc/resolv.conf) а потом сопоставляет получившийся адрес(с помощью хэш-таблиц наверное, подробности лучше в исходниках смотреть) с адресом из подсети VirtualAddrNetwork и уже этот адрес отдаёт клиенту.

То есть вся подсеть Интернета укладывается в указанную тобой VirtualAddrNetwork.

Это позволяет гибко настраивать клиентов и не требует чтобы ВЕСЬ трафик от клиентов шел на железку с Tor-ом(то есть шлюзом по умолчанию, для выхода в обычный Интернет может быть другой девайс).

В общем случае последовательность действий такова:

1) убедись что на клиентах девайс с тором указан как DNS-сервер;
2) убедись что на клиентах маршрут в подсеть для VirtualAddrNetwork ведет на машину с Tor-ом; 3) убедись что входящий трафик для порта DNS-сервера разрешен на сервере;
4) добавь в конфиг 'AutomapHostsSuffixes .'
5) если ты весь трафик на машину с Tor-ом направил, убедись что он не утекает в обход Tor-а, запретив в цепочке FORWARD всё кроме трафика с/на VirtualAddrNetwork

Прозрачным proxy можешь не заморачиваться