Encaminhamento de porta no Ubuntu, de ip público para um cliente

Encaminhamento de porta no Ubuntu, de ip público para um cliente

Em um VPS com servidor Ubuntu 20.04 instalado e OpenVPN, preciso encaminhar todo o tráfego de uma porta específica do ip público do vps, para a mesma porta de um cliente VPN.

IPs VPS:

vps public ip: 1.1.1.1
vps vpn ip: 10.8.0.1

IP do cliente:

vpn client ip: 10.8.0.2

Encaminhamento de porta para a porta 587:

1.1.1.1:587 >> 10.8.0.2:587

Tentei executar os comandos no VPS (1.1.1.1):

sudo iptables -t nat -A PREROUTING -p tcp --dport 587 -j DNAT --to-destination 10.8.0.2:587
sudo iptables -t nat -A POSTROUTING -p tcp -d 10.8.0.2 --dport 587 -j SNAT --to-source 1.1.1.1

Porém os pacotes não são encaminhados para o ip 10.8.0.2.

Alguma ideia de como o iptables deve ser configurado para fazer um encaminhamento de porta correto?

Responder1

Encontrei esta solução que está funcionando conforme o esperado:

sudo sysctl net.ipv4.ip_forward=1
sudo iptables -t nat -A PREROUTING -p tcp --dport 587 -j DNAT --to-destination 10.8.0.2:587
#exclude "lo" interface, otherwise dns service stop working
sudo iptables -t nat -A POSTROUTING ! -o lo -j MASQUERADE

informação relacionada