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


ru.unix.bsd

 
 - RU.UNIX.BSD ------------------------------------------------------------------
 From : Vadim Goncharov                      2:5020/400     13 Apr 2007  18:17:54
 To : Eugene Grosbein
 Subject : Re: ipfw & broadcasts
 -------------------------------------------------------------------------------- 
 
 Hi Eugene Grosbein! 
 
 On Thu, 12 Apr 2007 09:18:44 +0400; Eugene Grosbein wrote about 'Re: ipfw &
 broadcasts':
 
  EG>> FreeBSD 6. В списке правил ipfw есть команда:
  EG>> ipfw add 1999 deny ip from any to me
  EG>> Как написать ipfw add 1900 skipto 2000 ....
  EG>> чтобы пропустить входящие бродкасты по порту 520?
  EG>> Интерфейсов много, со временем могут меняться, перечислять все
  EG>> broadcast address не предлагать.
  EG> Hачиная с 6.2, можно делать так:
  EG> sysctl net.link.ether.ipfw=1
  EG> # помечаем входящие бродкасты
  EG> ipfw add 30 allow tag 1 ip from any to any MAC ff:ff:ff:ff:ff:ff any in
  EG> # больше ничего на этапе фильтрования L2 не делаем
  EG> ipfw add 40 allow ip from any to any layer2
  EG> # Пропускаем входящие бродкасты по порту 520
  EG> ipfw add 1900 skipto 2000 udp from any to any 520 tagged 1
  EG> Только вот оно не работает. Тег, навешенный на этапе L2,
  EG> почему-то пропадает к этапу L3.
 
 Hе подтверждаю. Система 6.2-STABLE от 7 апреля, входной поток на em0
 не падает ниже 90 мегабит (11-13 kpps), загрузка по прерываниям порядка
 50%, сбор данных за 15 минут:
 
 # ipfw show 0-50
 00030   11803693   11263553938 count tag 1 ip from any to any MAC any any not
 MAC ff:ff:ff:ff:ff:ff any mac-type 0x0800 in recv em0
 00032   11803687   11263547330 count ip from any to any tagged 1 layer2 in recv 
 em0
 00040   43790172   36118469887 allow ip from any to any layer2
 00046   11803687   11263547330 count ip from any to any tagged 1 not layer2 in
 recv em0
 
 Видно, что несколько пакетов было непомечено (наиболее вероятно, по
 недостатку памяти), но все помеченные на L2 сохранили теги на L3. Такое
 жесткое (практически все пакеты) я сделал из расчета на наибольшую нагрузку
 на машину (и 6 пакетов таки да, не пометились), следом повторил только для
 броадкастов (мало ли, может codepath другой) - всё равно не подтверждается:
 
 # ipfw show 0-50
 00030       2726        333783 count tag 1 ip from any to any MAC
 ff:ff:ff:ff:ff:ff any mac-type 0x0800 in recv em0
 00032       2726        333783 count ip from any to any tagged 1 layer2 in recv 
 em0
 00040   40909904   34130575539 allow ip from any to any layer2
 00046       2726        333783 count ip from any to any tagged 1 not layer2 in
 recv em0
 
 -- 
 WBR, Vadim Goncharov. ICQ#166852181       mailto:vadim_nuclight@mail.ru
 [Moderator of RU.ANTI-ECOLOGY][FreeBSD][http://antigreen.org][LJ:/nuclight]
 --- slrn/0.9.8.1 on FreeBSD 4.11/i386
  * Origin: Nuclear Lightning @ Tomsk, TPU AVTF Hostel (2:5020/400@fidonet)
 
 

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

 Тема:    Автор:    Дата:  
 Re: ipfw & broadcasts   Vadim Goncharov   13 Apr 2007 18:17:54 
Архивное /ru.unix.bsd/103592b231b1b.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional