Есть машина с внешним IP. Интернет она получает через PPPoE (настроен через pppoe-setup), IP статический (но выдается автоматически). Всё это дело на eth0. Через вторую сетевую карту (eth1) подключена вторая машина. В этой подсети первая машина имеет адрес 192.168.1.1, вторая - 192.168.1.2.
Я хочу пробросить один порт через первую машину на вторую. Делал вот так:
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -p tcp -i ppp0 --dport 55512 -j DNAT --to 192.168.1.2:8080
Никаких других правил в iptables нет.
Результат - порт вроде бы открыт, однако ничего не работает. В примере выше - на порту 8080 второй машины висит веб-сервер, однако проблема от сервиса не зависит - с ssh такая же история.
Более того, всё повторяется один в один, если пробрасывать порт через eth1.
Скан портов через nmap показывает следующее:
55512/tcp filtered unknown
Вопрос - как это заставить работать, и почему не работает описанная выше конструкция?
Сильно не пинайте, с iptables я все еще на «вы» :)