В VMmanager существует три типа сетевых настроек кластера: "Коммутация", "Маршрутизация" и "IP-fabric". Они отличаются порядком назначения IP-адресов виртуальным машинам и топологией построения сетей.
Тип настройки "Коммутация"
Логика работы
Для кластера выделяется пул, объединяющий блоки IP-адресов из физических сетей. IP-адресами из этого пула вы можете управлять в разделе Сети. Для такого типа настройки доступна миграция виртуальных машин (ВМ) между узлами кластера.
Пример сетевых настроек
Для кластера выделены физические сети 192.0.2.0/27 и 192.0.2.32/27. Один из адресов сети присваивается сетевому интерфейсу vmbr0. VMmanager выдаёт адреса из выделенных сетей для ВМ на узлах кластера.
Схема работы
Тип настройки "Маршрутизация"
Ограничения
На узлах кластера не поддерживается создание сетевых мостов (бриджей).
Логика работы
Узлу кластера в дата-центре назначается основной IP-адрес и выделяется подсеть дополнительных IP-адресов. ВМ на этом узле могут быть присвоены адреса только из выделенной подсети. При подключении узла в VMmanager указывается диапазон допустимых IP-адресов для ВМ. При создании ВМ на этом узле ей присваивается первый свободный адрес диапазона. Управлять IP-адресами вы можете в карточке узла: Узлы → имя узла → IP-адреса.
Маршрутизация ВМ осуществляется через виртуальные интерфейсы vnet и интерфейс сетевого моста vmbr0. Такой способ маршрутизации подсетей не позволяет осуществлять миграцию ВМ на другие узлы кластера.
На сетевом оборудовании дата-центра включена функция Port Security. Эта функция блокирует отправку кадров Ethernet, если MAC-адрес отправителя не указан как разрешённый. Так как ВМ на основе виртуализации KVM имеет отдельный MAC-адрес, кадры от ВМ будут заблокированы на сетевом оборудовании. Чтобы избежать этого, VMmanager изменяет сетевые настройки узла. После этого в кадрах от ВМ MAC-адрес источника будет заменяться на MAC-адрес сетевого интерфейса узла кластера.
Пример сетевых настроек
Серверу выделен основной IP-адрес 123.45.12.48 и подсеть адресов 203.0.113.40/29. Так как IP-адреса подсети будут использоваться в качестве дополнительных, ВМ можно назначить все адреса этой подсети: 203.0.113.40, 203.0.113.41, ..., 203.0.113.47. В качестве шлюза для подсети используется основной IP-адрес сервера на сетевом интерфейсе eno1.
Схема работы
Настройка IPv6 на узлах кластера в дата-центрах Hetzner и OVH
Для настройки IPv6-маршрутизации добавьте на узел кластера IPv6-адрес: Узлы → имя узла → IP-адреса → IPv6 → Добавить IP-адрес. Для корректной работы IPv6-сети укажите адрес ::2 и длину префикса 64. Например, 2a01:4f8:13b:9a7::2/64. VMmanager проведёт автоматическую настройку сети на этом узле.
Если маршрутизация с сетью провайдера отсутствует, вы можете включить проксирование IPv6 через протокол NDP:
- Подключитесь к узлу кластера по SSH. Подробнее о подключении по SSH см. в статье Настройка рабочего места.
-
Установите сервис ndppd:
dnf config-manager --set-enabled powertools
dnf install epel-release
dnf install ndppd
-
Создайте конфигурационный файл /etc/ndppd.conf:
Пример конфигурационного файлаproxy enp3s0f0 { rule 2a01:4f8:13b:9a7::/64 { iface vmbr0 } }
Пояснения -
Добавьте правило для шлюза по умолчанию:
ip -6 neigh add proxy <address> dev vmbr0
Пояснения к команде
Тип настройки "IP-fabric"
Ограничения
Тип настройки "IP-fabric" поддерживается только для узлов KVM-кластера с ОС AlmaLinux 8 и LXD-кластера с ОС Ubuntu 20.04.
На узлах кластера IP-fabric не поддерживается создание сетевых мостов (бриджей).
Логика работы
Тип настройки "IP-fabric" позволяет создавать виртуальные машины с публичными IP-адресами в приватной сети. Для кластера выделяется пул, объединяющий блоки IP-адресов из физических сетей. IP-адресами из этого пула вы можете управлять в разделе Сети. Для такого типа настройки доступна миграция ВМ между узлами кластера.
Создание кластера "IP-fabric" возможно только в сети, поддерживающей маршрутизацию по протоколу iBGP. Передачу информации о маршрутах iBGP выполняет оборудование Route Reflector. В качестве такого оборудования могут использоваться физические или виртуальные маршрутизаторы и/или серверы. При создании кластера добавьте адреса его узлов и номера автономных систем BGP в конфигурацию Route Reflector.
При создании кластера вы указываете:
- IP-адрес шлюза для ВМ. VMmanager будет присваивать этот адрес всем виртуальным интерфейсам на узле кластера и использовать его только для маршрутизации ВМ внутри узла. В качестве IP вы можете указать любой адрес, который не будет совпадать с адресами, использующимися на узле кластера.
- BGP-комьюнити.
- IP-адреса и номера автономных систем оборудования Route Reflector.
VMmanager при получении задачи на создание ВМ в кластере "IP-fabric":
-
Создаёт на узле кластера виртуальный интерфейс <vmname>_net0.
Пояснения - Создаёт ВМ с IP-адресом из выделенного пула и сетевой маской 255.255.255.255 (/32).
- Устанавливает в качестве шлюза для ВМ IP-адрес виртуального интерфейса <vmname>_net0. Маршрутизация между ВМ и шлюзом осуществляется через соединение "точка-точка" (PtP).
- Через сервис FRR передаёт информацию о созданном маршруте на оборудование Route Reflector.
Пример сетевых настроек
Для кластера выделен пул публичных IP-адресов 198.51.100.0/24. VMmanager выдаёт адреса из этого пула для ВМ на узлах кластера. Имена созданных ВМ — aaa (id 1), bbb (id 2), ccc (id 3) и т.д. В качестве шлюза используются интерфейсы aaa1_net0, bbb2_net0, ccc3_net0 и т.д. с IP-адресами 10.0.0.1. Внешние интерфейсы узлов кластера имеют приватные IP-адреса в сети 172.16.0.0/24.
Схема работы