Прозрачные мосты
Мост (bridge) - синонимом термина «коммутатор» (switch). Устройство TING поддерживает работу в режиме моста. Данный режим - программная реализация коммутатора средствами FreeBSD.
Аппаратные коммутаторы реализуют функции коммутации Ethernet-кадров с помощью специализированных ASIC-чипов, и по этой причине, более эффективны по сравнению с программными коммутаторами. Использование программного коммутатора оправдано в случае, когда нужно объединить LAN-сегменты, подключенные к FreeBSD-машине, или использовать широкие возможности FreeBSD по фильтрации пакетов и мониторингу трафика.
Для системного администратора, настройка моста представлена в виде следующей метафоры. Администратор создает специальный мостовой интерфейс в операционной системе и определяет какие сетевые интерфейсы «подчинить» (включить в состав) данного мостового интерфейса.
В FreeBSD в мост могут быть добавлены физические Ethernet-интерфейсы, VLAN-интерфейсы, туннельные gif интерфейсы, TAP-адаптеры. В данной инструкции рассматриваются примеры добавления в мост традиционных физических Ethernet-интерфейсов.
Для выбранных интерфейсов включается специальный режим, в котором они начинают функционировать как порты коммутатора. При этом мостовой интерфейс (обозначается как br или bridge) соединяет программный коммутатор с операционной системой. Мостовой интерфейс является своего рода компенсацией за сетевые интерфейсы, которые были переведены в режим коммутаторных портов, и оставляет возможность взаимодействовать с FreeBSD как с TCP/IP-узлом. Для этого, мостовому интерфейсу нужно присвоить TCP/IP-настройки (адрес, маска и т.п.).
Мостом могут называть как мостовой интерфейс, так и само устройство в целом, на котором настроен режим моста.
Режим моста имеет множество применений. Одно из основных - упрощение сетевой топологии за счет объединения LAN-сегментов. LAN-сегменты, подключенные к интерфейсам, которые были добавлены в мост, оказываются объединенными в единый LAN-сегмент.
При добавлении в мост двух и более LAN-интерфейсов, можно получить единую внутренюю сеть вместо нескольких отдельных внутренних LAN-сегментов. При этом роль внутреннего LAN-интерфейса будет выполнять мостовой интерфейс. Устройство TING будет одновременно выполняет роль моста (между бывшими отдельными LAN-сегментами) и роль маршрутизатора (между новым объединенным LAN-сегментом и WAN-сегментом). Данный сценарий рассматривается в разделе Прозрачный мост между LAN-сегментами .
При добавлении в мост WAN- и LAN-интерфейса, отдельные WAN- и LAN-сегменты упраздняются в пользу единого сегмента. Если до включения моста, устройство TING служило маршрутизатором IP-дейтаграмм, то после включения данного функционала, оно становится чистым коммутатором. Данный сценарий рассматривается в разделе Прозрачный мост между LAN- и WAN-сегментами .
Одно из достоинств режима моста перед обычными аппаратными коммутаторами - это возможность фильтровать коммутируемые пакеты с помощью межсетевого экрана PF. Данный сценарий рассматривается в разделе Фильтрующий мост между LAN- и WAN-сегментами .
Прозрачный мост между LAN-сегментами

До выполнения настроек:
Устройство TING работает как маршрутизатор.
LAN- и LAN2-сегменты являются обособленными Ethernet-сегментами, которые сообщаются через маршрутизатор.
В сегменте LAN используется IP-сеть 192.168.1.0/24; в сегменте LAN2 используется IP-сеть 192.168.2.0/24.
Интерфейсу LAN присвоен IP-адрес 192.168.1.1/24; интерфейсу LAN2 присвоен IP-адрес 192.168.2.1/24.
DHCP-сервер на устройстве TING включен на интерфейсах LAN и LAN2 и раздает TCP/IP-настройки в сегменты LAN и LAN2.
Веб-интерфейс для административного доступа включен на интерфейсах LAN (IP-адрес 192.168.1.1) и LAN2 (IP-адрес 192.168.2.1).
После выполнения настроек:
Устройство TING перенастраивается как коммутатор, однако функции маршрутизации сохраняются. Устройство TING будет одновременно выполняет роль моста (между бывшими отдельными LAN-сегментами) и роль маршрутизатора (между новым объединенным LAN-сегментом и WAN-сегментом).
LAN- и LAN2-сегменты теперь являются составными частями одного Ethernet-сегмента; эти составные части соединяются через програмный коммутатор; програмный коммутатор подключен к виртуальному мостовому интерфейсу BRIDGE0 FreeBSD-машины.
В едином сегменте используется адресное пространство бывшего сегмента LAN, т.е. IP-сеть 192.168.1.0/24. Машины бывшего сегмента LAN2 должны быть перенастроены с использованием адресов из IP-сети 192.168.1.0/24. Интерфейсу BRIDGE0 присваивается адрес 192.168.1.2/24.
DHCP-сервер на устройстве TING перепривязывается к интерфейсу BRIDGE0 и выключается для интерфейсов LAN и LAN2.
Веб-интерфейс для административного доступа перепривязывается к интерфейсу BRIDGE0.
Примечание
При создании моста легко потерять контроль над устройством TING. По этой причине желательно придерживаться предложенного порядка осуществления настроек.
Создание моста
В меню Интерфейсы -> Другие типы -> Сетевой мост нажимаем кнопку Добавить. В поле Интерфейсы-участники выберите LAN и LAN2.
В поле Описание введите описание bridge0.

