Во многих крупных дата-центрах используется маршрутизация PtP или next-hop. При таких типах маршрутизации виртуальной машине выделяется только один адрес по маске 255.255.255.255 (или /32). Это сделано для экономии IPv4-адресов, так как при обычной маршрутизации требуется минимум 4 адреса IPv4: адрес сети, адрес шлюза, адрес сервера и широковещательный адрес.

Во время установки виртуальная машина получает IP-адрес и скачивает установочные пакеты из интернета. В данной статье описана настройка конфигурационного файла VMmanager, необходимая для работы в дата-центрах с маршрутизацией точка-точка.

Обратите внимание!

Перед началом настройки отключите сервис NetworkManager:

service NetworkManager stop
service NetworkManager disable 
CODE

Добавление типа адресов для установки виртуальной машины


Необходимо указать тип временных адресов, чтобы виртуальная машина могла получить специальный адрес во время установки. Тип временных адресов указывается в конфигурационном файле VMmanager (по умолчанию /usr/local/mgr5/etc/vmmgr.conf) с помощью параметра:

TempIpType <тип адресов>
BASH

Например:

TempIpType temp
BASH

Этот тип временных адресов необходимо добавить в источник IP-адресов: IPmanager (если настроена интеграция), либо во внутреннюю локальную базу.

При использовании IPmanager типы адресов добавляются в панели управления IPmanager.

Алгоритм добавления типа адресов в локальную базу:

  1. Подключитесь к локальной базе IP-адресов:

    sqlite3 /usr/local/mgr5/etc/vmmgr_ipdb.db
    BASH
  2. Определите id последней записи:

    select max(id) from ranges;
    BASH
  3. Добавьте свой диапазон со следующим номером id по порядку. Например, для диапазона 10.38.200.2-10.38.200.254 с маской 255.255.255.0, шлюзом 10.38.200.1, id 22 и типом temp:

    insert into ranges (id, name, gateway, netmask, family, type) values ('22', '10.38.200.2-10.38.200.254', '10.38.200.1', '255.255.255.0', '2', 'temp');
    BASH
  4. Для корректной работы диапазона IP-адресов необходимо, чтобы шлюз был доступен для устанавливаемой виртуальной машины, а также, чтобы с помощью указанного адреса можно было получить доступ в Интернет:
    1. Присвойте адрес шлюза интерфейсу vmbr0. Для этого добавьте в файл /etc/sysconfig/network-scripts/ifcfg-vmbr0 строки:

      IPADDR#="10.38.200.1"
      NETMASK#="255.255.255.0"
      BASH

      # — следующий порядковый номер IPv4-адреса (IPADDR -> IPADDR1 -> IPADDR2 -> ...).

    2. Для настройки NAT на мастер-узле кластера отредактируйте файл /etc/sysconfig/iptables и добавьте в него в цепочку *nat строку:

      -A POSTROUTING -s 10.38.200.0/24 ! -d 10.38.200.1/32 -o vmbr0 -j MASQUERADE
      BASH
    3. Разрешите forward на интерфейсе:

      sudo echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
      sysctl -p
      BASH
    4. Перезагрузите iptables:

      service iptables restart 
      BASH

Добавление адреса PtP маршрутизации


Для автоматического добавления на виртуальную машину IP-адреса с маской 255.255.255.255 (/32) и маршрутов через определенный удаленный адрес используется параметр конфигурационного файла VMmanager (по умолчанию /usr/local/mgr5/etc/vmmgr.conf):

NextHopIPv4 <IP адрес-шлюза>
BASH

После выполнения всех действий перезапустите панель:

/usr/local/mgr5/sbin/mgrctl -m vmmgr exit
BASH

Данных настроек должно быть достаточно для успешной установки виртуальной машины и получения корректных настроек сети.

Завершение


Чтобы применить новые настройки, перезапустите сервис network:

service network restart
CODE