Устройство TING в режиме моста

Мост (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

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