Нажимаем Сохранить.
Добавление бриджевого интерфейса в веб-интерфейс
В разделе Интерфейсы -> Назначения портов в поле Новый интерфейс выбираем строку bridge0 и нажимаем на +.

Нажимаем Сохранить
Настройка административного доступа через бриджевый интерфейс
В разделе Интерфейсы -> [OPT1] задайте следующие настройки:
Включен |
Флаг установлен |
Описание |
bridge0 |
Блокировать частные сети |
Флаг снят |
Блокировать bogon сети |
Флаг снят |
Тип конфигурации IPv4 |
Статический IPv4 |
IPv4 адрес |
192.168.1.2/24 |
Нажимаем Сохранить
Пройдите в раздел Межсетевой экран -> Правила на вкладку BRIDGE0. Создайте правило со следующими настройками:
Действие |
Разрешить |
Интерфейс |
BRIDGE0 |
Версии TCP/IP |
IPv4 |
Протокол |
Любой |
Отправитель |
Любой |
Получатель |
Любой |
Диапазон портов источника |
Любой |
Диапазон портов назначения |
Любой |
Нажмите Сохранить.
Нажмите Применить изменения.
Перенастройка DHCP-сервера на устройстве TING
В разделе Службы -> DHCP-> Сервер на вкладке LAN уберите флаг Включить DHCP-сервер на LAN интерфейсе.
На вкладке BRIDGE0 задайте следующие настройки:
Включен |
Флаг установлен |
Подсеть |
192.168.1.0 |
Маска подсети |
255.255.255.0 |
Доступный диапазон |
192.168.1.1 - 192.168.1.254 |
Диапазон |
192.168.1.10 - 192.168.1.245 |
DNS-серверы |
192.168.1.2 |
Шлюз |
192.168.1.2 |
Нажмите Сохранить.
Отключение PF-фильтрации для кадров, передаваемых через мост
Пройдите в раздел Система -> Настройки -> Параметры.
Убедитесь, что следующие параметры ядра выставлены в значение 0:
net.link.bridge.pfil_member
net.link.bridge.pfil_bridge
Данное значение параметров отключает фильтрацию со стороны PF для коммутируемых кадров (т.е. кадров, передаваемых через мост).
Нажмите Сохранить.
Лишение сбриджованных интерфейсов TCP/IP-настроек
В разделе Интерфейсы-> [LAN] задайте следующие настройки:
Тип конфигурации IPv4 |
Отсутствует |
Тип конфигурации IPv6 |
Отсутствует |
Нажмите Сохранить.
В разделе Интерфейсы-> [LAN2] задайте следующие настройки:
Тип конфигурации IPv4 |
Отсутствует |
Тип конфигурации IPv6 |
Отсутствует |
Нажмите Сохранить.
Нажмите Применить изменения.
Завершение настройки
Дальнейшее администрирование устройства TING потребует переподключения на IP-адрес 192.168.1.2 (присвоен бриджевому интерфейсу).
Для применения всех изменений перезагрузите устройство TING.
Прозрачный мост между LAN- и WAN-сегментами

До выполнения настроек:
Устройство TING работает как маршрутизатор.
WAN- и LAN-сегменты являются обособленными Ethernet-сегментами, которые сообщаются через маршрутизатор.
В WAN-сегменте используется IP-сеть провайдера; в LAN-сегменте используется IP-сеть 192.168.1.0/24.
Интерфейсу LAN присвоен IP-адрес 192.168.1.1/24.
TCP/IP-настройки для хостов в LAN-сегменте раздаются DHCP-сервером, расположенном на устройстве TING.
TCP/IP-настройки для WAN-адаптера получены от провайдера.
Веб-интерфейс для административного доступа включен на интерфейсе LAN (IP-адрес 192.168.1.1).
После выполнения настроек:
Устройство TING перенастраивается как коммутатор; функции маршрутизации выключаются.
LAN- и WAN-сегменты теперь являются составными частями одного Ethernet-сегмента; эти составные части соединяются через програмный коммутатор; програмный коммутатор подключен к виртуальному мостовому интерфейсу BRIDGE0 FreeBSD-машины.
В едином сегменте используется IP-сеть провайдера. Машины бывшего LAN-сегмента должны быть перенастроены с использованием адресов из IP-сети провайдера. Интерфейс BRIDGE0 получает TCP/IP настройки от провайдера.
DHCP-сервер на устройстве TING будет выключен.
Веб-интерфейс для административного доступа перепривязывается к адаптеру BRIDGE0.
Примечание
При создании моста легко потерять контроль над устройством TING. По этой причине желательно придерживаться предложенного порядка осуществления настроек.
Создание моста
В меню Интерфейсы -> Другие типы -> Сетевой мост нажимаем кнопку Добавить. В поле Интерфейсы-участники выберите LAN и WAN.
В поле Описание введите описание bridge0.

