Openvswitch: различия между версиями
Vovan (обсуждение | вклад) (→Создаём конфигурацию для поднятия моста vmbr0 поверх ens20 средствами etcnet) |
Vovan (обсуждение | вклад) (→Создаём конфигурацию для поднятия vlan интерфейса vlan999 с id=999 поверх моста vmbr0 средствами etcnet) |
||
Строка 204: | Строка 204: | ||
<pre> | <pre> | ||
− | .. | + | 968569fe-451b-4b42-b191-65700538b36b |
+ | Bridge vmbr0 | ||
+ | Port vlan999 | ||
+ | tag: 999 | ||
+ | Interface vlan999 | ||
+ | type: internal | ||
+ | Port vmbr0 | ||
+ | Interface vmbr0 | ||
+ | type: internal | ||
+ | Port ens20 | ||
+ | trunks: [100, 200, 999] | ||
+ | Interface ens20 | ||
+ | ovs_version: "2.17.8" | ||
</pre> | </pre> |
Версия 15:03, 9 октября 2024
Содержание
Общие настройка
Включить сервис
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 для более удобного конфигурирования через копирование текста мышью из браузера в эмулятор терминала
Создаём мост vmbr0 поверх физического интерфейса ens20 с выводом трафика с виланов 100, 200, 999 через сетевой интерфейс ens20 во внешнюю сеть.
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" OVS_REMOVE=yes EOF
cat << 'EOF' > vmbr0/ifup-post ovs-vsctl set port ens20 trunks=100,200,999 EOF
chmod +x vmbr0/ifup-post
systemctl restart network
Проверка
ovs-vsctl show
должна вернуть что-то типа
968569fe-451b-4b42-b191-65700538b36b Bridge vmbr0 Port ens20 trunks: [100, 200, 999] Interface ens20 Port vmbr0 Interface vmbr0 type: internal ovs_version: "2.17.8"
Создаём конфигурацию для поднятия vlan интерфейса vlan999 с id=999 поверх моста vmbr0 средствами etcnet
cd /etc/net/ifaces/
mkdir vlan999
cat << 'EOF' > vlan999/options TYPE=ovsport CONFIG_WIRELESS=no BOOTPROTO=static CONFIG_IPV4=yes BRIDGE=vmbr0 VID=999 EOF
echo '10.10.10.2/24' > vlan999/ipv4address
systemctl restart network
Проверка
ovs-vsctl show
должна вернуть что-то типа
968569fe-451b-4b42-b191-65700538b36b Bridge vmbr0 Port vlan999 tag: 999 Interface vlan999 type: internal Port vmbr0 Interface vmbr0 type: internal Port ens20 trunks: [100, 200, 999] Interface ens20 ovs_version: "2.17.8"