Маршрутизация VPN-подключения к прокси-серверу Socks на том же сервере

Маршрутизация VPN-подключения к прокси-серверу Socks на том же сервере

Я использую VPS с сервисом OpenVPN. На этом же сервере я также настроил локальный socks-прокси (это Tor, но не думаю, что это имеет значение в данном случае).

Могу ли я каким-то образом направить свое VPN-подключение на этот прокси-сервер Socks, не меняя никаких настроек локального браузера/устройства?

Соединение, которое я хочу настроить, выглядит примерно так:

(my device) -> VPN tunnel -> (VPN server -> Tor SOCKS proxy) -> Tor network
                             (this connection is inside VPS)

Я вижу два варианта

1) Маршрутизация полностью происходит на сервере, прозрачно для клиента.

2) VPN продвигает параметры прокси-сервера Socks (так как он может продвигать маршруты, DNS-серверы и т. д.)

но я понятия не имею, как достичь ни того, ни другого.

Я часто использую OpenVPN для обхода блокировок и хочу использовать одну и ту же процедуру для подключения к сети Tor как с устройств Windows, так и с Android, не утруждая себя изменением настроек прокси-сервера, запуском локального Tor/orbot и т. д. В идеале я планирую запустить его вместе с обычным VPN-подключением, которое направляет весь трафик в Интернет (оно уже настроено и отлично работает), но на другом порту.

решение1

Наконец-то дошло до этого.

Сначала вам нужно запустить еще один экземпляр OpenVPN. Просто скопируйте ваш openvpn/server.conf и измените

port [some free port]
server [another subnet, if your first instance was on 10.8.0.0, set it to 10.8.1.0] 255.255.255.0
push "dhcp-option DNS [we will use TOR DNS, so this will be TOR proxy IP, e.g. 10.8.1.1]"

Возможно, вам захочется сгенерировать еще одну пару ключей.

Затем вы запускаете TOR в режиме прозрачного прокси (обратите внимание, что в официальной документации этот режим указан как потенциально небезопасный, см.https://trac.torproject.org/projects/tor/wiki/doc/TransparentProxyдля получения подробной информации). Он будет служить вашим шлюзом и DNS-сервером. Измените torrcфайл по умолчанию, добавив эту конфигурацию

VirtualAddrNetworkIPv4 10.192.0.0/10
AutomapHostsOnResolve 1
TransPort [address in your subnet, e.g. 10.8.1.1]:9040 
DNSPort [same, 10.8.1.1]:53

и наконец, направить все запросы подсети на прокси-сервер TOR (специальная конфигурация для трафика DNS)

iptables -t nat -A PREROUTING -s [your subnet, e.g. 10.8.1.0/24] -p udp -m udp --dport 53 -j REDIRECT --to-ports 53
iptables -t nat -A PREROUTING -s [your subnet, e.g. 10.8.1.0/24] -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j REDIRECT --to-ports 9040

убедитесь, что вы разрешаете внутренний трафик подсети 10.8.1.0 в своем брандмауэре.

Подключение к разным портам позволит вам переключиться с сети TOR на обычное интернет-подключение через VPN. Настройка клиента не требуется.

Связанный контент