Нажимаем Сохранить.
Добавление бриджевого интерфейса в веб-интерфейс
В разделе Интерфейсы -> Назначения портов в поле Новый интерфейс выбираем строку bridge0 и нажимаем на +.

Нажимаем Сохранить
Настройка административного доступа через бриджевый интерфейс
В разделе Интерфейсы -> [OPT1] задайте следующие настройки:
Включен |
Флаг установлен |
Описание |
bridge0 |
Блокировать частные сети |
Флаг снят |
Блокировать bogon сети |
Флаг снят |
Тип конфигурации IPv4 |
Статический IPv4 |
IPv4 адрес |
192.168.1.2/24 |
Нажимаем Сохранить
Пройдите в раздел Межсетевой экран -> Правила на вкладку BRIDGE0. Создайте правило со следующими настройками:
Действие |
Разрешить |
Интерфейс |
BRIDGE0 |
Версии TCP/IP |
IPv4 |
Протокол |
Любой |
Отправитель |
Любой |
Получатель |
Любой |
Диапазон портов источника |
Любой |
Диапазон портов назначения |
Любой |
Нажмите Сохранить.
Нажмите Применить изменения.
Отключение DHCP-сервера на устройстве TING
В разделе Службы -> DHCP-> Сервер на вкладке LAN уберите флаг Включить DHCP-сервер на LAN интерфейсе.
Нажмите Сохранить.
Отключение PF-фильтрации для кадров, передаваемых через мост
Пройдите в раздел Система -> Настройки -> Параметры.
Убедитесь, что следующие параметры ядра выставлены в значение 0:
net.link.bridge.pfil_member
net.link.bridge.pfil_bridge
Данное значение параметров отключает фильтрацию со стороны PF для коммутируемых кадров (т.е. кадров, передаваемых через мост).
Нажмите Сохранить.
Отключение NAT
Примечание
При объединении LAN- и WAN-сегмента через мост, как правило, не имеет смысла продолжать использовать устройство TING в качестве маршрутизатора. По этой причине, настройки, связанные с маршрутизированием и NAT, убирают. В частности, механизм NAT будет выключен; адаптеры, входящие в мост, будут лишены TCP/IP-настроек (адрес, маска и т.п.).
Пройдите в раздел Межсетевой экран -> NAT -> Исходящий и выберите режим Отключить создание правил исходящего NAT (исходящий NAT отключен).

Нажимаем Сохранить.
Лишение сбриджованных интерфейсов TCP/IP-настроек
В разделе Интерфейсы-> [LAN] задайте следующие настройки:
Тип конфигурации IPv4 |
Отсутствует |
Тип конфигурации IPv6 |
Отсутствует |
Нажмите Сохранить.
В разделе Интерфейсы-> [WAN] задайте следующие настройки:
Тип конфигурации IPv4 |
Отсутствует |
Тип конфигурации IPv6 |
Отсутствует |
Нажмите Сохранить.
Завершение настройки
Дальнейшее администрирование устройства TING потребует переподключения на IP-адрес 192.168.1.2 (присвоен бриджевому интерфейсу).
Для применения всех изменений перезагрузите устройство TING.
Фильтрующий мост между LAN- и WAN-сегментами
Фильтрующий мост настраивается как прозрачный мост, плюс включается фильтрация со стороны PF для коммутируемых кадров.
Настройка прозрачного моста описана здесь . Включение фильтрации описано ниже.
Параметры, ответственные за включение фильтрации для кадров:
net.link.bridge.pfil_member
net.link.bridge.pfil_bridge
Возможны три сценария использования данных параметров:
Если необходимо выключить фильтрацию для коммутируемых через мост кадров, то оба параметра должны быть установлены в значение 0.
Чтобы иметь возможность создавать правила, которые будут давать совпадения с кадрами, пришедшими на конкретный входящий порт моста, параметр net.link.bridge.pfil_member должен быть выставлен в 1, при этом значение параметра net.link.bridge.pfil_bridge значения не имеет.
Чтобы иметь возможность создавать правила, в которых указание интерфейса как bridge0 будет означать любой порт моста, параметр net.link.bridge.pfil_bridge должен быть выставлен в 1, при этом параметр net.link.bridge.pfil_member должен иметь значение 0.
В нашем примере фильтрующего моста, мы будем использовать значения параметров, описанное в пункте 3.
Параметры находятся в разделе Система -> Настройки -> Параметры.
Примечание
Продемонстрируем возможность фильтрации коммутриуемых кадров с помощью PF на простом примере - запрет передачи через коммутатор кадров, содержащих пакеты протокола MS RDP.
Пройдите в раздел Межсетевой экран -> Правила на вкладку BRIDGE0. Создайте правило со следующими настройками:
Действие |
Блокировать |
Интерфейс |
BRIDGE0 |
Версии TCP/IP |
IPv4 |
Протокол |
TCP |
Отправитель |
Любой |
Получатель |
Любой |
Диапазон портов источника |
Любой |
Диапазон портов назначения |
MS RDP |
Нажмите Сохранить.