Начиная с версии 2.5, появилась возможность использования OpenBSD в качестве Ethernet Bridge. Использование функции Bridge позволяет объединить несколько сегментов Ethernet в один логический сегмент. При этом допустимо использование правил фильтрации pf/ipf, что позволяет превратить OpenBSD в прозрачный IP фильтр.
Чтобы настроить OpenBSD в качестве Ethernet Bridge, нужно выполнить следующие шаги:
/etc/bridgename.bridge0,
содержащий команды конфигурации Bridge, например:
add rl0 add fxp0 upВ данном случае мы объявляем интерфейсы fxp0 и rl0 одним логическим Ethernet сегментом. Подробнее о командах конфигурирования Bridge можно прочитать в brconfig(8). При использовании нескольких логических сегментов, следует создать файл конфигурации для каждого псевдоустройства bridge.
/etc/hostname.fxp0:
inet 194.226.170.3 255.255.255.0 NONE media 100baseTX
/etc/hostname.rl0:
up media 100baseTXПодробнее о файлах конфигурации сетевых интерфейсов можно прочитать в hostname.if(5)
Обратите внимание, что IP адрес присваивается только одному интерфейсу. Допускается также создание Bridge, не имеющего своего IP адреса.
# фильтрация производится на rl0, поэтому пропускаем все пакеты на rl1 pass in quick on rl1 all pass out quick on rl1 all # по умолчанию мы блокируем все пакеты, и пропускаем только # icmp запросы с получившимися keep-state ответами в обе стороны. block in on rl0 all block out on rl0 all pass in on rl0 inet proto icmp all icmp-type echoreq keep state pass out on rl0 inet proto icmp all icmp-type echoreq keep state
# brconfig bridge0 flush(где bridge0 - псевдо-интерфейс Bridge, к которому относится Ethernet сегмент, в котором раньше находился компьютер).