OpenVPN de AWS a Office

OpenVPN de AWS a Office

Estoy intentando construir una puerta de enlace OpenVPNdemiVPC->eneloficinared. Configuré con éxito un cliente VPN en una de mis instancias EC2 (llamémoslo "puerta de enlace") y ahora tiene una interfaz virtual VPN "tun0".

Ahora quiero enrutar todo el tráfico relacionado con la oficina (dst 172.20.0.0/16) desde el resto de las instancias EC2 en la VPC a la interfaz de red de la "puerta de enlace" (10.0.0.100).

He probado 2 enfoques diferentes:

  • agregue una nueva regla en la tabla de rutas de AWS relacionada: 172.20.0.0/16 -> eni-XXX (donde eni-XXX es una identificación de la interfaz de la "puerta de enlace");
  • actualice la tabla de rutas de EC2: ruta agregar -net 172.20.0.0 máscara de red 255.255.0.0 gw 10.0.0.100

Ambas variantes parecen fallar porque ejecutar "tcpdump -i eth0 'src port not 22 and dst port not 22'" en la puerta de enlace y hacer ping/curvado a las ips internas de la oficina no muestra nada :(

¿Alguien tiene una idea de lo que está mal? ¿O tal vez tenga una mejor solución para mi problema?

Y la segunda pregunta. Una vez que obtenga mi tráfico en el eth0 de la puerta de enlace, planeo reenviarlo a la conexión VPN usando los siguientes comandos de IpTables:

iptables -t nat -A POSTROUTING -o tun0  -j MASQUERADE
iptables -A FORWARD -i eth0 -s 10.0.0.0/16 -o tun0 -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

¿Debería esperar algún problema aquí (excepto habilitar el reenvío de IP)?

Respuesta1

Su enfoque no es óptimo. Deberías utilizar un AWSPuerta de enlace privada virtualpara conectar su oficina a su VPN, sin conectarse a una VPN en una instancia EC e intentar enrutar desde allí.

Pruébelo, la documentación es buena y, si tiene problemas, probablemente debería comenzar una nueva pregunta. Si no puede utilizar esta solución, debe editar su pregunta para incluir más detalles sobre su caso de uso.

Respuesta2

Bien, mi principal problema fue con AWS: no permite enrutar el tráfico entre instancias EC2 de forma predeterminada. Para solucionar este momento se debe desactivarComprobación Src/Dstpara su instancia de "puerta de enlace". Después de eso, funciona agregar una ruta a la tabla de rutas de AWS que redirige todo el tráfico dirigido a su oficina a su instancia ec2 de "puerta de enlace" (por ejemplo, 172.20.0.0/16 -> eni-XXX, donde eni-XXX es una identificación de la interfaz de la puerta de enlace). bien.

En cuanto a reenviar tráfico desde la interfaz de red pública (eth0) a la interfaz de red virtual OpenVpn, iptables lo resuelve muy fácil:

iptables -F
iptables -t nat -F

iptables -t nat -A POSTROUTING --out-interface tun0 -j MASQUERADE
iptables -A FORWARD -i eth0 -s 10.0.0.0/16 -d 172.20.0.0/16 -o tun0 -j ACCEPT

donde "10.0.0.0/16" es la subred de VPC y "172.20.0.0/16" es la red de la oficina. Además, habilitar el reenvío de IP, por supuesto:

echo 1 > /proc/sys/net/ipv4/ip_forward
vim /etc/sysctl.conf <- net.ipv4.ip_forward = 1

Gracias a todos por sus respuestas.

información relacionada