Прозрачные мосты

Мост (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-сегментами

../../_images/bridge_scheme_1.png

До выполнения настроек:

  • Устройство 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.

../../_images/ifconfig_bridge0_create_1.png

Нажимаем Сохранить.

Добавление бриджевого интерфейса в веб-интерфейс

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

../../_images/bridge_interface_assignment.png

Нажимаем Сохранить

Настройка административного доступа через бриджевый интерфейс

В разделе Интерфейсы -> [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-сегментами

../../_images/bridge_scheme_2.png

До выполнения настроек:

  • Устройство 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.

../../_images/ifconfig_bridge0_create_2.png

Нажимаем Сохранить.

Добавление бриджевого интерфейса в веб-интерфейс

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

../../_images/bridge_interface_assignment.png

Нажимаем Сохранить

Настройка административного доступа через бриджевый интерфейс

В разделе Интерфейсы -> [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 отключен).

../../_images/br_disable_nat.png

Нажимаем Сохранить.

Лишение сбриджованных интерфейсов 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

Возможны три сценария использования данных параметров:

  1. Если необходимо выключить фильтрацию для коммутируемых через мост кадров, то оба параметра должны быть установлены в значение 0.

  2. Чтобы иметь возможность создавать правила, которые будут давать совпадения с кадрами, пришедшими на конкретный входящий порт моста, параметр net.link.bridge.pfil_member должен быть выставлен в 1, при этом значение параметра net.link.bridge.pfil_bridge значения не имеет.

  3. Чтобы иметь возможность создавать правила, в которых указание интерфейса как 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

Нажмите Сохранить.