# 7. Настройка коммутации между sw1-a и sw2-a
Вариант реализации:
sw1-a (alt-server):
Назначение имени на устройство:
- Для назначения имени устройства согласно топологии используем следующую команду:
hostnamectl set-hostname sw1-a.office.ssa2026.region; exec bash
- Так же рекомендуется указать имя в файле /etc/sysconfig/network:
vim /etc/sysconfig/network
-
- указать имя в параметре HOSTNAME:

- Проверить можно с помощью команды hostname с ключём -f:

Установка пакета Open vSwitch:
- Для установки пакета *openvswitchнеобходим доступ в сеть Интернет, для этого необходимо на виртуальной машине sw1-a*:
- назначив средствами iproute2 временно на интерфейс,смотрящий в сторону rtr-a (ens19),
- тегированный подинтерфейс с IP-адресом из подсети для vlan300, а также шлюзом по умолчанию и DNS
ip link add link ens19 name ens19.300 type vlan id 300
ip link set dev ens19.300 up
ip addr add 172.20.30.1/24 dev ens19.300
ip route add 0.0.0.0/0 via 172.20.30.254
echo "nameserver 77.88.8.8" > /etc/resolv.conf
- Почле чего обновляем список пакетов и устанавливаем openvswitch:
apt-get update && apt-get install -y openvswitch
- Включаем и добавляем в автозагрузку openvswitch:
systemctl enable --now openvswitch
- Правим основной файл options в котором по умолчанию сказано:
- удалять настройки заданые через ovs-vsctl,
- т.к. через etcnet будет выполнено только создание интерфейса типа internal
- с назначением необходимого IP-адреса, а настройка коммутации будет выполнена средствами openvswitch
sed -i "s/OVS_REMOVE=yes/OVS_REMOVE=no/g" /etc/net/ifaces/default/options
- Перезагрузить сервер — будет быстрее чем удалять параметры заданые в ручную через пакет iproute2:
reboot
- Проверяем интерфейсы и определяемся какой к кому направлен:
- таким образом, имеем:
- ens19 — интерфейс в сторону rtr-a;
- ens20 — интерфейс в строну dc-a;
- ens21 — интерфейс в сторону sw2-a;
- ens22 — интерфейс в сторону sw2-a;

- Поднимаем физические интерфейсы, создавая директорию для каждого интерфейса в /etc/net/ifaces и описывая файл options:
- если в файле options для порты ens19 есть параметры TYPE=eth и BOOTPROTO=static,
- то можно рекурсивно выполнить копирование ens19во все необходимые каталоги
cp -r /etc/net/ifaces/ens19 /etc/net/ifaces/ens20
cp -r /etc/net/ifaces/ens19 /etc/net/ifaces/ens21
cp -r /etc/net/ifaces/ens19 /etc/net/ifaces/ens22
- Перезагружаем службу network:
systemctl restart network
- Проверить, что интерфейсы перешли из статуса DOWN в статус UP:

- Чтобы на sw2-a была возможность установить пакет openvswitch:
- временно сосдадим простой коммутатор с именем, например br0
- и добавим в него интерфейсы ens19 в сторону rtr-a и ens21 в сторону sw2-a
ovs-vsctl add-br br0
ovs-vsctl add-port br0 ens19
ovs-vsctl add-port br0 ens21
sw2-a (alt-server):
Назначение имени на устройство:
- Реализация аналогично sw1-a:

- Для установки пакета *openvswitchнеобходим доступ в сеть Интернет, для этого необходимо на виртуальной машине sw2-a*:
- назначив средствами iproute2 временно на интерфейс,смотрящий в сторону sw1-a (ens19),
- тегированный подинтерфейс с IP-адресом из подсети для vlan300, а также шлюзом по умолчанию и DNS
ip link add link ens19 name ens19.300 type vlan id 300
ip link set dev ens19.300 up
ip addr add 172.20.30.2/24 dev ens19.300
ip route add 0.0.0.0/0 via 172.20.30.254
echo "nameserver 77.88.8.8" > /etc/resolv.conf
- Почле чего обновляем список пакетов и устанавливаем openvswitch:
apt-get update && apt-get install -y openvswitch
- Включаем и добавляем в автозагрузку openvswitch:
systemctl enable --now openvswitch
- Правим основной файл options в котором по умолчанию сказано:
- удалять настройки заданые через ovs-vsctl,
- т.к. через etcnet будет выполнено только создание интерфейса типа internal
- с назначением необходимого IP-адреса, а настройка коммутации будет выполнена средствами openvswitch
sed -i "s/OVS_REMOVE=yes/OVS_REMOVE=no/g" /etc/net/ifaces/default/options
- Перезагрузить сервер — будет быстрее чем удалять параметры заданые в ручную через пакет iproute2:
reboot
sw1-a (alt-server):
Настройка коммутации:
- Удаляем ранее созанный временный коммутатор с именем br0:
ovs-vsctl del-br br0
- Создадим коммутатор с именем sw1-a:
ovs-vsctl add-br sw1-a
- Проверить создание коммутатора можно с помощью команды ovs-vsctl show:

- Добавим интерфейс, направленный в сторону dc-a (ens20) в созданный коммутатор и назначим его в качестве порта доступа (access), указав принадлежность к VLAN 100:
ovs-vsctl add-port sw1-a ens20 tag=100
- Интерфейс в сторону rtr-a (ens19) добавляем в созданный коммутатор, но настраиваем как магистральный (trunk) порт:
- также разрешаем пропуск только требуемых VLAN (100,200 и 300)
ovs-vsctl add-port sw1-a ens19 trunk=100,200,300
- Интерфейсы в стороны sw2-a (ens21, ens22) добавляем в созданный коммутатор, но настраиваем как магистральный (trunk) порт:
- также разрешаем пропуск только требуемых VLAN (100,200 и 300)
ovs-vsctl add-port sw1-a ens21 trunk=100,200,300
ovs-vsctl add-port sw1-a ens22 trunk=100,200,300
- Проверить добавление портов в коммутатор можно с помощью команды ovs-vsctl show:

- Включаем модуль ядра отвечающий за тегированный трафик (802.1Q):
modprobe 8021q
echo "8021q" | tee -a /etc/modules
- Запускаем процесс STP на коммутаторе:
- в режиме 802.1w (rstp)
ovs-vsctl set bridge sw1-a rstp_enable=true
ovs-vsctl set bridge sw1-a other_config:stp-protocol=rstp
- Задаём данному коммутатору наименьший приоритет:
ovs-vsctl set bridge sw1-a other_config:rstp-priority=0
- Проверить заданный приоритет можно с помощью команды ovs-appctl rstp/show:

- Проверить заданный протокол и приоритет можно с помощью команды ovs-vsctl list bridge:

- Сетевая подсистема etcnet будет взаимодействовать с openvswitch, для того чтобы корректно можно было назначить IP-адрес на интерфейс управления
- создаём каталог для management интерфейса с именем mgmt:
mkdir /etc/net/ifaces/mgmt
- Описываем файл options для создания management интерфейса с именем mgmt:
vim /etc/net/ifaces/mgmt/options
-
- где:
- TYPE — тип интерфейса (internal);
- BOOTPROTO — определяет как будут назначаться сетевые параметры (статически);
- CONFIG_IPV4 — определяет использовать конфигурацию протокола IPv4 или нет;
- BRIDGE — определяет к какому мосту необходимо добавить данный интерфейс;
- VID — определяет принадлежность интерфейса к VLAN;

- Назначаем IP-адрес и шлюз на созданный интерфейс mgmt:
echo "172.20.30.1/24" > /etc/net/ifaces/mgmt/ipv4address
echo "default via 172.20.30.254" > /etc/net/ifaces/mgmt/ipv4route
- Для применения настроек, необходимо перезагрузить службу network:
systemctl restart network
- Проверить назначенный IP-адрес можно командой ip a:

- Проверить назначенный IP-адрес шлюза по умолчанию можно команжой ip r:

- Также стоит с помощью команды ovs-vsctl show проверить, что данный интерфейс добавился в коммутатор sw1-a:

- Помимо того, что интерфейс mgmt является портом доступа (access) необходимо использовать NativeVLAN:
ovs-vsctl set port mgmt vlan_mode=native-untagged
- Проверить можно с помощью команды ovs-vsctl list port mgmt:

sw2-a (alt-server):
- Проверяем интерфейсы и определяемся какой к кому направлен:
- таким образом, имеем:
- ens19 — интерфейс в сторону sw-1;
- ens20 — интерфейс в строну sw-1;
- ens21 — интерфейс в сторону cli2-a;
- ens22 — интерфейс в сторону cli1-a;

