Enrutar una conexión VPN a un proxy de calcetines en el mismo servidor

Enrutar una conexión VPN a un proxy de calcetines en el mismo servidor

Estoy ejecutando un VPS con el servicio OpenVPN. En el mismo servidor también configuré un proxy de calcetines local (es Tor, pero no creo que realmente importe en este caso).

¿Puedo de alguna manera enrutar mi conexión VPN a ese proxy de calcetines, sin ningún cambio en la configuración de mi navegador/dispositivo local?

La conexión que quiero configurar se parece a

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

veo dos opciones

1) El enrutamiento ocurre completamente en el servidor, de forma transparente para un cliente

2) La VPN impulsa las opciones de proxy (ya que puede impulsar rutas, servidores DNS, etc.)

pero no tengo idea de cómo lograr ninguno de los dos.

Con frecuencia uso OpenVPN para evitar el bloqueo, y quiero usar la misma rutina para conectarme a la red Tor tanto desde dispositivos Windows como Android, sin molestarme en cambiar la configuración del proxy, ejecutar Tor/orbot local, etc. Lo ideal es ejecutarlo junto con una conexión VPN normal que dirige todo el tráfico a Internet (esto ya está configurado y funciona bien) pero en un puerto diferente.

Respuesta1

Finalmente llegué a eso.

Primero necesitas ejecutar otra instancia de OpenVPN. Simplemente copie su openvpn/server.conf y cambie

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

es posible que desee generar otro par de claves.

Luego inicia TOR en modo proxy transparente (tenga en cuenta que la documentación oficial enumera este modo como potencialmente inseguro; consultehttps://trac.torproject.org/projects/tor/wiki/doc/TransparentProxypara detalles). Servirá como puerta de enlace y servidor DNS. Cambiar torrcel archivo predeterminado agregando esta configuración

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

y finalmente enrutar todas las solicitudes de subred al proxy TOR (configuración especial para el tráfico 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

asegúrese de permitir el tráfico interno de la subred 10.8.1.0 en su firewall.

Conectarse a diferentes puertos le permitirá cambiar de la red TOR a una conexión a Internet normal a través de VPN. No es necesaria ninguna configuración del cliente.

información relacionada