Часть 16: Интерфейсы мостов - github2wiki/SPBSUT_KURS GitHub Wiki

Сетевой мост - сетевое устройство, предназначенное для объединения сегментов (подсети) компьютерной сети в единую сеть.

Сетевой мост при получении из сети кадра (пакета) сверяет MAC-адрес назначения (англ. MAC (Media Access Control) address) последнего и, если он принадлежит данной подсети, передаёт (транслирует) кадр дальше в тот сегмент, которому предназначался данный кадр; если кадр не принадлежит данной подсети, мост ничего не делает.

Типы мостов

Термин «прозрачные» мосты объединяет большую группу устройств, поэтому их принято группировать в категории, базирующиеся на различных характеристиках изделий:

  • Прозрачные мосты (англ. transparent bridges) объединяют сети с едиными протоколами канального и физического уровней модели OSI;
  • Транслирующие мосты (англ. translating bridges) объединяют сети с различными протоколами канального и физического уровней;
  • Инкапсулирующие мосты (англ. encapsulating bridges) соединяют сети с едиными протоколами канального и физического уровня через сети с другими протоколами.

Настройка моста через утилиту ip

Выполним уже знакомую нам команду, но тип заменим еа bridge

sudo ip link add name br0 type bridge

Теперь давайте удалим IP-адрес у vlan интерфейса (назову его vlan109), и подключим к нему мост

sudo ip a del [IP-адрес] dev vlan109
sudo ip l set dev vlan109 master br0

Включим dhcp для интерфейса

sudo dhclient br0

Отлично. Давайте посмотрим, что получилось

ip a

Про brctl

brctl - это утилита для администрирования мостов, входящаяя в пакет bridge-utils. Давайте установим этот пакет.

sudo yum install bridge-utils

После установки, набрав в консоли brctl, можно увидеть список команд. commands: addbr add bridge delbr delete bridge addif add interface to bridge delif delete interface from bridge setageing set ageing time setbridgeprio set bridge priority setfd set bridge forward delay sethello set hello time setmaxage set max message age setpathcost set path cost setportprio set port priority show show a list of bridges showmacs show a list of mac addrs showstp show bridge stp info stp turn stp on/off

Теперь давайте создадим с помощью утилиты мост br0, и подключим vlan109. Удаляем IP-адрес у vlan интерфейса (назову его vlan109)

sudo ip a del [IP-адрес] dev vlan109
sudo ip l set dev vlan109 master br0

Создаем мост br0

sudo brctl addbr br0

Подключаем к br0 vlan109

sudo brctl addif br0 vlan109

Включаем dhcp для br0, и смотрим на то, что получилось

sudo dhclient br0
brctl show
ip a

Если используется несколько коммутаторов, для того чтобы избежать петель коммутации, нужно включить поддержку протокола Spanning Tree Protocol (Протокол остовного дерева). Давайте его включим, и посмотрим на парамметры stp для нашего моста

sudo brctl stp br0 on
brctl showstp br0

Настройка через конфиги

Ту же конфигурацию сделаем уже через конфигурационные файлы. Создадим файл /etc/sysconfig/network-scripts/ifcfg-br0. Поместим в него следующее содержание:

DEVICE=br0
BOOTPROTO=dhcp
ONBOOT=yes
STP=on
TYPE=Bridge

А в файл /etc/sysconfig/network-scripts/ifcfg-vlan109 добавим строку:

BRIDGE=br0

Перезагрузим службу сети

sudo systemctl restart network

Давайте посмотрим, что все получилось.

ip a
⚠️ **GitHub.com Fallback** ⚠️