Como configurar o dnat para uma porta encaminhada por ssh

0

Eu tenho duas máquinas e só posso ssh de uma para a outra (por quê? pergunte-me de novo algum dia ...). Então, eu gostaria de hackear isso para que eu possa efetivamente ssh nos dois sentidos.

O que eu fiz um dispositivo chamado h-linux-a (cujo endereço IP é 10.10.20.20)

ssh -R 2222:127.0.0.1:22 h-linux-b

no h-linux-b, eu testei que posso conectar-me com sucesso ao h-linux-a fazendo

ssh -p 2222 127.0.0.1

então no h-linux-b eu adicionei:

iptables -t nat -A OUTPUT -p tcp -d 10.10.20.20 --dport 22 -j DNAT --to-destination 127.0.0.1:2222

e quando eu faço

ssh 10.10.20.20

meu ssh apenas fica pendurado. Eu vejo o contador de visitas subir (por um, então não há tentativas) no iptables, e eu verifiquei o tcpdump na porta efêmera no h-linux-a para ver se eu estava recebendo tráfego voltando (eu não vejo nada exceto keepalives).

Parece que o meu comando iptables é o problema. Eu não uso muito a cadeia INPUT, principalmente PREROUTING e POSTROUTING, então não conheço as nuances.

    
por Peter Turner 26.01.2018 / 22:20

1 resposta

1

Em vez de:

iptables -t nat -A OUTPUT -p tcp -d 10.10.20.20 --dport 22 -j DNAT --to-destination 127.0.0.1:2222

Tente:

iptables -t nat -A OUTPUT -p tcp -d 10.10.20.20 --dport 22 -j REDIRECT --to-ports 2222

A cadeia de redirecionamento permite retornar o tráfego para a mesma máquina.

    
por 27.01.2018 / 05:47

Tags