Настраиваем сетевые интерфейсы Linux Bridge в системе виртуализации Proxmox без перезагрузки системы.
В настоящий момент у Proxmox нет возможности создания сетевых интерфейсов в web оболочке без перезагрузки. Эту неприятность можно сделать ручками.
Задача развернуть систему виртуализации Proxmox с возможностью создание виртуальных машин (CT/VM) в различных сегментах сети (используется Vlan/dot1q).
Дана сеть с тремя сегментами сети: внешняя (смотрит в интернет) 87.87.87.8/29 Vlan 10, локальная для пользователей 192.168.20.0/24 Vlan 20, локальная техническая 192.168.30.0/24 Vlan 30. Маршрутизатор с адресами 87.87.87.10, 192.168.20.1, 192.168.30.1. Необходимо поднять три сервиса в трёх сегментах сети c помощью CT/VM на Proxmox, например, web во внешней, 1с кластер в локальной и мониторинг в технической.
Имеем только установленный Proxmox c сетевым интерфейсом enp9s0f0.30 в технической сети с настроенными параметрами в Vlan 30:
IP: 192.168.30.5/24 Gateway: 192.168.30.1
См. рис. ниже.
Сразу после установки перевести enp9s0f0 работу Proxmox в ражим dot1q (метка Vlan). Эту настройку лучше делать рядом, либо через RMM/iLO/BMC консоль, нужно отчётливо понимать, что к серверу будет потерян доступ, если допустить ошибку при настройке.
# vi /etc/network/interfaces
Перед изменением:
auto lo iface lo inet loopback iface enp9s0f0 inet manual auto vmbr0 iface vmbr0 inet static address 192.168.30.5 netmask 255.255.255.0 gateway 192.168.30.1 bridge_ports enp9s0f0 bridge_stp off bridge_fd 0
После изменений:
auto lo iface lo inet loopback iface enp9s0f0 inet manual auto vmbr0 iface vmbr0 inet manual bridge_ports enp9s0f0 bridge_stp off bridge_fd 0 auto vmbr30 iface vmbr30 inet static address 192.168.30.5 netmask 255.255.255.0 gateway 192.168.30.1 bridge_ports enp9s0f0.30 bridge_stp off bridge_fd 0
/etc/init.d/networking restart или перезагрузка.
На коммутаторе не забываем перевести порт подключения Proxmox в режим trunk dot1q.
См. рис. ниже.
Сейчас мы спокойно можем создавать CT/VM в сети 192.168.30.0/24.
Например, сервер мониторинга выбирая при создании CT/VM интерфейс vmbr30.
Нам удаленно необходимо поднять сервер 1с в Vlan 20 и web-сервер в Vlan 10, но интерфейсов подходящих у нас нет.
С помощью командной строки:
Для Vlan20:
# brctl addbr vmbr20 (создаём мост)
# brctl stp vmbr20 off (отключаем протокол stp)
# brctl setfd vmbr20 0 (отключаем задержку при пересылке пакетов)
# ip link add link enp9s0f0 name enp9s0f0.20 type vlan id 20 (создаём виртуальный интерфейс enp9s0f0.20 привязанного к физическому enp9s0f0 с меткой dot1q 20)
# brctl addif vmbr20 enp9s0f0.20 (привязываем виртуальный интерфейс enp9s0f0.20 к enp9s0f0.20)
# ip link set dev enp9s0f0.20 up
# ip link set dev vmbr20 up
Для Vlan10:
# brctl addbr vmbr10
# brctl stp vmbr10 off
# brctl setfd vmbr10 0
# ip link add link enp9s0f0 name enp9s0f0.10 type vlan id 10
# brctl addif vmbr10 enp9s0f0.10
# ip link set dev enp9s0f0.10 up
# ip link set dev vmbr10 up
Тоже самое в конфигурационном файле:
# vi /etc/network/interfaces
Перед изменением:
auto lo iface lo inet loopback iface enp9s0f0 inet manual auto vmbr0 iface vmbr0 inet manual bridge_ports enp9s0f0 bridge_stp off bridge_fd 0 auto vmbr30 iface vmbr30 inet static address 192.168.30.5 netmask 255.255.255.0 gateway 192.168.30.1 bridge_ports enp9s0f0.30 bridge_stp off bridge_fd 0
После изменений:
auto lo iface lo inet loopback iface enp9s0f0 inet manual auto vmbr0 iface vmbr0 inet manual bridge_ports enp9s0f0 bridge_stp off bridge_fd 0 auto vmbr10 iface vmbr10 inet static bridge_ports enp9s0f0.10 bridge_stp off bridge_fd 0 auto vmbr20 iface vmbr20 inet static bridge_ports enp9s0f0.20 bridge_stp off bridge_fd 0 auto vmbr30 iface vmbr30 inet static address 192.168.30.5 netmask 255.255.255.0 gateway 192.168.30.1 bridge_ports enp9s0f0.30 bridge_stp off bridge_fd 0
Проверяем:
# brctl show
bridge name bridge id STP enabled interfaces vmbr0 8000.003048f00e3e no enp9s0f0 vmbr20 8000.003048f00e3e no enp9s0f0.10 vmbr20 8000.003048f00e3e no enp9s0f0.20 vmbr30 8000.003048f00e3e no enp9s0f0.30
# ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: enp9s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master vmbr0 state UP mode DEFAULT groupdefault qlen 1000 link/ether 00:30:48:f0:0e:3e brd ff:ff:ff:ff:ff:ff 3: vmbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000 link/ether 00:30:48:f0:0e:3e brd ff:ff:ff:ff:ff:ff 4: vmbr10: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000 link/ether 00:30:48:f0:0e:3e brd ff:ff:ff:ff:ff:ff 5: enp9s0f0.10@enp9s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master vmbr10 state UP mode DEFAULT group default qlen 1000 link/ether 00:30:48:f0:0e:3e brd ff:ff:ff:ff:ff:ff 6: vmbr20: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000 link/ether 00:30:48:f0:0e:3e brd ff:ff:ff:ff:ff:ff 7: enp9s0f0.20@enp9s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master vmbr30 state UP mode DEFAULT group default qlen 1000 link/ether 00:30:48:f0:0e:3e brd ff:ff:ff:ff:ff:ff 8: vmbr30: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000 link/ether 00:30:48:f0:0e:3e brd ff:ff:ff:ff:ff:ff 9: enp9s0f0.30@enp9s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master vmbr30 state UP mode DEFAULT group default qlen 1000 link/ether 00:30:48:f0:0e:3e brd ff:ff:ff:ff:ff:ff
Теперь можно спокойно перейсти к созданию CT/VM через web админку.
Новые vmbr20, vmbr10 и привязанные к ним метки Vlan 20 и Vlan 10 есть.
Если Вам не удается решить какую-либо проблему самостоятельно, обращайтесь к нам.