Форум OlegON > Компьютеры и Программное обеспечение > Сеть

Как настроить доступ к сети TOR в обычном браузере

02.04.2020 22:07


25.12.2019 11:26
OlegON
 
Как-то давно я пробовал Tor на локальной машине, покопался в Даркнете и благополучно забыл про это. Однако, в свете крайне косячной работы регулирующих органов, которые блокировали то, что вообще не стоит блокировать (да-да, про 7zip я уже писал), я решил настроить доступ всей своей сети в Tor, как говорится, бесшовно.




Итого, имеем работающий Tor на отдельной машине и Mikrotik шлюзом в интернет. Задача: чтобы все машины на определенные хосты и в зоны .onion ходили, как на обычные, но через Tor.

Чтобы сразу определиться, подчеркну, речь идет про Tor, а не Tor-браузер.

Допустим, что Tor уже установлен и работает. Во-первых, надо уяснить, что DNS-серверов зоны .onion снаружи нет. Для этого можно использовать сам Tor. Вписываем в конфиг torrc
Код:
DNSPort 192.168.8.2:5300
Что обозначает, что теперь на порту 5300 работает DNS-сервер. Для обычных зон его лучше не использовать, все же он достаточно тормозной, хотя и позволяет это делать.

Соответственно, наш общий DNS-сервер (у меня это unbound) надо настроить, чтобы зону .onion он искал в Tor, т.е. unbound.conf
Код:
domain-insecure: "onion"
private-domain: "onion"
do-not-query-localhost: no
local-zone: "onion." nodefault
forward-zone:
name: "onion"
forward-addr: 192.168.8.2@5300
Однако, нюанс в том, что у onion адресов IP, как таковых, нет. Поэтому возвращаемся к torrc и говорим, что для этой зоны мы выделяем подсеть 10.10
Код:
VirtualAddrNetworkIPv4 10.10.0.0/16
AutomapHostsOnResolve 1
т.е. эти вот адреса (можно и другие) надо заруливать в Tor. Обратите внимание на вторую строку, она обозначает, что как только вы запросите какой-то сайт в DNS на 5300, ему будет выдан фиктивный адрес из 10.10./16, этот адрес некоторое время будет закреплен за этим сайтом.

Теперь будем настраивать шлюз. Если у кого-то Tor стоит прямо на шлюзе, вообще не проблема, настройте параметр TransPort в torrc и сделайте redirect с помощью iptables на порт, указанный в этом параметре. У меня Tor стоит отдельно, потому пришлось повозиться. Да, я сначала по дурости использовал dstnat, что в корне неверно, поскольку меняет целевой адрес в TCP-пакете. И мне пришлось много повозиться, прежде чем я понял, что натворил.

На шлюзе нужно включить Web-proxy и 10.10/16 заруливать в него. Проблема в том, что Web-proxy на Mikrotik не умеет пользоваться прокси HTTP Connect, а именно такой прокси есть в Tor и настраивается параметром HTTPTunnelPort. Но у меня уже был 3proxy, который может быть HTTP-proxy и обращаться в родительский прокси SOCKS5.

Теперь цепочка следующая (для браузера прозрачно).
1) DNS запрос идет в общий DNS-сервер, зона onion запрашивается в Tor и выдается 10.10/16
2) По фиктивному 10.10/16 Mikrotik редиректит соединение в свой собственный web proxy, оттуда родительским в 3proxy, оттуда родительским - в Tor.
25.12.2019 12:34
OlegON
 
Добавлю примеры конфигурации:

Mikrotik:
редирект для 10.10.0.0/16
Код:
/ip firewall nat
add action=redirect chain=dstnat dst-address=10.10.0.0/16 dst-port=80 in-interface=!wan protocol=tcp \
    to-addresses=192.168.8.2 to-ports=8080
включение прокси
Код:
/ip proxy
set anonymous=yes cache-administrator="" enabled=yes max-cache-object-size=512KiB max-cache-size=none \
    max-client-connections=60 max-server-connections=60 parent-proxy=192.168.8.2 parent-proxy-port=9051 \
    src-address=192.168.8.1
/ip proxy access
add src-address=192.168.8.2
3proxy, прокси из Mirotik в Tor
Код:
auth iponly
allow * 192.168.0.0/16
parent 1000 socks5+ 127.0.0.1 9050
proxy -p9051 -i192.168.8.2 -e127.0.0.1
Tor
Код:
SOCKSPort 192.168.8.2:9050
SOCKSPort 127.0.0.1:9050

DNSPort 192.168.8.2:5300
VirtualAddrNetworkIPv4 10.10.0.0/16
AutomapHostsOnResolve 1

SOCKSPolicy accept 192.168.0.0/16
если есть вопросы - спрашивайте.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.