Пускаем на VPN-сервере весь трафик клиентов через сеть TOR
Для большей анонимизации можно пускать трафик с VPN-сервера в сеть TOR. Такая же схема подходит для ситуаций, когда сеть TOR у вас заблокирована государством (про обход блокировок средствами TOR без участия VPN можно прочесть тут).
ННемного теории
Существует множество схем построения сетей, но самыми популярными являются:
- Клиент -> VPN Out -> TOR -> Internet
- Клиент -> VPN In -> VPN Out -> TOR -> Internet
Для обоих вариантов сначала необходимо настроить VPN-сервер.
Настройка первого варианта уже рассматривалась в статье Разворачиваем за минуту OpenVPN-сервер с пользовательскими ключами, второго — в статье Double VPN.
Дальнейшие действия для обеих схем аналогичные. Вся настройка для работы с TOR производится лишь на сервере vpn out.
ННастраиваем TOR
Устанавливаем TOR и добавляем в /etc/tor/torrc на vpn out следующие строки:
TransPort 9040 DNSPort 5353 AutomapHostsOnResolve 1 TransListenAddress 10.8.0.1 DNSListenAddress 10.8.0.1
Где 10.8.0.1 — локальный IP VPN-сервера (задаётся через опцию server в конфиге OpenVPN).
Внимание! Не торопитесь перезапускать TOR, он должен запускаться лишь после запуска VPN-сервера (!), иначе он будет ругаться на отсутствие адреса 10.8.0.1.
Лучше запуск TOR вовсе убрать из автозагрузки:
$ sudo systemctl disable tor
ННастройка iptables
В iptables на vpn out помимо необходимых для работы OpenVPN правил (освещено в статьях приведённых выше) необходимо добавить 2 следующих правила:
$ sudo iptables -A PREROUTING -s 10.8.0.0/24 -p udp -m udp --dport 53 -j REDIRECT --to-ports 5353 $ sudo iptables -A PREROUTING -s 10.8.0.0/24 -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j REDIRECT --to-ports 9040
Первое правило задаёт использование DNS через сеть TOR, второе перенаправляет весь трафик из подсети 10.8.0.0 на порт 9040 демона tor.
Не забудьте добавить восстановление правил iptables в автозагрузку!
ННастройка OpenVPN
Каких-либо изменений в конфигурации OpenVPN (как сервера, так и клиента) для работы с TOR производить не нужно! В том числе ничего не нужно менять на сервере с vpn in (если он используется).
ЗЗапуск и тестирование
Поскольку запуск TOR на vpn out необходимо производить в данном случае лишь после запуска OpenVPN — не забываем после каждой перезагрузки сначала запускать OpenVPN, а потом уже TOR.
Например, так:
$ sudo systemctl start openvpn $ sudo systemctl start tor
ППолезный лайфхак
Не всегда хочется использовать VPN для работы через TOR по ряду причин (медленное соединение, бан в ряде сайтов, капчи), поэтому предлагаю на vpn out поднять сразу два сервера OpenVPN на разных портах. Первый порт (например, 443) будет ходить сразу в интернет, второй же (например, 344) — через TOR.
Спизжено у
Оставить комментарий: