Como fazer o encaminhamento de porta para o servidor GNS3 (túnel SSH)?

Como fazer o encaminhamento de porta para o servidor GNS3 (túnel SSH)?

Eu tenho um servidor GNS3 e estou tentando adicionar regras de iptable para que quando alguém da minha equipe se conectar na porta 1100, seja roteado para um IP interno como 192.168.122.2:22. Este IP interno pertence a um bastion host de um projeto GNS3. O objetivo final é ser capaz de acessar os endereços IP internos de uma máquina local.

Esta é a aparência do meu IPTABLE (usando IP público falso 1.2.3.4, por exemplo):

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

Na minha máquina local, executo o comando . Ubuntu é o nome de usuário necessário para acessar o IP interno do projeto GNS3.ssh [email protected] -p1100

Após executar este comando, obtenho a seguinte saída no servidor GNS3 (1.2.3.4): cloud@gns3:~$ connect_to 192.168.122.2 port 1100: failed.

Parece que meu comando SSH está alcançando o servidor GNS3 e tenta fazer um encaminhamento de porta.No entanto, ele está tentando encaminhar para a porta 1100 em vez de 22 por algum motivo? Alguém consegue identificar o porquê?

Aqui está o que tentei até agora:

  1. Defina o encaminhamento de porta ipv4 como 1
  2. defina GatewayPorts e AllowTcpForwarding como 1 pol.
  3. rodou na máquina local (acho que isso mudou algumas configurações no servidor) -ssh -R 1.2.3.4:1100:192.168.122.2:22 [email protected]
  4. Adicionada regra ao IPtables usando comandosudo iptables --table nat --append PREROUTING --protocol tcp --destination 1.2.3.4 --dport 1100 --jump DNAT --to-destination 192.168.122.2:22
  5. Também adicionado Mascaramento:sudo /sbin/iptables -t nat -A POSTROUTING -j MASQUERADE

Responder1

Em vez de usar DNAT, deveria ser REDIRECIONADO de acordo com esta fonte:

https://fabianlee.org/2018/09/17/iptables-running-service-as-non-root-iptables-to-forward-from-privileged-port/

Então:

sudo iptables --table nat --append PREROUTING --protocol tcp --destination 1.2.3.4 --dport 1100 --jump REDIRECT --to-destination 192.168.122.2:22

informação relacionada