encaminhamento de porta para servidor backend

encaminhamento de porta para servidor backend

Estou executando um servidor openvpn no meu VPS com um IP público. Existe um servidor backend conectado à VPN. Estes são os IPs na VPN: VPS: 10.8.0.1 servidor backend: 10.8.0.2. eth0 é a interface pública, tun0 é a interface VPN

Agora, gostaria de encaminhar, por exemplo, a porta 22 do servidor backend para a porta 2200 do VPS. Aqui está o que fiz no VPS (baseado em vários tutoriais e perguntas já feitas):

  1. porta aberta 2200
  2. encaminhamento IPv4 habilitado
  3. coloque isso em /etc/ufw/before.rules (sim, estou usando o ufw e funciona corretamente):

    *nat

    :PRÉ-ROTE ACEITAR [0:0]

    :POSTROUTING ACEITAR [0:0]

    -A PRÉ-ROUTING -i eth0 -p tcp --dport 2200 -j DNAT --to-destination 10.8.0.2:22

    -A POSTROUTING -d 10.8.0.2 -p tcp --dport 22 -j SNAT --to-source VPS-public-IP:2200

    -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

  4. Recarreguei o ufw ou até reiniciei tudo...

  5. Tentei outras soluções, comentando algumas linhas (como a primeira regra POSTROUTING acima). Nada -obviamente- ajudou.

A saída de nmap VPS-public-IP -p 2200diz que a porta está 'filtrada' e quando tento fazer ssh para a porta 2200, ela simplesmente trava e não faz nada, nem recebo nenhum erro - isso também acontece quando tento fazer ssh do VPS para o servidor backend pela VPN (que normalmente funciona). o que estou perdendo?

Responder1

Para pessoas que ainda podem estar procurando uma solução.

Dependendo da sua política FORWARD (assumindo seu DROP)

iptables -t nat -A PREROUTING -p tcp -d xx.xx.xxx.xxx --dport 80 
         -j DNAT --to-destination yyy.yyy.yy.yy:80
iptables -A FORWARD  -p tcp -d yyy.yyy.yy.yy --dport 80 -j ACCEPT
Result:  x:80 --> X --y:80--> Y

iptables -t nat -A POSTROUTING -p tcp -d yyy.yyy.yy.yy --dport 80
         -j SNAT --to-source xx.xx.xxx.xxx
Result:  x:80 --> X <--y:80--> Y

iptables -A FORWARD  -p tcp -s yyy.yyy.yy.yy --sport 80 -j ACCEPT
Result:  x:80 <--> X <--y:80--> Y

Também pode adicionar esta regra para conexões iniciadas localmente: x --> x:80

iptables -t nat -A OUTPUT -p tcp --dport 80 -d xx.xx.xxx.xxx
         -j DNAT --to-destination yyy.yyy.yy.yy:80  
Result:       
  x:80 ->- X <--y:80--> Y
     |_____V

informação relacionada