LINUX.ORG.RU
ФорумAdmin

Поясните, для чего вот здесь...


0

0

http://www.opennet.ru/base/net/nat_redirect.txt.html

нужна строка
iptables -A FORWARD -i eth0 -d $LOCAL_IP -p tcp --dport $PORT2 -j ACCEPT и что реально она делает?

Ну первая строчка переадресует все пакеты, посылаемые на 80 порт роутера 80-му порту локального вебсервера. Все, все работает. Форвардинг какой-то не понятный нафига здесь?

anonymous

Re: Поясните, для чего вот здесь...

это для тех, у кого

iptables -P FORWARD DROP

т.е. любой форвард по умолчанию запрещён

theserg ★★★ ()
Ответ на: Re: Поясните, для чего вот здесь... от anonymous

Re: Поясните, для чего вот здесь...

блин, или разрешает форвардинг роутеру на 80 порт локального веб-хоста? запутался нафик... =(

anonymous ()
Ответ на: Re: Поясните, для чего вот здесь... от theserg

Re: Поясните, для чего вот здесь...

Ну если echo 1 > /proc/sys/net/ipv4/ip_forward, то зачем его явно прописывать? или это для тех случаев, когда он не прописан таким вот образом? и где это написано, что нат без форвардинга не работает? В руководстве по iptables написано: "В дополнение к этим правилам вам может потребоваться написать дополнительные правила для цепочки FORWARD таблицы filter." В каком случае конкретно нужно к нату прописывать и форвардинг? Что-то я совсем получается не понимаю физику работы нат... Может кто объяснит? Особенно интересует форвардинг в данном контексте...

anonymous ()

Re: Поясните, для чего вот здесь...

грубо:
порядок цепочек для проходящего пакета:
prerouting
forward
postrouting
iptables -t nat -A PREROUTING -p tcp -d $EXT_R_IP --dport $PORT1 -j DNAT --to-destination $LOCAL_IP:$PORT2

Все теперь в пакете в качестве dest_ip имеется LOCAL_IP в качестве dst_port - $PORT2.

Дальше у нас цепочка forward если не разрешим
iptables -A FORWARD -i eth0 -d $LOCAL_IP -p tcp --dport $PORT2 -j ACCEPT

то пакет дропнется.

tugrik ★★ ()
Ответ на: Re: Поясните, для чего вот здесь... от anonymous

Re: Поясните, для чего вот здесь...

echo "1" > /proc/sys/net/ipv4/ip_forward
Это разрешает ядру перебрасывать пакеты с интерфейса на интерфейс, к iptables отношения не имеет.

# iptables -A FORWARD -i eth0 -d $LOCAL_IP -p tcp --dport $PORT2 -j ACCEPT
Это разрешает iptables пропускать пакеты с интерфейса на интерфейс.
Если политика iptables в цепочке FORWARD по умолчанию ACCEPT, то правило -- лишнее (но не мешает)

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