OpenVPN en Google Compute Engine: ¿qué ruta me falta?

OpenVPN en Google Compute Engine: ¿qué ruta me falta?

Instalé OpenVPN en otros proveedores de VPS y quería probar el de Google. Me gusta la relación precio/rendimiento de Google, y especialmente porque puedo hacer funcionar las máquinas desde mi teléfono sin tener que iniciar sesión cada vez.

Llegué al punto en que el cliente se conecta pero no puede acceder a Internet.

Abrí el firewall en el puerto OpenVPN.
He habilitado el reenvío de IP en la máquina virtual.
El cliente obtiene una IP, puerta de enlace, DNS (todo lo necesario) cuando se conecta.

Sospecho que tengo que construir un enrutador y/o una ruta para que los paquetes lleguen desde la instancia de OpenVPN al mundo. He leído muy bien la documentación, pero estoy estancado: todavía no soy un gurú de las redes y sigo aprendiendo sobre la marcha. A través de la lectura parece que puedo transformar la red en lo que ellos llaman la estructura "heredada", pero me gustaría poder superar este desafío y entender lo que está pasando. Creo que es porque la red está dividida en muchas subredes diferentes; en comparación con solo 1 red detrás del firewall (es decir, Legacy).

Mirando un mapa en mi mente, mi OpenVPN está enviando los datos a la puerta de enlace de su subred, pero desde allí creo que los paquetes se descartan. ¿Debo necesitar una ruta desde la puerta de enlace de subred a Internet? ¿O incluso un enrutador completo entre la subred e Internet?

Como dije, he usado máquinas virtuales OpenVPN antes, no hay problema. Así que estoy muy seguro de que el problema radica en la configuración de la red de Google Cloud.

Gracias por cualquier consejo.

Respuesta1

Esto lo solucionó:

iptables -t nat -I POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

Todavía no estoy seguro de por qué tuve que hacerlo, tal vez la imagen de Debian de Google esté más bloqueada que la instancia estándar de Diebian.

No fueron necesarios otros cambios en la red de Google Cloud.

Respuesta2

Necesitas verificar algunas cosas.

  1. Compruebe si tiene la siguiente directiva en /etc/sysctl.conf

    net.ipv4.ip_forward = 1

  2. Asegúrese de que el firewall reenvíe el tráfico recibido de los clientes en la interfaz VPN

    #OpenVPN interface=tun0 iptables -A FORWARD -i tun0 -j ACCEPT

  3. Asegúrate de enmascarar el tráfico saliente

#WAN Interface on OpenVPN server is eth1 iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

información relacionada