Обсуждение статьи тематического каталога: Настройка фильтрующего сетевого моста на базе FreeBSD 6.0 с if_bridge (freebsd bridge ifconfig)Ссылка на текст статьи: http://www.opennet.me/base/net/net_bridge.txt.html
"На "промежуточном" интерфейсе (net.link.bridge.pfil_bridge=1)"гы гы гы... ув. автор, почитайте плиз ман, он говорит:
net.link.bridge.pfil_bridge Set to 1 to enable filtering on the bridge interface, set to 0 to disable it.т.е. это фильтрация на САМОМ бридже, а не на некоем "промежуточном" интерфейсе ;)
"ipfw add 100 allow mac-type arp (Всё же разрешим прохождение arp пакетов сквозь мост)"
сразу видно старую школу! :) это было нужно когда мы юзали options BRIDGE, а теперь этого не надо, т.к. опять же по ману:
ARP and REVARP packets are forwarded without being filtered and others that are not IP nor IPv6 packets are not forwarded when pfil(9) filtering is enabled.т.е. ARP пакеты всеравно не будут попадпть в фильтр, тогда зачем Вам лишнее правило?
почему то забыта net.link.bridge.ipfw установка которой кстати обнуляет net.link.bridge.pfil_member и net.link.bridge.pfil_bridge
вообще статья хорошая, для новичков прямо таки золотая, единственное что осталось нераскрытым (помимо темы сисек:)) это то что можно юзать polling при поднятии интерфейсов, чем увеличить производительность моста в целом, т.е. можно было сделать:
ifconfig_fxp0="polling up"
ifconfig_fxp1="polling up"
cloned_interfaces="bridge0"
ifconfig_bridge0="addm fxp0 addm fxp1 up"ну и можно жеж было для новичков написать что таки можно привинтить dummynet к мосту а то ведь будут мучиться :)
>"На "промежуточном" интерфейсе (net.link.bridge.pfil_bridge=1)"
>
>гы гы гы... ув. автор, почитайте плиз ман, он говорит:
>net.link.bridge.pfil_bridge Set to 1 to enable filtering on the bridge interface,
>set to 0 to disable it.
А что такое по-вашему вообще bridge[0-9]+, создаваемый запуском ifconfig?
Это как раз и есть промежуточный интерфейс.
When filtering is enabled, bridged packets will pass (1 прим. авт.) through the filter inbound on the originating interface, (2) on the bridge interface and (3) outbound on the appropriate interfaces.
(из того же if_bridge(4)).
>
>т.е. это фильтрация на САМОМ бридже, а не на некоем "промежуточном" интерфейсе
>;)
>
>"ipfw add 100 allow mac-type arp (Всё же разрешим прохождение arp
>пакетов сквозь мост)"
>
>сразу видно старую школу! :) это было нужно когда мы юзали options
>BRIDGE, а теперь этого не надо, т.к. опять же по ману:
>
>ARP and REVARP packets are forwarded without being filtered and others that
>are not IP nor IPv6 packets are not forwarded when pfil(9)
>filtering is enabled.
>
>т.е. ARP пакеты всеравно не будут попадпть в фильтр, тогда зачем Вам
>лишнее правило?
Из того же мана:
IPFW can filter Ethernet types using <b>mac-type</b> so all packets
are passed to the filter for processing.
Так что, вы не дочитали одной строчки или не поняли ее смысл.
>
>почему то забыта net.link.bridge.ipfw установка которой кстати обнуляет net.link.bridge.pfil_member и net.link.bridge.pfil_bridge
>
>вообще статья хорошая, для новичков прямо таки золотая, единственное что осталось нераскрытым
>(помимо темы сисек:)) это то что можно юзать polling при поднятии
>интерфейсов, чем увеличить производительность моста в целом, т.е. можно было сделать:
>
>ifconfig_fxp0="polling up"
>ifconfig_fxp1="polling up"
>cloned_interfaces="bridge0"
>ifconfig_bridge0="addm fxp0 addm fxp1 up"
>
>ну и можно жеж было для новичков написать что таки можно привинтить
>dummynet к мосту а то ведь будут мучиться :)
Начал компилировать ядро: config BRIDGE.
Система выдала ошибку:
config: BRIDGE:284: syntax errorВ этой строке стоит следующее:
device if_bridgeКак быть?
ОС freebsd 6.0
Спасибо
Ключевая фраза "В коде FreeBSD 5-STABLE и 6-STABLE ..."
Статья классная! Афтору зачот!Вопрос такой - у меня в ядре есть код старого BRIDGE и новое, описанное в этой статье. Работать будет нормально? А то ядро пересобирать лениво!
# ipfw add 500 allow ip from not 10.0.1.0/24 to 10.0.1.0/24 in via fxp0 (Разрешили все )
( входящие пакеты с сети во внутрь)Извините но я не понял вот эту строчку!!!
not 10.0.1.0/24 - это что?
работает
# ipfw add 500 allow ip from not 10.0.1.0/24 to 10.0.1.0/24 in via fxp0 (Разрешили все )
( входящие пакеты с сети во внутрь)Извините но я не понял вот эту строчку!!!
not 10.0.1.0/24 - это что?
У меня работала потом перестала как проверить в чем проблема!
Порекомендую всем использующим if_bridge увеличить кеш адресов в таблице коммутации(по умолчанию выставлено 100): # ifconfig bridge0 maxaddr 1000
>Порекомендую всем использующим if_bridge увеличить кеш адресов в таблице коммутации(по умолчанию выставлено
>100): # ifconfig bridge0 maxaddr 1000Очень толковая статья, сделал всё так же на радиомосте, но после поднятия бриджа скорость между интерфейсами bridge0(ath0+rl0) упала с 49 Mbit/s упала до 2kbit/s, фильтры все повыключал, поллинг поднял правила файервола установил allow from any to any.В качестве радиосегмента использовал пару длинков на Атеровсом чипсете DWL-520G, которые поднялись без особых усилий и дали почти заявленную скорость соединения в 54Мбит/с.
Скажите где грабли?
Очень толковая статья, сделал всё так же на радиомосте, но после поднятия бриджа скорость между интерфейсами bridge0(ath0+rl0) упала с 49 Mbit/s упала до 2kbit/s, фильтры все повыключал, поллинг поднял правила файервола установил allow from any to any.В качестве радиосегмента использовал пару длинков на Атеровсом чипсете DWL-520G, которые поднялись без особых усилий и дали почти заявленную скорость соединения в 54Мбит/с.
}{м У Меня проблема такая -
ставлю бридж фильтрующий - все ок. потом его же соеденяю с другой частью сети wi-fi и тут начинаются грабли - Инет начинает тормозить :((( Пинг пропадает на сервер
А как заставить ходить через мосит PPPoE?
У меня не видится сервис по другую сторону моста.
# sysctl net.link.bridge.pfil_member
net.link.bridge.pfil_member: 1
# sysctl net.link.bridge.pfil_bridge
net.link.bridge.pfil_bridge: 1
Но поскольку фильтрация выполняется на L3, то это не должно мешать работе протоколов уровня L2.
Плиз, подскажите что не так?
>А как заставить ходить через мосит PPPoE?sysctl net.link.bridge.pfil_onlyip=0
ХМ
Сегодня поставил ФРЯХУ 6,2рс1
Сделал мост if_bridge
Поставил шейперить
Так вот что стренно
пишу запустить весь icmp траффик от всех всем в pipe такой-то ширины - работает
Пишу запустить траффик от того-то тому-то в pipe такой-то ширины
Качаю по фтп - пишет ipfw show что в это правило вошли пакеты - но оскорость не режится :(
Смотрю ipfw pipe show
пишет ит такой-то к такому-то скорость такаято а в самом начале - протокол icmp!!!
А как же остольное???
Пишу правило загнать трафик от всех к всем по протоколу tcp или udp - на правило не отозвалось ни одного пакета
Что не подтюнил?
Пытался sysctl-ом поправить но видимо какой-то переменно не знаю
}{elp тут http://www.opennet.me/openforum/vsluhforumID1/71502.html
Сделал как описано в статье. ОС FreeBSD 6.1.Сначало работает нормально, но после прокачки около 100Мб перестают ходить данные.
Опускаю,поднимаю интерфэйс опять начинает работать, до тех пор пока не прокачаются следующие 100 метров. В чём может быть проблема?
neon! Ты мозг!
А каким правилом можно закрыть один(отдельный) порт???тоесть чтобы пакеты с назначение допустим порт 1200 не проходил через мост...
Какие системные требования к этому методу?Я сначала поставил это дело на 180мегогерц работало на 5мбит, загрузка ЦП была на 100процентов
Потом поставил на 1800 работало на 100мбит. Но загрузка ЦП тоже на 100процентов.Какой прикол? Чем больше даш, тем больше съест?
>Какие системные требования к этому методу?
>
>Я сначала поставил это дело на 180мегогерц работало на 5мбит, загрузка ЦП
>была на 100процентов
>Потом поставил на 1800 работало на 100мбит. Но загрузка ЦП тоже на
>100процентов.
>
>Какой прикол? Чем больше даш, тем больше съест?
Может включен полинг?И вместо idle Он грузит проц?
Или наоборот - включите полинг :)
>Может включен полинг?И вместо idle Он грузит проц?
>Или наоборот - включите полинг :)А как его включить? Или выключить?
Тут в примере написан то он не работает.
>>Может включен полинг?И вместо idle Он грузит проц?
>>Или наоборот - включите полинг :)
>
>А как его включить? Или выключить?
>Тут в примере написан то он не работает.
Значит ВАМ НАДО ВКЛЮЧИТЬ - иначе Я допускаю что так как Вы не знаете что это - то и не включали...
Ищем по "polling или poling или полинг" - вкомпиливается в ядро - У Меня на 6-ке
options DEVICE_POLLING
А вообще Там со старыми версиямы были баги при включеном smp
Он (полинг) снижает нагрузку на проц - особенно это гуд для всякихз роутеров в том числе Мостов
>У Меня на 6-ке
>options DEVICE_POLLING
>А вообще Там со старыми версиямы были баги при включеном smpУ меня слава богу тоже 6-ка :)
Теперь второй вопрос. У меня есть ВЛан 4002 и надо сделать так, что-бы он был виден через мост. Как это сделать?
Не хочет форвордить пакеты 53-го порта. Смотрю на фаервол вроде бы пишет, что форвординг проходит. А пробую по имени ДНСа обратится от него не знает. От куда делаю вывод, что он нифига не форвордит. Где грабли?
Медитировал над этой статьей, есть непонятка. В случае с тремя портами на мосту на какой из двух портов уйдет пакет, пришедший на третий порт? Как это регулировать?
Не получается выпустить пакеты исходящие из внутреней сети. Сделал все как описано. С мира пускает на те машины и на сам бридж. А вот с самой машины наружу нельзя вылезти. При том правила уже прописывал,которые должны выпускать. Именно что-то на уровне интерфейсов бок. Помогите плиз
.... а как поднять мост через tun0? ... то есть это.... дать виртуальной машине инет через tun0 ?