Openvswitch
Содержание
Общие настройка
Включить сервис
systemctl enable --now openwsvitch
Настройки физических интерфейсов через etcnet на примере ens19
cat /etc/net/ifaces/ens19/options
BOOTPROTO=static TYPE=eth NM_CONTROLLED=no DISABLED=no CONFIG_WIRELESS=no SYSTEMD_BOOTPROTO=static CONFIG_IPV4=yes SYSTEMD_CONTROLLED=no ON_BOOT=yes
Остальные файлы в каталоге интерфейса (/etc/net/ifaces/ens19) должны отсутствовать
Настройка через ovs-vsctl
Проверить конфигурацию
ovs-vsctl show
Очистить конфигурацию
ovs-vsctl emer-reset
Добавить мост
ovs-vsctl add-br vmbr0
Прикрепляем к мосту vmbr0 физический сетевой интерфейс ens20
ovs-vsctl add-port vmbr0 ens20 trunks=100,200,999
Если необходимо создать мост vmbr0 поверх физических интерфейсов ens19, ens20, ens21 и при этом транковые порты должны быть только на ens19, а физические порты ens20 и ens21 должны работать на виланах, соответственно, 100 и 200
ovs-vsctl add-port vmbr0 ens19 trunks=100,200,999 ovs-vsctl add-port vmbr0 ens20 tag=100 ovs-vsctl add-port vmbr0 ens21 tag=200
Если нужно удалить физический сетевой интерфейсens20 из моста vmbr0
ovs-vsctl del-port vmbr0 ens20
Чтобы создать интерфейс vlan999 (не физический) и привязать его к мосту vmbr0 и трафику с тегом 999 (для управления хостом)
ovs-vsctl add-port vmbr0 vlan999 tag=999 -- set Interface vlan999 type=internal
Далее интерфейс vlan999 настраивается аналогично физическому интерфейсу
cat /etc/net/ifaces/vlan999/options
BOOTPROTO=static TYPE=eth NM_CONTROLLED=no DISABLED=no CONFIG_WIRELESS=no SYSTEMD_BOOTPROTO=static CONFIG_IPV4=yes SYSTEMD_CONTROLLED=no ON_BOOT=yes
cat /etc/net/ifaces/vlan999/ipv4address
10.10.10.2/24
Настройка через etcnet
Подготовка физических интерфейсов
cd /etc/net/ifaces/
ls ens19 options
cat ens19/options OOTPROTO=static TYPE=eth NM_CONTROLLED=no DISABLED=no CONFIG_WIRELESS=no SYSTEMD_BOOTPROTO=static CONFIG_IPV4=yes SYSTEMD_CONTROLLED=no ON_BOOT=yes
ls ens20 options
cat ens20/options OOTPROTO=static TYPE=eth NM_CONTROLLED=no DISABLED=no CONFIG_WIRELESS=no SYSTEMD_BOOTPROTO=static CONFIG_IPV4=yes SYSTEMD_CONTROLLED=no ON_BOOT=yes
Должны быть только эти файлы и только такое содержимое в них.
Количество самих интерфейсов и их названия могут отличаться.
Дальнейшие примеры будут строиться на базе физических интерфейсов
ens19 и ens20
Создаём конфигурацию для поднятия моста vmbr0 поверх ens20 средствами etcnet
Далее будет использоваться синтаксис heredoc для более удобного конфигурирования через копирование текста мышью из браузера в эмулятор терминала
cd /etc/net/ifaces/
mkdir vmbr0
cat << 'EOF' > vmbr0/options TYPE=ovsbr CONFIG_WIRELESS=no BOOTPROTO=static CONFIG_IPV4=yes ON_BOOT=yes HOST="ens20" UP="ovs-vsctl set port ens20 trunks=100,200,999" EOF
systemctl restart network
Проверка
ovs-vsctl show
должна вернуть что-то типа
968569fe-451b-4b42-b191-65700538b36b Bridge vmbr0 Port ens20 Interface ens20 Port vmbr0 Interface vmbr0 type: internal ovs_version: "2.17.8"