
¿Es posible configurar openVPN para enrutar todas las conexiones de los clientes a través de un puerto de calcetines? es decir, quiero que la configuración sea:
Client -> openvpn server -> localhost socks5 port -> socks5 port forward -> the internet
machine 1 machine 2 machine 2 machine 3
¿Cómo haría para hacer eso?
Hasta ahora he estado haciendo lo mismo pero con un túnel SSH en lugar de VPN y, aunque ha funcionado bien, agregaré nuevos dispositivos que no realizan túneles SSH tan bien como VPN.
Respuesta1
No creo que puedas.
SOCKS no es un protocolo de red (capa 3), es un protocolo de capa 4, al igual que el resto de aplicaciones. Dejando OpenVPN (que opera en la capa 3) fuera de escena, los clientes normalmente tienen que ser conscientes de SOCKS si quieren enrutar su tráfico a través de un proxy SOCKS. Cada pieza de software cliente debe saber dónde está el proxy SOCKS, cada uno debe saber cómo abrir una conexión SOCKS a través de ese proxy, y así sucesivamente.
Cuando agrega OpenVPN a la imagen, las aplicaciones del cliente final no se vuelven más brillantes de repente. Un servidor OpenVPN remoto tampoco tiene la capacidad de activar SOCKSification mágicamente para cualquier tráfico de cliente que pase por él.
OpenVPNesConsciente de SOCKS en la medida en que puede construir sus túneles hacia nodos finales remotos a través de un proxy SOCKS local, pero creo que eso es todo.
Respuesta2
La respuesta de MadHatter es correcta, sin embargo sospecho que este es un caso deProblema XY. Si finaliza OpenVPN en una máquina que es capaz de enrutar y realizar NATing (léase: cualquier sistema operativo de servidor moderno), entonces es absolutamente posible configurar OpenVPN y dicha máquina para que actúe como un proxy de red en el sentido de que aparecerán las conexiones del cliente. en la Internet pública como si vinieran de la máquina proxy. Si este es el problema que estás intentando resolver, iptables NAT y algunos ajustes de enrutamiento funcionan muy bien para mí.