URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 65561
[ Назад ]

Исходное сообщение
"Фильтрация ehternet frame при помощи ipfw"

Отправлено begemot_otto , 11-Апр-06 20:40 
Доброго всем времени суток!
Господа, есть такая проблема:
сеть на 300 хостов (колв-во не принципиально, но все же). На одном из участков стоит bridge на базе ПК под управлением freebsd 5,2. Установлен и ipfw.
конфигурация интерфейсов такая:
rl0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
        options=8<VLAN_MTU>
        inet6 fe80::230:4fff:fe48:85af%rl0 prefixlen 64 scopeid 0x1
        ether 00:30:4f:48:85:af
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
re0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
        options=18<VLAN_MTU,VLAN_HWTAGGING>
        inet6 fe80::230:4fff:fe47:3316%re0 prefixlen 64 scopeid 0x2
        inet 192.168.55.5 netmask 0xffffff00 broadcast 192.168.55.255
        ether 00:30:4f:47:33:16
        media: Ethernet autoselect (1000baseTX <full-duplex>)
        status: active
rl1: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
        options=8<VLAN_MTU>
        inet6 fe80::20e:2eff:fe63:7c1a%rl1 prefixlen 64 scopeid 0x3
        ether 00:0e:2e:63:7c:1a
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
rl2: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
        options=8<VLAN_MTU>
        inet6 fe80::230:4fff:fe48:85c7%rl2 prefixlen 64 scopeid 0x4
        ether 00:30:4f:48:85:c7
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
plip0: flags=108810<POINTOPOINT,SIMPLEX,MULTICAST> mtu 1500
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384

по умолчанию правила для ipfw такие:
00900       0          0 allow udp from 0.0.0.0 2054 to 0.0.0.0
65535 7997672 5751136129 allow ip from any to any
весь трафик бегает без проблем.
Стоит задача написать правило для того, что бы через интерфейс rl2 могли ходить только из сети 192.168.33.0/24.

Задача вроде не трудная два правила и всех делов.
ipfw add deny from all not 192.168.33.0/24 to any via rl2
и обратное
ipfw add deny from any to not 192.168.33.0/24 via rl2
НО нужно также разрешить ходить протоколу PPPoE, а вот тут непонятки
Как сказать ipfw чтобы он отличал pppoe от другого. Читал man ipfw, судя по русским переводам, так это вообще не возможно.
Подскажите куда копать?


Содержание

Сообщения в этом обсуждении
"Фильтрация ehternet frame при помощи ipfw"
Отправлено begemot_otto , 12-Апр-06 13:22 
Так, что видать я был прав что ipfw этого делать не умеет?
АУ гуру по ipfw скажите свое мнение!!!!!!!!!

"Фильтрация ehternet frame при помощи ipfw"
Отправлено dravor , 12-Апр-06 13:31 
>Так, что видать я был прав что ipfw этого делать не умеет?
>
>АУ гуру по ipfw скажите свое мнение!!!!!!!!!

Вы лучше почитайте что такое PPPoE и почему его не маршрутизируют.


"Фильтрация ehternet frame при помощи ipfw"
Отправлено alk , 12-Апр-06 13:33 
${ipfw} add allow gre from any to any via rl0
правило сделать первым


"Фильтрация ehternet frame при помощи ipfw"
Отправлено begemot_otto , 12-Апр-06 13:48 
>${ipfw} add allow gre from any to any via rl0
>правило сделать первым
харашо, попробую вроде как должно помочь, скажу, что получится..........


"Фильтрация ehternet frame при помощи ipfw"
Отправлено begemot_otto , 12-Апр-06 16:16 
Нет не помогло...........

"Фильтрация ehternet frame при помощи ipfw"
Отправлено begemot_otto , 12-Апр-06 16:20 
Ok давайте зададим вопрос по другому:
может ли ipfw выполнять маршрутизацию принимая за условие содержимое ethernet frame?
То бишь, отследить пакеты PADO и PADI? Вот такая вот постановка задачи.

"Фильтрация ehternet frame при помощи ipfw"
Отправлено alk , 12-Апр-06 17:09 
покажите вывод ipfw sh


"Фильтрация ehternet frame при помощи ipfw"
Отправлено uute , 12-Апр-06 17:33 
ipfw -q flush
ipfw add pass all from me to any keep-state

ipfw add pass all from any to any layer2 via rl2
ipfw add deny all from any to any layer2 not mac-type arp,0x8863,0x8864

потом твоё.
---
ессно, это для ipfw2 (начиная с 5х, для 4х его надо было отдельно строить).

более подробно поищи по этим полям - было когда-то здесь.

нда, так просто - в первом посте первое правило тебе нафиг не нужно, поскольку второе его перекрывает. некрасиво..

удачи.


"Фильтрация ehternet frame при помощи ipfw"
Отправлено begemot_otto , 12-Апр-06 18:19 
>ipfw -q flush
>ipfw add pass all from me to any keep-state
>
>ipfw add pass all from any to any layer2 via rl2
>ipfw add deny all from any to any layer2 not mac-type arp,0x8863,0x8864
>
>
>потом твоё.
>---
>ессно, это для ipfw2 (начиная с 5х, для 4х его надо было
>отдельно строить).
>
>более подробно поищи по этим полям - было когда-то здесь.
>
>нда, так просто - в первом посте первое правило тебе нафиг не
>нужно, поскольку второе его перекрывает. некрасиво..
>
>удачи.
Спасиб большое!
Приятно на дурацкий вопрос получить вполне пристойное объяснение, заработало.