- Поднимаем физические интерфейсы, создавая директорию для каждого интерфейса в /etc/net/ifaces и описывая файл options:
- если в файле options для порты ens19 есть параметры TYPE=eth и BOOTPROTO=static,
- то можно рекурсивно выполнить копирование ens19во все необходимые каталоги
cp -r /etc/net/ifaces/ens19 /etc/net/ifaces/ens20
cp -r /etc/net/ifaces/ens19 /etc/net/ifaces/ens21
cp -r /etc/net/ifaces/ens19 /etc/net/ifaces/ens22
- Перезагружаем службу network:
systemctl restart network
- Проверить, что интерфейсы перешли из статуса DOWN в статус UP:

Настройка коммутации:
- Создадим коммутатор с именем sw2-a:
ovs-vsctl add-br sw2-a
- Проверить создание коммутатора можно с помощью команды ovs-vsctl show:

- Добавим интерфейс, направленный в сторону cli1-a (ens22) в созданный коммутатор и назначим его в качестве порта доступа (access), указав принадлежность к VLAN 200:
ovs-vsctl add-port sw2-a ens22 tag=200
- Добавим интерфейс, направленный в сторону cli2-a (ens21) в созданный коммутатор и назначим его в качестве порта доступа (access), указав принадлежность к VLAN 200:
ovs-vsctl add-port sw2-a ens21 tag=200
- Интерфейсы в стороны sw1-a (ens19, ens20) добавляем в созданный коммутатор, но настраиваем как магистральный (trunk) порт:
- также разрешаем пропуск только требуемых VLAN (100,200 и 300)
ovs-vsctl add-port sw1-a ens19 trunk=100,200,300
ovs-vsctl add-port sw1-a ens20 trunk=100,200,300
- Проверить добавление портов в коммутатор можно с помощью команды ovs-vsctl show:

- Включаем модуль ядра отвечающий за тегированный трафик (802.1Q):
modprobe 8021q
echo "8021q" | tee -a /etc/modules
- Запускаем процесс STP на коммутаторе:
- в режиме 802.1w (rstp)
ovs-vsctl set bridge sw2-a rstp_enable=true
ovs-vsctl set bridge sw2-a other_config:stp-protocol=rstp
- Проверить можно с помощью команды ovs-appctl rstp/show:

- Проверить заданный протокол и приоритет можно с помощью команды ovs-vsctl list bridge:

- Сетевая подсистема etcnet будет взаимодействовать с openvswitch, для того чтобы корректно можно было назначить IP-адрес на интерфейс управления
- создаём каталог для management интерфейса с именем mgmt:
mkdir /etc/net/ifaces/mgmt
- Описываем файл options для создания management интерфейса с именем mgmt:
vim /etc/net/ifaces/mgmt/options
-
- где:
- TYPE — тип интерфейса (internal);
- BOOTPROTO — определяет как будут назначаться сетевые параметры (статически);
- CONFIG_IPV4 — определяет использовать конфигурацию протокола IPv4 или нет;
- BRIDGE — определяет к какому мосту необходимо добавить данный интерфейс;
- VID — определяет принадлежность интерфейса к VLAN;

- Назначаем IP-адрес и шлюз на созданный интерфейс mgmt:
echo "172.20.30.2/24" > /etc/net/ifaces/mgmt/ipv4address
echo "default via 172.20.30.254" > /etc/net/ifaces/mgmt/ipv4route
- Для применения настроек, необходимо перезагрузить службу network:
systemctl restart network
- Проверить назначенный IP-адрес можно командой ip a:

- Проверить назначенный IP-адрес шлюза по умолчанию можно команжой ip r:

- Также стоит с помощью команды ovs-vsctl show проверить, что данный интерфейс добавился в коммутатор sw2-a:

- Помимо того, что интерфейс mgmt является портом доступа (access) необходимо использовать NativeVLAN:
ovs-vsctl set port mgmt vlan_mode=native-untagged
- Проверить можно с помощью команды ovs-vsctl list port mgmt:

- Проверить доступность коммутаторов sw1-a и sw2-a можно как с маршрутизатора rtr-a:

-
- так и с маршрутизатора rtr-cod:

- Также с коммутаторов sw1-a и sw2-a должна быть доступна сеть Интернет:


Последнее изменение: пятница, 14 ноября 2025, 11:25