if_bridge + ipfw

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Aidaho
рядовой
Сообщения: 47
Зарегистрирован: 2008-11-19 13:13:29
Контактная информация:

if_bridge + ipfw

Непрочитанное сообщение Aidaho » 2009-04-08 12:33:18

Добрый день.
Не могу разобраться со следующей проблемой:
Есть бридж и пара каталистов: <--trunk--><--bridge--><--trunk-->.
На бридже поднят бридж ) с помощью if_bridge:

Код: Выделить всё

fxp0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
        options=8<VLAN_MTU>
        ether 00:a0:c9:65:c1:35
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
fxp1: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
        options=8<VLAN_MTU>
        ether 00:90:27:85:b7:95
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
rl0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
        options=8<VLAN_MTU>
        ether 4c:00:10:60:67:ca
        media: Ethernet autoselect
        status: no carrier
re0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        options=1b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING>
        inet 192.168.5.28 netmask 0xffffff00 broadcast 192.168.5.255
        ether 00:0f:ea:f9:a6:ff
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
plip0: flags=108810<POINTOPOINT,SIMPLEX,MULTICAST,NEEDSGIANT> mtu 1500
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x6 
        inet6 ::1 prefixlen 128 
        inet 127.0.0.1 netmask 0xff000000 
bridge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        ether b6:c3:a2:cc:06:65
        id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15
        maxage 20 holdcnt 6 proto stp maxaddr 100 timeout 1200
        root id 00:00:00:00:00:00 priority 32768 ifcost 0 port 0
        member: fxp1 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
        member: fxp0 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
так вот, проблема в том, что трафик проходящий через bridge0 или интерфейсы мемберы не фильтруется...

переменные sysctl:

Код: Выделить всё

net.link.ether.bridge_cfg: 
net.link.ether.bridge_ipfw: 1
net.link.ether.bridge_ipf: 0
net.link.ether.bridge.config: 
net.link.ether.bridge.enable: 0
net.link.ether.bridge.predict: 0
net.link.ether.bridge.dropped: 0
net.link.ether.bridge.packets: 0
net.link.ether.bridge.ipfw_collisions: 0
net.link.ether.bridge.ipfw_drop: 0
net.link.ether.bridge.copy: 0
net.link.ether.bridge.ipfw: 1
net.link.ether.bridge.ipf: 0
net.link.ether.bridge.debug: 0
net.link.ether.bridge.version: 031224
net.link.bridge.pfil_onlyip: 0
net.link.bridge.ipfw_arp: 0
net.link.bridge.pfil_bridge: 1
net.link.bridge.pfil_member: 1
net.link.bridge.pfil_local_phys: 1
net.link.bridge.log_stp: 0
net.link.bridge.ipfw: 1

Код: Выделить всё

00100        0          0 allow ip from 192.168.5.20 to any layer2 via bridge0
00200        0          0 allow ip from 192.168.5.20 to any  via bridge0
00100        0          0 allow ip from 192.168.5.20 to any fxp1
65535 12581672 4426371331 allow ip from any to any
но при этом если вместо, какой нибудь циски я втыкаю например ноут бук, то правила срабатывают...
версия freebsd 6.3
в чем может быть проблема?

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
hizel
дядя поня
Сообщения: 9031
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: if_bridge + ipfw

Непрочитанное сообщение hizel » 2009-04-08 13:20:22

о вы изучаете этот леденящий душу писец под названием фильтрование layer2 !
попробуйте

Код: Выделить всё

allow ip from 192.168.5.20 to any layer2 via bridge0 mac-type vlan 
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Aidaho
рядовой
Сообщения: 47
Зарегистрирован: 2008-11-19 13:13:29
Контактная информация:

Re: if_bridge + ipfw

Непрочитанное сообщение Aidaho » 2009-04-08 13:42:04

hizel писал(а):о вы изучаете этот леденящий душу писец под названием фильтрование layer2 !
попробуйте

Код: Выделить всё

allow ip from 192.168.5.20 to any layer2 via bridge0 mac-type vlan 
да вообще хотелось бы фильтровать по ip. А, так как ничего не фильтруется, то пытаюсь и Л-2 и Л-3...

Аватара пользователя
hizel
дядя поня
Сообщения: 9031
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: if_bridge + ipfw

Непрочитанное сообщение hizel » 2009-04-08 14:02:06

ну и фильтруйте на уровне layer2

Код: Выделить всё

allow ip from <ip> to any via bridge0 layer2 mac any any mac-type vlan
allow ip from any to <ip> via bridge0 layer2 mac any any mac-type vlan
только учтите, что кроме vlan,ipv4,ipv6 существуют еще и другие, например arp запросы и т.п.
все секется в tcpdump -i <interface> -npe

ethertype 802.1Q (0x8100) - vlan
тоесть можно напейсать вместо mac-type vlan - mac-type 0x8100

Код: Выделить всё

allow ip from <ip> to any via bridge0 layer2 mac any any mac-type 0x8100
allow ip from any to <ip> via bridge0 layer2 mac any any mac-type 0x8100
соответственно ipv4 - ethertype IPv4 (0x0800) и т.д.
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Aidaho
рядовой
Сообщения: 47
Зарегистрирован: 2008-11-19 13:13:29
Контактная информация:

Re: if_bridge + ipfw

Непрочитанное сообщение Aidaho » 2009-04-08 14:13:53

да по поводу этого я знаю
hizel писал(а):
ethertype 802.1Q (0x8100) - vlan
тоесть можно напейсать вместо mac-type vlan - mac-type 0x8100

Код: Выделить всё

allow ip from <ip> to any via bridge0 layer2 mac any any mac-type 0x8100
allow ip from any to <ip> via bridge0 layer2 mac any any mac-type 0x8100
соответственно ipv4 - ethertype IPv4 (0x0800) и т.д.
не фильтруется даже на layer2:

Код: Выделить всё

00600        0          0 allow ip from 192.168.5.20 to any layer2 via bridge0 mac-type 0x8100
00700        0          0 allow ip from 192.168.5.20 to any via bridge0 mac-type 0x8100
00800        0          0 allow ip from 192.168.5.20 to any via fxp0 mac-type 0x8100
00900        0          0 allow ip from 192.168.5.20 to any via fxp1 mac-type 0x8100
01000        0          0 allow ip from 192.168.5.20 to any via bridge0 layer2 MAC any any mac-type 0x8100
65535 20495620 7225043144 allow ip from any to any
как я выше писал, если убрать из схемы 1 каталист с транковым портом и поставить например бук или хаб тупенький, то все фильтруется на L-3.

Аватара пользователя
hizel
дядя поня
Сообщения: 9031
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: if_bridge + ipfw

Непрочитанное сообщение hizel » 2009-04-08 14:44:47

тоесть на уровне layer2 у вас никогда не фильтровалось?
может net.link.ether.ipfw включить
или добавить mac-type vlan в правила без layer2
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Aidaho
рядовой
Сообщения: 47
Зарегистрирован: 2008-11-19 13:13:29
Контактная информация:

Re: if_bridge + ipfw

Непрочитанное сообщение Aidaho » 2009-04-08 14:53:41

не фильтровал.
net.link.ether.ipfw стоит в 1
тоже не помогает:

Код: Выделить всё

01100        0          0 allow ip from 192.168.5.20 to any via bridge0 MAC any any mac-type 0x8100
01200        0          0 allow ip from 192.168.5.20 to any via bridge0 mac-type 0x8100

Аватара пользователя
hizel
дядя поня
Сообщения: 9031
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: if_bridge + ipfw

Непрочитанное сообщение hizel » 2009-04-08 15:00:37

идем от по нарастающей

Код: Выделить всё

count ip from any to any layer2 via bridge0
count ip from any to any not layer2 via bridge0
count ip from any to any layer2 via bridge0 mac-type vlan
count ip from any to any layer2 via bridge0 mac-type ipv4
count ip from any to any not layer2 via bridge0 mac-type vlan
count ip from any to any not layer2 via bridge0 mac-type ipv4
count ip from any to any not layer2 via bridge0 mac-type vlan
count ip from <ip> to any layer2 via bridge0 mac-type vlan
count ip from <ip> to any layer2 via bridge0 mac-type ipv4
count ip from <ip> to any not layer2 via bridge0 mac-type vlan
count ip from <ip> to any not layer2 via bridge0 mac-type ipv4
интересно, хоть что то будет работать
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Aidaho
рядовой
Сообщения: 47
Зарегистрирован: 2008-11-19 13:13:29
Контактная информация:

Re: if_bridge + ipfw

Непрочитанное сообщение Aidaho » 2009-04-08 15:07:32

ну как видно ани ани он видит, а вот по ip ничего:

Код: Выделить всё

01300    15026     940355 count ip from any to any layer2 via bridge0
01400       89       6153 count ip from any to any not layer2 via bridge0
01500    13044     818299 count ip from any to any layer2 via bridge0 mac-type 0x8100
01600       81       5530 count ip from any to any layer2 via bridge0 mac-type 0x0800
01700        0          0 count ip from any to any not layer2 via bridge0 mac-type 0x8100
01800        0          0 count ip from any to any not layer2 via bridge0 mac-type 0x0800
01900        0          0 count ip from any to any not layer2 via bridge0 mac-type 0x8100
02000        0          0 count ip from 192.168.5.20 to any layer2 via bridge0 mac-type 0x8100
02100        0          0 count ip from 192.168.5.20 to any layer2 via bridge0 mac-type 0x0800
02200        0          0 count ip from 192.168.5.20 to any not layer2 via bridge0 mac-type 0x8100
02300        0          0 count ip from 192.168.5.20 to any not layer2 via bridge0 mac-type 0x0800

Аватара пользователя
hizel
дядя поня
Сообщения: 9031
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: if_bridge + ipfw

Непрочитанное сообщение hizel » 2009-04-08 15:14:00

судя по

Код: Выделить всё

01300    15026     940355 count ip from any to any layer2 via bridge0
01400       89       6153 count ip from any to any not layer2 via bridge0
большая часть пакетов до layer3 не доползает :shock: и в layer2 нет информации об ip
эм у вас включена net.link.bridge.pfil_member, попробуйте пофильтровать на интерфейсах емберах а не на bridge0
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Aidaho
рядовой
Сообщения: 47
Зарегистрирован: 2008-11-19 13:13:29
Контактная информация:

Re: if_bridge + ipfw

Непрочитанное сообщение Aidaho » 2009-04-10 6:21:20

включил фильтрацию на интерфейсах и вот, что выдает:

Код: Выделить всё

02400     40209    24880638 count ip from any to any layer2 via fxp0
02500       930      107544 count ip from any to any not layer2 via fxp0
02600     24393    13277709 count ip from any to any layer2 via fxp0 mac-type 0x8100
02700       134       30203 count ip from any to any layer2 via fxp0 mac-type 0x0800
02800         0           0 count ip from any to any not layer2 via fxp0 mac-type 0x8100
02900         0           0 count ip from any to any not layer2 via fxp0 mac-type 0x0800

Aidaho
рядовой
Сообщения: 47
Зарегистрирован: 2008-11-19 13:13:29
Контактная информация:

Re: if_bridge + ipfw

Непрочитанное сообщение Aidaho » 2009-04-13 7:44:44

Может, кто-нибудь может что то еще подсказать?