LINUX.ORG.RU
ФорумAdmin

Проброс порта посредством iptables

 


0

1

Нужно пробросить порт в локальную сеть при помощи iptables. Сейчас NAT делается строкой

iptables -A POSTROUTING -s 172.16.0.0/12 ! -d 172.16.0.0/12 -j MASQUERADE 
Теперь пытаюсь пробросить tcp-порт 6666 на компьютер за натом:
-A PREROUTING -d внешний_ip/32 -p tcp -m tcp --dport 6666 -j DNAT --to-destination 172.16.0.2:6666

Данный порт слушает демон ssh. Пытаюсь зайти на него из Интернета, но пишет «Network is unreachable».

Также, если удастся разобраться, хотелось бы делать это без указания внешнего IP-адреса вручную.

Если что, то вот полный конфиг iptables: http://tim474.dhis.org/stuff/iptables

☆☆☆☆☆

Последнее исправление: cetjs2 (всего исправлений: 1)

-A PREROUTING -i $внешний_интерфейс -p tcp -m tcp --dport 6666 -j DNAT --to-destination 172.16.0.2:6666

Разрешить форвард тоже надо)

-A FORWARD -d 172.16.0.2 -j ACCEPT 

Kuzz ★★★
()
Ответ на: комментарий от Kuzz

Да, про фильтр забыл, спасибо. Теперь приступим к следующему шагу :)

Ttt ☆☆☆☆☆
() автор топика

Также, если удастся разобраться, хотелось бы делать это без указания внешнего IP-адреса вручную.

В вашем же выводе iptables-save и написано:

-A PREROUTING -i ppp0

Или в чём вопрос? Можно ещё добавить "-m addrtype --dst-type LOCAL" — это будет работать для всех адресов, назначеных на один из интерфейсов сервера.

mky ★★★★★
()
Ответ на: комментарий от mky

Это я уже поправил. На момент задания вопроса такого там не было.

Ttt ☆☆☆☆☆
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.