%3F.png)
Tengo un servidor GNS3 y estoy intentando agregar reglas de iptable para que cuando alguien de mi equipo se conecte en el puerto 1100, sea enrutado a una IP interna como 192.168.122.2:22. Esta IP interna pertenece a un host bastión de un proyecto GNS3. El objetivo final es poder acceder a las direcciones IP internas desde una máquina local.
Así es como se ve mi IPTABLE (usando la IP pública falsa 1.2.3.4, por ejemplo):
Chain PREROUTING (policy ACCEPT)
num target prot opt source destination
1 DNAT tcp -- 0.0.0.0/0 1.2.3.4 tcp dpt:1100 to:192.168.122.2:22
Chain INPUT (policy ACCEPT)
num target prot opt source destination
Chain OUTPUT (policy ACCEPT)
num target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
num target prot opt source destination
1 MASQUERADE all -- 0.0.0.0/0 0.0.0.0/0
Chain DOCKER (0 references)
num target prot opt source destination
Chain LIBVIRT_PRT (0 references)
num target prot opt source destination
Desde mi máquina local, ejecuto el comando . Ubuntu es el nombre de usuario necesario para acceder a la IP interna del proyecto GNS3.ssh [email protected] -p1100
Después de ejecutar este comando, obtengo el siguiente resultado en el servidor GNS3 (1.2.3.4):
cloud@gns3:~$ connect_to 192.168.122.2 port 1100: failed.
Parece que mi comando SSH está llegando al servidor GNS3 e intenta realizar un reenvío de puerto.Sin embargo, ¿está intentando reenviar al puerto 1100 en lugar del 22 por alguna razón? ¿Alguien puede identificar por qué?
Esto es lo que intenté hasta el momento:
- Establezca el reenvío de puertos ipv4 en 1
- establezca GatewayPorts y AllowTcpForwarding en 1 pulgada
- se ejecutó en la máquina local (creo que esto cambió algunas configuraciones en el servidor) -
ssh -R 1.2.3.4:1100:192.168.122.2:22 [email protected]
- Regla agregada a IPtables usando el comando
sudo iptables --table nat --append PREROUTING --protocol tcp --destination 1.2.3.4 --dport 1100 --jump DNAT --to-destination 192.168.122.2:22
- También se agregó Enmascaramiento:
sudo /sbin/iptables -t nat -A POSTROUTING -j MASQUERADE
Respuesta1
En lugar de utilizar DNAT, debería REDIRECTAR según esta fuente:
Entonces:
sudo iptables --table nat --append PREROUTING --protocol tcp --destination 1.2.3.4 --dport 1100 --jump REDIRECT --to-destination 192.168.122.2:22