[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Действие DROP в nat/POSTROUTING и nat/PREROUTING



Alexander Tyurin -> debian-russian  @ Tue, 29 Jul 2008 01:13:13 +0400:

 AT> Приветствую!
 AT> Есть хост 192,168,1,20. Все последующие правила прописаны именно на этом
 AT> хосте.

 AT> При правиле
 AT> iptables -A INPUT  -p tcp -d 192.168.1.20  -j DROP
 AT> доступа к сетевым ресурсам нет. Логично.

 AT> При
 AT> iptables -A OUTPUT  -p tcp -s 192.168.1.20  -j DROP
 AT> нет доступа к ресурсм сети. Логично.

 AT> При
 AT> iptables -t nat -A POSTROUTING  -p tcp -s 192.168.1.20  -j DROP
 AT> доступа нет. Вот тут уже интересно т.к. не понятно почему.

 AT> При iptables -t nat -A PREROUTING  -p tcp -d 192.168.1.20  -j DROP
 AT> а вот это правило не понятно почему не действует. Никаких проблем с коннектом
 AT> у хоста не возникает. Кто-нить может объяснить такую разницу в поведении 2х
 AT> последних правил?

Правило в цепочке nat срабатывает только на первый пакет "соединения" (в
кавычках, потому что имеется в виду соединение в понимании conntrack, а
не в строгом; т.е. ответ на DNS-запрос будет считаться вторым пакетом
соединения).  Просторечное "доступ к сетевым ресурсам" переводится как
"первый пакет - исходящий".  Через цепочку POSTROUTING он в силу этого
пройдет, а через цепочку PREROUTING - нет.

Интересно, почему до меня этого никто не сказал?..  Впрочем, я и сам
как-то не прямо сразу сообразил.

Вообще же дропать пакеты в цепочках nat и mangle без крайней
необходимости не рекомендуется.  Но для экспериментов и осознания
принципов работы, конечно, можно и полезно.

А самое лучшее изложение, которое я видел -

http://iptables-tutorial.frozentux.net/

Заняться, что ли, переводом?..

-- 
Artem Chuprina
RFC2822: <ran{}ran.pp.ru> Jabber: ran@jabber.ran.pp.ru

Don't worry about what anybody else is going to do. The best way to
predict the future is to invent it.
 -- Alan Kay


Reply to: