Главная страница


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Wladimir Mutel                       2:5020/400     09 Jul 2006  11:38:28
 To : All
 Subject : iptables & dynamic interfaces
 -------------------------------------------------------------------------------- 
 
   Привет,
 
   Иногда сталкиваюсь со странной проблемой. Если создать
   правила iptables с указанием в них интерфейса, который
   ещё не существует, то после появления этого интерфейса
   правила могут произвольным образом не работать.
   К примеру, создаём
 
 *nat
 :PREROUTING ACCEPT
 :POSTROUTING ACCEPT
 :OUTPUT ACCEPT
 -A POSTROUTING -o ippp+ -j MASQUERADE
 COMMIT
 *filter
 :INPUT DROP
 :FORWARD DROP
 :OUTPUT DROP
 -A FORWARD -i eth0 -o ippp+ -p tcp -m multiport --dports \
   22,53,110,119,993,995 -m state --state NEW -j ACCEPT
 -A FORWARD -i eth0 -o ippp+ -p udp -m udp --dport 53 -j ACCEPT
 -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
 -A FORWARD -j LOG --log-prefix "IPT FORWARD packet DROP: "
 COMMIT
 
   И после поднятия интерфейса ippp0 (ISDN) оказывается,
   что маскарад вовсе не работает, пока не перезагрузим
   все правила iptables (iptables-save | iptables-restore,
   но думаю, хватило бы пересоздания только одного
   маскарадного правила).
 
   Или другой простой пример -
 
 *filter
 :INPUT DROP
 :FORWARD DROP
 :OUTPUT DROP
 -A INPUT -s 192.168.x.0/255.255.255.0 -i eth0 -j ACCEPT
 -A INPUT -i lo -j ACCEPT
 -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
 -A INPUT -i dvb0_0 -p udp -j ACCEPT
 -A INPUT -j LOG --log-prefix "IPT INPUT packet DROP: "
 COMMIT
 
   И после создания dvb0_0 (szap, dvbnet, ifconfig) может
   оказаться, что пакетики идут на интерфейс по показаниям
   tcpdumpa, но не идут дальше на tcp/ip-стек и на процесс,
   открывший сокет (globax). Также недоходящие пакетики не попадают
   и на последнее правило LOG. Всё это тоже длится до тех пор, пока
   правила не перезагрузишь в их неизменном виде (пересоздавать
   только одно правило про dvb0_0 не пробовал).
 
   В других, менее экзотических системах, где интерфейсы только
   eth+ и ppp+ (serial/modem/pppoe/pptp), такой похабщины
   не наблюдается.  Может быть, Harald Welte и разработчики ядра
   предусмотрели только их поведение (появление, исчезновение,
   смена IP-адреса), но не других ? А может быть, дело в политике
   DROP? (на других системах она ACCEPT, с явным LOG/DROP
   в конце каждой цепочки).
 
   В общем, кто глубоко копал, поделитесь своими находками.
   Заранее благодарен.
 --- ifmail v.2.15dev5.3
  * Origin: Demos online service (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 iptables & dynamic interfaces   Wladimir Mutel   09 Jul 2006 11:38:28 
 Re: iptables & dynamic interfaces   Aleksey Barabanov   09 Jul 2006 15:56:48 
 Re: iptables & dynamic interfaces   Eugene B. Berdnikov   10 Jul 2006 00:08:26 
Архивное /ru.linux/6577217b43ad.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional