Download PDF
Download page Сетевые настройки кластера.
Сетевые настройки кластера
В VMmanager существует три типа сетевых настроек кластера: "Коммутация", "Маршрутизация" и "IP-fabric". Они отличаются порядком назначения IP-адресов виртуальным машинам и топологией построения сетей.
Тип настройки "Коммутация"
Логика работы
Для кластера выделяется пул, объединяющий блоки IP-адресов из физических сетей. IP-адресами из этого пула вы можете управлять в разделе Сети. Для такого типа настройки доступна миграция виртуальных машин (ВМ) между узлами кластера.
Пример сетевых настроек
Для кластера выделены физические сети 192.0.2.0/27 и 192.0.2.32/27. Один из адресов сети присваивается сетевому интерфейсу vmbr0. VMmanager выдаёт адреса из выделенных сетей для ВМ на узлах кластера.
Тип настройки "Маршрутизация"
Ограничения
На узлах кластера не поддерживается создание сетевых мостов (бриджей).
Логика работы
Используйте этот тип настройки, если узлы кластера находятся в дата-центрах Hetzner или OVH.
Узлу кластера в дата-центре назначается основной 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:
NDP используется для multicast-проксирования ICMP6-запросов типа neighbor discovery (ND). Если IPv6-сеть у провайдера смаршрутизирована on-link, то на физический интерфейс узла кластера будет приходить multicast-запрос ND (аналог ARP-запроса в IPv4). Проксирование позволяет пересылать ND-запросы в бридж vmbr0, а ответы — обратно на физический интерфейс.
- Подключитесь к узлу кластера по SSH. Подробнее о подключении по SSH см. в статье Настройка рабочего места.
Установите сервис ndppd:
dnf config-manager --set-enabled powertools
BASHdnf install epel-release
BASHdnf install ndppd
BASHСоздайте конфигурационный файл /etc/ndppd.conf:
Пример конфигурационного файла
proxy enp3s0f0 { rule 2a01:4f8:13b:9a7::/64 { iface vmbr0 } }
CODEenp3s0f0 — сетевой интерфейс для проксирования
2a01:4f8:13b:9a7::/64 — подсеть IPv6
vmbr0 — интерфейс бриджа на узле кластера
Добавьте правило для шлюза по умолчанию:
ip -6 neigh add proxy <address> dev vmbr0
BASH<address> — IPv6-адрес узла кластера. Например, 2a01:4f8:13b:9a7::2
Тип настройки "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.
<vmname> — имя и id ВМ. Например, для ВМ с именем aaa и id 12, интерфейс будет называться aaa12_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.
route — передача информация о сетевых маршрутах
Node 1, Node 2 — узлы кластера
vm1, vm2, vm3... — виртуальные машины
aaa1_net0, bbb2_net0... — виртуальные сетевые интерфейсы
eno1 — внешний сетевой интерфейс узла кластера
data center core — оборудование, обеспечивающее доступ во внешнюю сеть (интернет)
FRR — сервис на узле кластера, реализующий работу протокола iBGP
CORE — ядро подсистемы LInux
route reflector — сервер или сетевое оборудование, принимающее информацию о маршрутах от узлов и передающее её в data center core
backup route reflector — резервный комплект оборудования Route Reflector
Может быть полезно
Связанные статьи: