Case 5 - sw1-a - sw2-a

Настройка sw1-a
# sw1-a и sw2-a базируются на операционной системе Linux
hostnamectl set-hostname sw1-a.my.domain.name; exec bash
# Указываем имя хоста в файле network задав параметр HOSTNAME
nano /etc/sysconfig/network
HOSTNAME=sw1-a.my.domain.name
# Проверяем что имя задалось верно
hostname -f
#----------------------------------------------
# Если директории с именами интерфейсов отсутствуют то можно их создать с помощью mkdir по очереди
# или сразу все, заменив номера интерфейсов на свой диапазон
mkdir -p /etc/net/ifaces/ens{18..23}
# Интерфейсы нужно поднять. Интерфейсы управляются etcnet, файл по умолчанию выглядит так:
# Содержимое файла options командой "cat /etc/net/ifaces/ens18/options"
TYPE=eth
BOOTPROTO=static
# Этот файл options и копируется в остальные интерфейсы, если у них нет этого конфига
# Выполнять только если нет файла options!
cp -r /etc/net/ifaces/ens18/* /etc/net/ifaces/ens18/*
cp -r /etc/net/ifaces/ens18/* /etc/net/ifaces/ens19/*
cp -r /etc/net/ifaces/ens18/* /etc/net/ifaces/ens20/*
cp -r /etc/net/ifaces/ens18/* /etc/net/ifaces/ens21/*
cp -r /etc/net/ifaces/ens18/* /etc/net/ifaces/ens22/*
cp -r /etc/net/ifaces/ens18/* /etc/net/ifaces/ens23/*
# Перезагружаем сеть
systemctl restart network
Установка openvswitch
# Временно прописываем сетевые настройки:
ip link add link ens18 name ens19.300 type vlan id 300
ip link set dev ens18.300 up
ip addr add 192.168.30.1/24 dev ens18.300
ip route add 0.0.0.0/0 via 192.168.30.254
echo "nameserver 77.88.8.8" > /etc/resolv.conf
# Обновляем список пакетов и устанавливаем openvswitch
apt-get update && apt-get install -y openvswitch
systemctl enable --now openvswitch
# Чтобы настройки openvswitch не удалялись:
sed -i "s/OVS_REMOVE=yes/OVS_REMOVE=no/g" /etc/net/ifaces/default/options
# Перезагрузить сервер, так быстрее сбросить временные сетевые настройки
reboot
# Чтобы на sw2-a можно было настроить сеть (ВРЕМЕННО) для установки openvswitch создадим виртуальный свитч:
ovs-vsctl add-br br0
ovs-vsctl add-port br0 ens18
ovs-vsctl add-port br0 ens20
Переходим к настройке sw2-a (шаг1)
# Удаляем временный виртуальный свич
ovs-vsctl del-br br0
#----------------------------------------------
# Создадим коммутатор с именем sw1-b
ovs-vsctl add-br sw1-a
# Интерфейс в сторону fw-a (ens18) настраиваем как магистральный (trunk) порт
ovs-vsctl add-port sw1-a ens19 trunk=100,200,300,400,500
# Добавим интерфейс, направленный в сторону admin-a (ens21)
ovs-vsctl add-port sw1-a ens21 tag=300
# Добавим интерфейс, направленный в сторону srv2-a (ens22), vlan 100
ovs-vsctl add-port sw1-a ens22 tag=100
# Добавим интерфейс, направленный в сторону srv2-a (ens23), vlan 200
ovs-vsctl add-port sw1-a ens23 tag=200
# Включаем модуль ядра отвечающий за тегированный трафик (802.1Q)
modprobe 8021q
echo "8021q" | tee -a /etc/modules
# На базе интерфейсов ens19 и ens20, направленных в сторону sw2-a, создадим bond-интерфейс в режиме active-backup
ovs-vsctl add-bond sw1-a bond0 ens19 ens20 bond_mode=active-backup
# Интерфейс типо bond в сторону sw2-a (bond0) настраиваем как магистральный (trunk) порт
ovs-vsctl set port bond0 trunk=100,200,300,400,500
# Сетевая подсистема etcnet будет взаимодействовать с openvswitch, для того чтобы корректно можно было назначить IP-адрес на интерфейс управления создаём каталог для management интерфейса с именем mgmt
mkdir /etc/net/ifaces/mgmt
nano /etc/net/ifaces/mgmt/options
# Содержимое файла:
TYPE=ovsport
BOOTPROTO=static
CONFIG_IPV4=yes
BRIDGE=sw1-a
VID=300
OVS_EXTRA="set port mgmt vlan_mode=native-untagged tag=300"
# Прописываем адрес и маршрут
echo "192.168.30.1/24" > /etc/net/ifaces/mgmt/ipv4address
echo "default via 192.168.30.254" > /etc/net/ifaces/mgmt/ipv4route
systemctl restart network
Настройка sw2-a
# sw1-a и sw2-a базируются на операционной системе Linux
hostnamectl set-hostname sw2-a.my.domain.name; exec bash
# Указываем имя хоста в файле network задав параметр HOSTNAME
nano /etc/sysconfig/network
HOSTNAME=sw2-a.my.domain.name
# Проверяем что имя задалось верно
hostname -f
#----------------------------------------------
# Временно задаем сетевые настройки
ip link add link ens18 name ens18.300 type vlan id 300
ip link set up ens18
ip link set up ens18.300
ip addr add 192.168.30.2/24 dev ens18.300
ip route add 0.0.0.0/0 via 192.168.30.254
echo "nameserver 77.88.8.8" > /etc/resolv.conf
# Устанавливаем openvswitch
apt-get update && apt-get install -y openvswitch
systemctl enable --now openvswitch
sed -i "s/OVS_REMOVE=yes/OVS_REMOVE=no/g" /etc/net/ifaces/default/options
reboot
Переходим к настройке sw1-a (шаг2)
# Если директории с именами интерфейсов отсутствуют то можно их создать с помощью mkdir по очереди
# или сразу все, заменив номера интерфейсов на свой диапазон
mkdir -p /etc/net/ifaces/ens{18..23}
# Интерфейсы нужно поднять. Интерфейсы управляются etcnet, файл по умолчанию выглядит так:
# Содержимое файла options командой "cat /etc/net/ifaces/ens18/options"
TYPE=eth
BOOTPROTO=static
# Этот файл options и копируется в остальные интерфейсы, если у них нет этого конфига
# Выполнять только если нет файла options!
cp -r /etc/net/ifaces/ens18/* /etc/net/ifaces/ens18/*
cp -r /etc/net/ifaces/ens18/* /etc/net/ifaces/ens19/*
cp -r /etc/net/ifaces/ens18/* /etc/net/ifaces/ens20/*
cp -r /etc/net/ifaces/ens18/* /etc/net/ifaces/ens21/*
cp -r /etc/net/ifaces/ens18/* /etc/net/ifaces/ens22/*
cp -r /etc/net/ifaces/ens18/* /etc/net/ifaces/ens23/*
# Перезагружаем сеть
systemctl restart network
#----------------------------------------------
# Создадим коммутатор с именем sw2-b
ovs-vsctl add-br sw2-a
# Интерфейс в сторону srv1-a (ens20), vlan 100
ovs-vsctl add-port sw2-a ens20 tag=100
# Интерфейс в сторону srv1-a (ens21), vlan 200
ovs-vsctl add-port sw2-a ens21 tag=200
# Добавим интерфейс, направленный в сторону sip-a (ens22), vlan 500
ovs-vsctl add-port sw2-a enp22 tag=500
# Добавим интерфейс, направленный в сторону cli-a (ens23), vlan 400
ovs-vsctl add-port sw2-a enp23 tag=400
# Включаем модуль ядра отвечающий за тегированный трафик (802.1Q)
modprobe 8021q
echo "8021q" | tee -a /etc/modules
# На базе интерфейсов ens18 и ens19, направленных в сторону sw1-a, создадим bond-интерфейс в режиме active-backup
ovs-vsctl add-bond sw1-cod bond0 ens18 ens19 bond_mode=active-backup
# Интерфейс типо bond в сторону sw1-a (bond0) настраиваем как магистральный (trunk) порт
ovs-vsctl set port bond0 trunk=100,200,300,400,500
# Сетевая подсистема etcnet будет взаимодействовать с openvswitch, для того чтобы корректно можно было назначить IP-адрес на интерфейс управления создаём каталог для management интерфейса с именем mgmt
mkdir /etc/net/ifaces/mgmt
nano /etc/net/ifaces/mgmt/options
# Содержимое файла:
TYPE=ovsport
BOOTPROTO=static
CONFIG_IPV4=yes
BRIDGE=sw1-a
VID=300
OVS_EXTRA="set port mgmt vlan_mode=native-untagged tag=300"
# Прописываем адрес и маршрут
echo "192.168.30.2/24" > /etc/net/ifaces/mgmt/ipv4address
echo "default via 192.168.30.254" > /etc/net/ifaces/mgmt/ipv4route
systemctl restart network