Roteando uma conexão VPN para um proxy meias no mesmo servidor

Roteando uma conexão VPN para um proxy meias no mesmo servidor

Estou executando um VPS com o serviço OpenVPN. No mesmo servidor também configurei um proxy de meias local (é o Tor, mas não acho que isso realmente importe neste caso).

Posso, de alguma forma, rotear minha conexão VPN para esse proxy de meias, sem nenhuma alteração nas configurações locais do navegador/dispositivo?

A conexão que desejo configurar se parece com

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

vejo duas opções

1) O roteamento acontece inteiramente no servidor, de forma transparente para um cliente

2) A VPN envia opções de proxy de meias (já que pode enviar rotas, servidores DNS, etc.)

mas não tenho ideia de como conseguir nenhum deles.

Eu uso frequentemente o OpenVPN para contornar o bloqueio e quero usar a mesma rotina para me conectar à rede Tor de dispositivos Windows e Android, sem me preocupar em alterar as configurações de proxy, executar tor/orbot local etc. uma conexão VPN normal que roteia todo o tráfego para a Internet (já está configurada e funcionando bem), mas em uma porta diferente.

Responder1

Finalmente consegui.

Primeiro você precisa executar outra instância do OpenVPN. Basta copiar seu openvpn/server.conf e alterar

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]"

você pode querer gerar outro par de chaves.

Então você inicia o TOR no modo proxy transparente (observe que a documentação oficial lista este modo como potencialmente inseguro, consultehttps://trac.torproject.org/projects/tor/wiki/doc/TransparentProxypara detalhes). Ele servirá como seu gateway e servidor DNS. Altere torrco arquivo padrão anexando esta configuração

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

e finalmente encaminhar todas as solicitações de sub-rede para o proxy TOR (configuração especial para tráfego 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

certifique-se de permitir o tráfego interno da sub-rede 10.8.1.0 em seu firewall.

A conexão a portas diferentes permitirá que você mude da rede TOR para uma conexão normal à Internet por meio de VPN. Nenhuma configuração de cliente é necessária.

informação relacionada