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
commit

IP-адрес назначается самому bridge интерфейсу для управления или маршрутизации.

Описание

set interfaces bridge br0 description 'LAN Bridge'
commit

Member 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
commit

Bridge становится IGMP querier для генерации membership queries.

VLAN Filtering

Bridge может работать как VLAN-aware switch.

Включение VLAN режима

set interfaces bridge br0 enable-vlan
commit

Native 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
commit

VLAN 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
commit

Bridge с 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

commit

Bridge для 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
commit

tap0, 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
commit

eth0 - 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

commit

Secure 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
                                                        eth3

Forwarding 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       permanent

Multicast Database (MDB)

Multicast группы:

show bridge br0 mdb

VLAN информация

show bridge br0 vlan

STP информация

show bridge br0 spanning-tree

Устранение неполадок

Bridge не пересылает трафик

Проверьте member интерфейсы:

show interfaces

Убедитесь что все member интерфейсы в состоянии UP.

Проверьте firewall:

show firewall bridge forward filter

STP блокирует порты

Проверьте STP состояние:

show bridge br0 spanning-tree

Порты могут быть в blocking/listening состоянии.

Уменьшите priority bridge для становления root:

set interfaces bridge br0 priority 0
commit

Broadcast 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
commit

Member интерфейсы автоматически наследуют MTU от bridge.

Offloading

Bridge может использовать hardware offloading если поддерживается:

show interfaces bridge br0 offload

Jumbo 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
commit

Storm 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
commit

Port Security

Isolated порты для guest сетей:

set interfaces bridge br0 member interface eth5 isolated
commit

Сравнение с другими технологиями

Bridge vs Bond

ХарактеристикаBridgeBond
Уровень OSIL2L2
НазначениеСоединение сегментовАгрегация каналов
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

Лучшие практики

  1. Включайте STP - для предотвращения петель
  2. Используйте VLAN - для сегментации сети
  3. Документируйте - какие порты в каких VLANs
  4. MTU - одинаковый на всех member интерфейсах
  5. Isolated порты - для guest/IoT устройств
  6. Мониторинг FDB - отслеживайте MAC таблицу
  7. Firewall - защищайте bridge трафик
  8. Aging - настраивайте под нагрузку
  9. Priority - планируйте STP топологию
  10. Резервирование - используйте Bond для uplink

Ограничения

  • Bridge пересылает broadcast - может быть проблемой в больших сетях
  • STP конвергенция занимает время (30-50 секунд)
  • Большое количество VLANs требует больше ресурсов
  • Hardware offload зависит от NIC

Следующие шаги

  • Bond - агрегация каналов
  • VLAN - детальная настройка VLAN
  • Firewall - защита L2 трафика
  • DHCP Server - интеграция с DHCP