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

iptables переадресация портов NAT не работает

У меня проблема с переадресацией портов. Мой случай предельно прост. Я хочу подключиться к удаленному серверу, но есть ограничение IP. Только мой основной сервер может подключаться. Я хотел бы иметь возможность подключиться к удаленному серверу с третьим компьютером:

Третий компьютер (10.10.0.2) ====> основной сервер (172.16.15.3) ====> удаленный сервер (192.168.10.5:80)

На самом деле я использую SSH порт вперед:

ssh -L 12345:192.168.10.5:80 user@172.16.15.3
wget 127.0.0.1:12345

Но мне нужно управлять SSH-соединением и всегда проверять, работает ли туннель. Вот почему я хочу использовать NAT, но он вообще не работает! Главный сервер находится на Fedora.

sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 1

Я пробовал это сделать:

iptables -A PREROUTING -t nat -i enp3s0 -p tcp --dport 81 -j DNAT --to-destination 192.168.10.5:80
iptables -A FORWARD -p tcp -d 192.168.10.5 --dport 80 -j ACCEPT
iptables -A POSTROUTING -t nat -s 192.168.10.5 -o enp3s0 -j MASQUERADE

Но когда я пытаюсь подключиться, я вижу свой входящий пакет с tcpdump, но исходящего пакета нет

telnet 172.16.15.3 81

Ты хоть представляешь, как это исправить?

С уважением