
Tengo un servidor Ubuntu 16.04 que ejecuta xl2tp y openvpn como servidor VPN. Sin embargo, quiero que el servidor esté conectado a un proxy SOCKS u otra conexión OpenVPN. Eso es:
client --> server --> vpn or socks server --> internet
En este momento, si realizo una solicitud curl
o wget
desde la terminal del servidor (para, por ejemplo, https://api.ipify.com/
), su tráfico claramente pasa por la segunda VPN o calcetines (he probado ambos). Sin embargo, si conecto un cliente al servidor a través de l2tp o openvpn, y luego intento lo mismo curl
o wget
desde el cliente, su tráfico sale directamente del servidor, en lugar del enrutador a través del segundo proxy vpn/socks.
En otras palabras, aunque lo que quiero es:
client --> server --> vpn or socks server --> internet
Lo que obtengo en su lugar es:
client --> server +---(server-native traffic)---> vpn2/socks --> internet
|
+---(client vpn traffic)----> internet
¿Cómo puedo lograr el resultado de forzar el tráfico de los clientes VPN a un segundo VPN o proxy Socks?
Me gustaría hacer esto de forma transparente- No puedo controlar cómo se conectan los clientes al servidor, pero puedo controlar el servidor.
Respuesta1
Han pasado cinco (5) años, casi exactamente el mismo día, desde que publiqué esta pregunta (¡santo temor existencial, Batman!). Por el bien de cualquiera que venga aquí desde una búsqueda en la web:
Utilice Wireguard
Pude resolver mi problema hace mucho tiempo conAlambreGuardia, compilado en el kernel de Linux a partir de la versión 5.6 (marzo de 2020) en adelante. Hay utilidades disponibles para plataformas móviles, de escritorio y de servidor.
Para aquellos que no quieren usar Wireguard o necesitan un proxy Tor, @HappyFace comentó recientemente que existen configuraciones de ejemplo.en un nuevo proyecto github centrado en Irán. No tengo idea si funcionan o no.
Wireguard ha satisfecho todas mis necesidades. Su esquema de networking es mucho más simple y fácil de aprender.