Назад | Перейти на главную страницу

Маршрутизация порта с помощью iptables с общедоступного IP-адреса на IP-адрес VPN

Я пытаюсь перенаправить трафик с порта 9999 на общедоступном IP-адресе на частный IP-адрес на порту 99 с VPN посередине. Допустим, у меня есть общедоступный IP-адрес X.X.X.X, который, когда я вхожу в порт 9999, я хочу перенаправить его через VPN.

Общедоступная IP-машина также имеет сервер OpenVPN, а именно: X.X.X.X eth0 и 10.0.8.1 tun0 Промежуточная машина имеет 10.8.0.10 tun0 и 192.168.8.4 eth0 Целевой компьютер имеет 192.168.8.2 и прослушивает порт 99

Причина, по которой мне нужна промежуточная машина, заключается в том, что конечная машина - это CAM. Поскольку мое подключение к Интернету находится под CGNAT, мне нужно перенаправить весь трафик CAM через VPN.

В публичной машине я использовал:

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -p tcp --dport 9999 -j DNAT --to-destination 10.8.0.10:9999
iptables -t nat -A POSTROUTING -p tcp -d 10.8.0.10 --dport 9999 -j SNAT --to-source X.X.X.X

В промежуточной машине (raspberry pi) я использовал:

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -p tcp --dport 9999 -j DNAT --to-destination 192.168.8.2:99
iptables -t nat -A POSTROUTING -p tcp -d 192.168.8.2 --dport 99 -j SNAT --to-source 10.0.8.10

Если я сделаю пинг с 10.0.8.1 на 10.0.8.10, то соединение существует, а также на другой стороне.

Однако трафик не маршрутизируется, и когда я вхожу в браузер на X.X.X.X: 9999, не работает. Любая идея?

Спасибо.