Переадресация портов в Ubuntu с публичного IP на клиент

Переадресация портов в Ubuntu с публичного IP на клиент

На VPS с установленным сервером Ubuntu 20.04 и OpenVPN мне нужно перенаправить весь трафик с определенного порта публичного IP-адреса VPS на тот же порт VPN-клиента.

IP-адреса VPS:

vps public ip: 1.1.1.1
vps vpn ip: 10.8.0.1

IP-адрес клиента:

vpn client ip: 10.8.0.2

Переадресация порта 587:

1.1.1.1:587 >> 10.8.0.2:587

Я попробовал запустить команды на 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

Но пакеты не пересылаются на ip 10.8.0.2.

Есть идеи, как настроить iptables для корректной переадресации портов?

решение1

Я нашел это решение, которое работает так, как и ожидалось:

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

Связанный контент