GNU/Linux >> Tutoriales Linux >  >> Linux

AWS VPC + IPtables + NAT:el reenvío de puertos no funciona

Finalmente, lo descifré !!!!

En la instancia de NAT, tuve que cambiar el siguiente comando:

De:

iptables -t nat -A POSTROUTING -o eth0 -s 10.0.0.0/16 -j MASQUERADE

Para:

iptables -t nat -A POSTROUTING -j MASQUERADE

Y FUNCIONÓ!!!!

Por lo tanto, pronto crearé una nueva pregunta en ServerFault preguntando cuáles son las ventajas y desventajas de usar los dos comandos anteriores.


  • Asegúrese de que está permitiendo el puerto tcp 2222 entrante desde 0.0.0.0/0 en el grupo de seguridad de tu nat box
  • Asegúrese de que la "Tabla de enrutamiento" de su VPC esté configurada correctamente.
  • Al menos dos tablas separadas (una asociada con la subred privada, otra asociada con la subred pública)
  • Tu 10.0.1.0 La subred (privada) debe tener una regla de tabla de rutas como:Destino:0.0.0.0/0 , Objetivo:"Caja nacional"
  • Tu 10.0.0.0 La subred (pública) debe tener una regla de tabla de rutas como:Destino:0.0.0.0/0 , Destino:"Puerta de enlace de Internet"
  • Asegúrese de tener la verificación de origen/destino deshabilitada en la NIC para su caja NAT, no hay diversión NAT sin ella. (Sé que ya tienes esto, pero es realmente importante, así que incluyéndolo para algún futuro espectador)

  • Asegúrese de que los paquetes salientes sepan adónde ir:

    iptables --table nat --append POSTROUTING --source 10.0.0.0/16 --destination 0.0.0.0/0 --jump MASQUERADE

  • Asegúrese de que los paquetes entrantes lleguen a 2222 ser redirigido correctamente:

    iptables --table nat --append PREROUTING --protocol tcp --dport 2222 --jump DNAT --to-destination 10.0.1.243:22


Estas publicaciones me ayudaron mucho a comprender AWS NAT. Así que comencé a investigar qué hizo iptables -t nat -A POSTROUTING -j MASQUERADE funcionó.

Bueno, la respuesta que encontré en la declaración anterior es permitir que la caja NAT genere NAT en la IP 'LAPTOP' a '10.0.0.54' mientras que al mismo tiempo realiza NAT de destino a 10.0.1.243. En este momento, el cuadro de subred privada es una solicitud ssh que proviene solo del dispositivo NAT. Este comando en realidad está disminuyendo la seguridad del servidor de subred privada. Se recomienda usar el siguiente comando para ajustar el acceso a la subred privada a través de ssh y el cuadro NAT como se menciona a continuación;

iptables --table nat --append POSTROUTING --source "INTERNET IP of the Laptop" --destination 10.0.1.243 --jump MASQUERADE

Linux
  1. Linux:¿los auriculares no funcionan en Linux Mint 18?

  2. ¿R 3.5.0 no funciona en Ubuntu 18.04?

  3. jps no funciona

  4. Permitir FTP con IPTables

  5. sudo no funciona en ciertos comandos

Administre AWS VPC usando aws-cli

fflush() no funciona en Linux

linux limites.conf no funciona?

Reenvío de RDP a través de una máquina Linux usando iptables:no funciona

Cómo configurar iptables para que un puerto no deseado no se informe como filtrado

Apache no funciona en AWS Linux después de reiniciar:código de respuesta 301