OpenVPN desde AWS en Office

Estoy tratando de build una pasarela OpenVPN desde mi VPC -> a la networking de la oficina . He configurado con éxito un cliente VPN en una de mis instancias de EC2 (vamos a nombrarlo "pasarela") y ahora tiene la interfaz virtual VPN "tun0".

Ahora quiero enrutar todo el tráfico relacionado con la oficina (dst 172.20.0.0/16) del rest de instancias de EC2 en el VPC a la interfaz de networking de "pasarela" (10.0.0.100).

He intentado dos enfoques diferentes:

  • agregue una nueva regla a la tabla de routes de AWS relacionada: 172.20.0.0/16 -> eni-XXX (donde eni-XXX es un id de la interfaz de "pasarela");
  • actualizar tabla de routes de EC2: route add -net 172.20.0.0 netmask 255.255.0.0 gw 10.0.0.100

Ambas variantes parecen fallar porque ejecutar "tcpdump -i eth0 'puerto src no 22 y puerto dst no 22'" en la puerta de enlace y curling / ping en la oficina interna ips muestra nada 🙁

¿Alguien tiene una idea sobre lo que está mal? O puede tener una solución de masa para mi problema?

Y la segunda pregunta. Una vez que obtengo mi tráfico en eth0 de la pasarela, planeo reenviarlo a la connection VPN usando los siguientes commands 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 

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

Su enfoque es subóptimo. Debe utilizar un Gateway privado virtual de AWS para conectar su oficina a su VPN, no conectarse a una VPN en una instancia de EC y tratar de encaminar desde allí.

Dar que ir, la documentation es buena, y si tienes problemas que probablemente debería iniciar una nueva pregunta. Si no puede usar esta solución, debe editar su pregunta para include más detalles sobre su caso de uso.

Ok, así que mi principal problema fue con AWS – no permite la ruta de tráfico entre instancias de EC2 de forma pnetworkingeterminada. Para corregir este momento uno debe desactivar Src / Dst comprobar su "pasarela" instancia. Después de añadir una ruta a la tabla de routes de AWS, que networkingirecciona todo el tráfico dirigido a la oficina a su instancia ec2 "gateway" (por ejemplo, 172.20.0.0/16 -> eni-XXX – donde eni-XXX es un id de la interfaz de la pasarela) multa.

En cuanto a la transmisión de tráfico de la interfaz de networking pública (eth0) a la interfaz de networking virtual OpenVpn, iptables resuelve esto 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 iptables -t nat -A POSTROUTING --out-interface tun0 -j MASQUERADE 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 VPC sub-networking y "172.20.0.0/16" es la networking 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.