2004 г
Настройка Ethernet Bridge
Опубликовано на сайте OpenBSD.ru
Начиная с версии 2.5, появилась возможность использования OpenBSD в качестве
Ethernet Bridge. Использование функции Bridge позволяет объединить несколько
сегментов Ethernet в один логический сегмент. При этом допустимо использование
правил фильтрации pf/ipf, что позволяет превратить OpenBSD в прозрачный IP
фильтр.
Чтобы настроить OpenBSD в качестве Ethernet Bridge, нужно
выполнить следующие шаги:
- Сконфигурировать ядро OpenBSD, включив в него псевдо-устройство
"bridge". Файл конфигурации ядра должен содержать строку
"pseudo-device bridge 1". Вместо числа
1 нужно подставить количество предполагаемых
логических сегментов.
- Создать файл конфигурации
/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 адреса.
- Перезагрузить машину.
Замечания
- При использовании OpenBSD Packet Filter, пакет проходящий через
Bridge попадает под проверку PF два раза, при входе на одном интерфейсе
и при выходе на другом. Чтобы производить keep-state фильтрацию, нам
необходимо разрешить все входящие и исходящие пакеты на одном
интерфейсе, а на другом производить фильтрацию. Пример правил:
# фильтрация производится на 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
- При использовании ipf для фильтрации пакетов, проходящих через
Bridge, действуют только правила для входящих пакетов.
- Если во время работы Bridge, производится перенос какого-нибудь
компьютера (или другого устройства, имеющего свой Ethernet адрес) с
одного Ethernet сегмента на другой, следует выполнить команду
# brconfig bridge0 flush
(где bridge0 - псевдо-интерфейс Bridge, к которому относится Ethernet
сегмент, в котором раньше находился компьютер).
|
|