Bridge интерфейсы (L2) в VyOS
Bridge (мост) соединяет несколько Ethernet сегментов на уровне L2 (канальный уровень), пересылая пакеты на основе MAC-адресов.
Обзор
Bridge в VyOS:
- Работает на уровне L2 (канальный уровень OSI)
- Пересылает фреймы на основе MAC-адресов
- Поддерживает Spanning Tree Protocol (STP)
- Может иметь IP-адрес для управления
- Поддерживает VLAN-aware режим
- Реализует IEEE 802.1d стандарт
Использование:
- Объединение нескольких физических интерфейсов в один L2 домен
- VLAN switching
- Виртуализация (соединение VM с физической сетью)
- Создание виртуального коммутатора
Базовая конфигурация
Создание bridge
set interfaces bridge br0
commitДобавление member интерфейсов
set interfaces bridge br0 member interface eth1
set interfaces bridge br0 member interface eth2
set interfaces bridge br0 member interface eth3
commitТеперь eth1, eth2, eth3 находятся в одном L2 broadcast domain.
IP-адрес на bridge
set interfaces bridge br0 address 192.168.1.1/24
commitIP-адрес назначается самому bridge интерфейсу для управления или маршрутизации.
Описание
set interfaces bridge br0 description 'LAN Bridge'
commitMember Interface параметры
Priority
Приоритет порта для STP:
set interfaces bridge br0 member interface eth1 priority 32
commitЗначение: 0-63 (по умолчанию 32). Меньше = выше приоритет.
Cost
Стоимость пути для STP:
set interfaces bridge br0 member interface eth1 cost 10
commitВлияет на выбор корневого порта в STP. Меньше = предпочтительнее.
Isolated
Изолированный порт (не может общаться с другими isolated портами):
set interfaces bridge br0 member interface eth2 isolated
commitПолезно для guest сетей (private VLAN).
Spanning Tree Protocol (STP)
STP предотвращает петли в L2 сетях.
Включение STP
set interfaces bridge br0 stp
commitПо умолчанию STP отключен.
Bridge Priority
Приоритет bridge для выбора root bridge:
set interfaces bridge br0 priority 4096
commitЗначения: кратные 4096 (0, 4096, 8192, …, 61440). Меньше значение = выше вероятность стать root bridge.
Hello Time
Интервал отправки BPDU:
set interfaces bridge br0 hello-time 2
commitЗначение в секундах (по умолчанию 2).
Forward Delay
Задержка перехода порта в forwarding состояние:
set interfaces bridge br0 forward-delay 15
commitЗначение в секундах (по умолчанию 15).
Max Age
Максимальный возраст BPDU:
set interfaces bridge br0 max-age 20
commitЗначение в секундах (по умолчанию 20).
Aging
MAC address aging - время хранения записей в FDB (Forwarding Database).
set interfaces bridge br0 aging 300
commitЗначение в секундах (по умолчанию 300).
IGMP/MLD
IGMP Snooping
Оптимизация multicast трафика:
set interfaces bridge br0 igmp snooping
commitПозволяет bridge “слушать” IGMP запросы и передавать multicast только на нужные порты.
IGMP Querier
set interfaces bridge br0 igmp querier
commitBridge становится IGMP querier для генерации membership queries.
VLAN Filtering
Bridge может работать как VLAN-aware switch.
Включение VLAN режима
set interfaces bridge br0 enable-vlan
commitNative VLAN
Untagged VLAN для member interface:
set interfaces bridge br0 member interface eth1 native-vlan 1
commitТрафик без VLAN тега будет помечен указанным VLAN.
Allowed VLANs
Разрешенные VLANs на member interface:
set interfaces bridge br0 member interface eth1 allowed-vlan 10
set interfaces bridge br0 member interface eth1 allowed-vlan 20
set interfaces bridge br0 member interface eth1 allowed-vlan 30
commitДиапазон VLANs:
set interfaces bridge br0 member interface eth2 allowed-vlan 10-50
commitVLAN sub-interfaces (VIF)
Создание L3 интерфейсов для VLAN:
set interfaces bridge br0 vif 10 address 192.168.10.1/24
set interfaces bridge br0 vif 10 description 'VLAN 10 - Management'
set interfaces bridge br0 vif 20 address 192.168.20.1/24
set interfaces bridge br0 vif 20 description 'VLAN 20 - Users'
commitПримеры конфигурации
Простой bridge (L2 switch)
Объединение трех портов в один L2 домен:
set interfaces bridge br0 member interface eth1
set interfaces bridge br0 member interface eth2
set interfaces bridge br0 member interface eth3
set interfaces bridge br0 stp
commitBridge с IP для управления
set interfaces bridge br0 address 192.168.1.1/24
set interfaces bridge br0 member interface eth1
set interfaces bridge br0 member interface eth2
set interfaces bridge br0 description 'LAN Bridge'
set interfaces bridge br0 stp
commitТеперь можно управлять VyOS через 192.168.1.1 из любого порта (eth1, eth2).
VLAN-aware bridge (trunk switch)
Создание trunk портов с множественными VLANs:
# Enable VLAN
set interfaces bridge br0 enable-vlan
# Trunk порт к другому коммутатору (все VLANs)
set interfaces bridge br0 member interface eth1 allowed-vlan 10-50
# Access порт для VLAN 10
set interfaces bridge br0 member interface eth2 allowed-vlan 10
set interfaces bridge br0 member interface eth2 native-vlan 10
# Access порт для VLAN 20
set interfaces bridge br0 member interface eth3 allowed-vlan 20
set interfaces bridge br0 member interface eth3 native-vlan 20
# L3 интерфейсы для VLANs
set interfaces bridge br0 vif 10 address 192.168.10.1/24
set interfaces bridge br0 vif 20 address 192.168.20.1/24
# STP
set interfaces bridge br0 stp
commitBridge для VM (виртуализация)
Соединение физического интерфейса с виртуальными машинами:
set interfaces bridge br0 member interface eth0
set interfaces bridge br0 member interface tap0
set interfaces bridge br0 member interface tap1
set interfaces bridge br0 stp
committap0, tap1 - интерфейсы виртуальных машин.
Bridge с изолированными портами (Private VLAN)
Порты не могут общаться друг с другом (guest isolation):
set interfaces bridge br0 member interface eth0
set interfaces bridge br0 member interface eth1 isolated
set interfaces bridge br0 member interface eth2 isolated
set interfaces bridge br0 member interface eth3 isolated
commiteth0 - uplink (может общаться со всеми). eth1, eth2, eth3 - изолированы друг от друга.
Multi-VLAN bridge с inter-VLAN routing
# VLAN-aware bridge
set interfaces bridge br0 enable-vlan
# Trunk порты
set interfaces bridge br0 member interface eth1 allowed-vlan 10
set interfaces bridge br0 member interface eth1 allowed-vlan 20
set interfaces bridge br0 member interface eth1 allowed-vlan 30
set interfaces bridge br0 member interface eth2 allowed-vlan 10-30
# L3 интерфейсы (шлюзы для VLANs)
set interfaces bridge br0 vif 10 address 192.168.10.1/24
set interfaces bridge br0 vif 10 description 'VLAN 10 - Management'
set interfaces bridge br0 vif 20 address 192.168.20.1/24
set interfaces bridge br0 vif 20 description 'VLAN 20 - Users'
set interfaces bridge br0 vif 30 address 192.168.30.1/24
set interfaces bridge br0 vif 30 description 'VLAN 30 - Servers'
# Enable IP forwarding (по умолчанию включено в VyOS)
set interfaces bridge br0 stp
commitТеперь VLAN 10, 20, 30 могут общаться через VyOS (inter-VLAN routing).
Bridge с Bond интерфейсом
Aggregation для redundancy:
# Bond интерфейс
set interfaces bonding bond0 member interface eth1
set interfaces bonding bond0 member interface eth2
set interfaces bonding bond0 mode '802.3ad'
# Bridge с bond
set interfaces bridge br0 member interface bond0
set interfaces bridge br0 member interface eth3
set interfaces bridge br0 stp
commitSecure bridge с firewall
# Bridge
set interfaces bridge br0 member interface eth1
set interfaces bridge br0 member interface eth2
set interfaces bridge br0 address 192.168.1.1/24
# Firewall для bridge трафика
set firewall bridge forward filter rule 10 action accept
set firewall bridge forward filter rule 10 state established
set firewall bridge forward filter rule 10 state related
set firewall bridge forward filter rule 20 action drop
set firewall bridge forward filter rule 20 state invalid
set firewall bridge forward filter default-action accept
commitОперационные команды
Просмотр bridge интерфейсов
show bridgeПример вывода:
bridge name bridge id STP enabled interfaces
br0 8000.000c29abcdef yes eth1
eth2
eth3Forwarding Database (FDB)
MAC address table:
show bridge br0 fdbПример вывода:
port mac addr flags
eth1 00:0c:29:12:34:56
eth2 00:0c:29:ab:cd:ef
eth3 00:0c:29:98:76:54 permanentMulticast Database (MDB)
Multicast группы:
show bridge br0 mdbVLAN информация
show bridge br0 vlanSTP информация
show bridge br0 spanning-treeУстранение неполадок
Bridge не пересылает трафик
Проверьте member интерфейсы:
show interfacesУбедитесь что все member интерфейсы в состоянии UP.
Проверьте firewall:
show firewall bridge forward filterSTP блокирует порты
Проверьте STP состояние:
show bridge br0 spanning-treeПорты могут быть в blocking/listening состоянии.
Уменьшите priority bridge для становления root:
set interfaces bridge br0 priority 0
commitBroadcast storm
Возможно петля в L2 сети.
Включите STP:
set interfaces bridge br0 stp
commitПроверьте кабели на петли.
VLAN трафик не проходит
Проверьте allowed-vlan:
show configuration interfaces bridge br0Убедитесь что нужные VLANs разрешены на member интерфейсах.
Проверьте native-vlan для untagged трафика.
MAC таблица переполнена
Увеличьте aging time:
set interfaces bridge br0 aging 600
commitИли уменьшите для быстрого обновления:
set interfaces bridge br0 aging 120
commitПроизводительность
MTU
Установите одинаковый MTU на всех member интерфейсах:
set interfaces bridge br0 mtu 1500
commitMember интерфейсы автоматически наследуют MTU от bridge.
Offloading
Bridge может использовать hardware offloading если поддерживается:
show interfaces bridge br0 offloadJumbo Frames
Для высокопроизводительных сетей:
set interfaces bridge br0 mtu 9000
commitВсе member интерфейсы должны поддерживать jumbo frames.
Безопасность
MAC-based ACL
Фильтрация по MAC-адресам через firewall:
set firewall bridge forward filter rule 100 action drop
set firewall bridge forward filter rule 100 source mac-address aa:bb:cc:dd:ee:ff
commitStorm Control
Ограничение broadcast/multicast:
Используйте firewall rate limiting:
set firewall bridge forward filter rule 200 action accept
set firewall bridge forward filter rule 200 limit rate 1000/second
commitPort Security
Isolated порты для guest сетей:
set interfaces bridge br0 member interface eth5 isolated
commitСравнение с другими технологиями
Bridge vs Bond
| Характеристика | Bridge | Bond |
|---|---|---|
| Уровень OSI | L2 | L2 |
| Назначение | Соединение сегментов | Агрегация каналов |
| Redundancy | Через STP | Через LACP/активный резерв |
| Используется для | Switching, VLAN | Увеличение пропускной способности |
Bridge vs VLAN
Bridge может содержать VLANs (VLAN-aware bridge). VLAN - это метод сегментации L2 домена.
Интеграция
С DHCP сервером
set service dhcp-server shared-network-name LAN subnet 192.168.1.0/24 option default-router 192.168.1.1
set interfaces bridge br0 address 192.168.1.1/24
commitС firewall
set firewall bridge forward filter rule 10 action accept
set firewall bridge forward filter rule 10 source address 192.168.1.0/24
commitС VPN
Bridge может содержать VPN интерфейсы (tap):
set interfaces bridge br0 member interface tap0
commitЛучшие практики
- Включайте STP - для предотвращения петель
- Используйте VLAN - для сегментации сети
- Документируйте - какие порты в каких VLANs
- MTU - одинаковый на всех member интерфейсах
- Isolated порты - для guest/IoT устройств
- Мониторинг FDB - отслеживайте MAC таблицу
- Firewall - защищайте bridge трафик
- Aging - настраивайте под нагрузку
- Priority - планируйте STP топологию
- Резервирование - используйте Bond для uplink
Ограничения
- Bridge пересылает broadcast - может быть проблемой в больших сетях
- STP конвергенция занимает время (30-50 секунд)
- Большое количество VLANs требует больше ресурсов
- Hardware offload зависит от NIC
Следующие шаги
- Bond - агрегация каналов
- VLAN - детальная настройка VLAN
- Firewall - защита L2 трафика
- DHCP Server - интеграция с DHCP