|
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)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/103592b231b1b.html, оценка из 5, голосов 10
|