7. Настройка коммутации между sw1-a и sw2-a

# 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