ipfw show
00100 0 0 allow ip from any to any via lo0
00200 0 0 deny ip from any to 127.0.0.0/8
00300 0 0 deny ip from 127.0.0.0/8 to any
00400 2 96 allow tcp from any to any dst-port 22 via em1
00500 2 80 allow tcp from any 22 to any via em1
00600 385568 48168678 nat 1 ip from table(0) to any out via em0
00700 508090 560540026 nat 1 ip from any to any in via em0
00800 919599 610498805 allow ip from any to any
00900 0 0 allow tcp from any to any dst-port 80
01000 0 0 deny ip from any to any MAC any 00:1c:c0:f1:cb:c8 mac-type 0x0800
65535 0 0 deny ip from any to any
.
но компьютер с таким MAC свободно проходит через NATиз локальной сети в интернет.Я помню в линуксовом iptables фильтрация по MAC не работала пока строку бана не поставишь в начало цепочки
Так работала
Я не слишком плотно имел дело именно с этим файрволом.
Но, насколько помню, так и есть.
Пакет проходит через кучу правил, пока не наткнётся на подходящее.
Как только наткнулся, остальные правила к нему не применяются.
Посмотрите документацию, как именно и в каком порядке обрабатываются правила.
Пускай скрипят мои конечности.
Я - повелитель бесконечности... Мой блог
Фильтрация по MAC заголовкам и использование систем защиты сетей на
уровне 2.
ipfw1 не осуществляет фильтрацию по полям MAC заголовков на пакетах
вызванных, ни от ether_demux() ни от ether_output_frame(). Переменная
sysctl net.link.ether.ipfw там не действует.
Варианты
Следующие варианты не поддерживаются в ipfw1
dst-ip, dst-port, layer2, mac, mac-type, src-ip, src-port.
Дополнительно, следующие варианты не поддерживаются в правилах ipfw1
(RELENG_4):
ipid, iplen, ipprecedence, iptos, ipttl, ipversion, Cm tcpack, tcpseq,
tcpwin.
Вот так IPFW. Получается что нельзя вообще здесь фильтровать MAC?
но когда я егто прописываю в sysctl то вся ЛС падает А падает она по-видимому по следующим причинам
"если протокол построен по принципу все запрещено кроме разрешенного блокируется также широковещательный трафик arp протокола,
поэтому обычно упрощают правила с помощью признака layer2, о чем есть соответствующая запись в man ipfw"- Как раз мой случай
Как этой lнyer2 прописать?
Фильтрация по MAC заголовкам и использование систем защиты сетей на
уровне 2.
ipfw1 не осуществляет фильтрацию по полям MAC заголовков на пакетах
вызванных, ни от ether_demux() ни от ether_output_frame(). Переменная
sysctl net.link.ether.ipfw там не действует.
Варианты
Следующие варианты не поддерживаются в ipfw1
dst-ip, dst-port, layer2, mac, mac-type, src-ip, src-port.
Дополнительно, следующие варианты не поддерживаются в правилах ipfw1
(RELENG_4):
ipid, iplen, ipprecedence, iptos, ipttl, ipversion, Cm tcpack, tcpseq,
tcpwin.
Вот так IPFW. Получается что нельзя вообще здесь фильтровать MAC?
все таки перед заданием вопросов рекомендую воспользоваться поиском - это здорово помогает
но это на будущее, а пока кратко - по умолчанию у вас правило по умолчанию - запрет на все. и когда вы включаете ipfw на 2ом уровне - вы именно это и получаете. то есть либо вы ставите разрешение на все и пишете тех, кому запрещено, либо прописываете разрешенные маки
но когда я егто прописываю в sysctl то вся ЛС падает А падает она по-видимому по следующим причинам
"если протокол построен по принципу все запрещено кроме разрешенного блокируется также широковещательный трафик arp протокола,
поэтому обычно упрощают правила с помощью признака layer2, о чем есть соответствующая запись в man ipfw"- Как раз мой случай
Как этой lнyer2 прописать?
-= freeBSD stable, fluxbox =-
"если ты будешь со мной спорить, я тебя запишу в книжечку!" (с) Ежик