Настройка сети в Hetzner

Материал из ISPWiki
Перейти к: навигация, поиск

Иерархия: VMmanager KVM -> Сети
VMmanager Cloud -> Сети

Дополнительная ручная настройка требуется для серверов, которые расположены в дата-центре Hetzner или других дата-центрах, использующих Port Security.

Port Security — функция коммутатора, позволяющая указать MAC-адреса серверов, которым разрешено передавать данные через порт. При такой настройке порт не передаёт пакеты, если MAC-адрес отправителя не указан как разрешенный.

Возникают проблемы:

  • виртуальный сервер на основе виртуализации KVM имеет отдельный MAC-адрес. Из-за этого пакеты, которые отправляют виртуальные серверы, блокируются на коммутаторе;
  • при добавлении узла кластера VMmanager перенастраивает сеть. В дата-центрах, использующих Port Security, связь с сервером при этом теряется.

Для решения проблем настройте сеть вручную. Настройка зависит от способа выделения IP-адресов серверу в дата-центре: выделена отдельная подсеть или выделено несколько дополнительных IP-адресов.

Использование выделенной подсети

Алгоритм настройки:

1. Добавьте в файл конфигурации VMmanager (по умолчанию /usr/local/mgr5/etc/vmmgr.conf) опцию Option BuildBridgesManually для включения ручного режима настройки сети. Подробнее см. в статьях Конфигурационный файл VMmanager и Управление сетями.

2. Перезапустите VMmanager:

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

3. Настройте сетевой интерфейс сервера. Для этого измените файл /etc/sysconfig/network-scripts/ifcfg-<основной адрес сервера>:

DEVICE=<основной адрес сервера>
BOOTPROTO=static
HWADDR=<MAC адрес>
ONBOOT=yes
BRIDGE=vmbr0
<основной адрес сервера по умолчанию> — по умолчанию eth0
<MAC адрес> — MAC-адрес основного интерфейса.

4. Настройте сетевой мост:

touch /etc/sysconfig/network-scripts/ifcfg-vmbr0
cat > /etc/sysconfig/network-scripts/ifcfg-vmbr0 << EOF
DEVICE=vmbr0
TYPE="Bridge"
BOOTPROTO=static
IPADDR=<IP-адрес>
NETMASK=<маска сети>
ONBOOT=yes
DELAY=0
<IP-адрес> — адрес для сервера из выделенной подсети.
<маска сети> — маска сети.

5. Включите форвардинг. Для этого добавьте в файл /etc/sysctl.conf:

net.ipv4.ip_forward = 1

6. Перезапустите службу network:

service network restart

Адрес, добавленный на сетевой мост, будет использоваться как шлюз для виртуальных машин.

Использование отдельных IP-адресов

Алгоритм настройки:

1. Добавьте в файл конфигурации VMmanager (по умолчанию /usr/local/mgr5/etc/vmmgr.conf) опцию Option BuildBridgesManually для включения ручного режима настройки сети. Подробнее см. в статьях Конфигурационный файл VMmanager и Управление сетями.

2. Перезапустите VMmanager:

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

3. Настройте сетевой интерфейс сервера. Для этого измените файл /etc/sysconfig/network-scripts/ifcfg-<основной адрес сервера>:

DEVICE=<основной адрес сервера>
BOOTPROTO=static
HWADDR=<MAC адрес>
ONBOOT=yes
BRIDGE=vmbr0
<основной адрес сервера по умолчанию> — по умолчанию eth0.
<MAC адрес> — MAC-адрес основного интерфейса.

4. Настройте сетевой мост:

touch /etc/sysconfig/network-scripts/ifcfg-vmbr0
cat > /etc/sysconfig/network-scripts/ifcfg-vmbr0 << EOF
DEVICE=vmbr0
TYPE="Bridge"
BOOTPROTO=static
IPADDR=<Основной IP-адрес сервера>
NETMASK=255.255.255.255
SCOPE="peer <Шлюз, выданный Hetzner для основного IP>"
ONBOOT=yes
DELAY=0

5. Переименуйте файл /etc/sysconfig/network-scripts/route-eth0 в /etc/sysconfig/network-scripts/route-vmbr0:

mv /etc/sysconfig/network-scripts/route-eth0 /etc/sysconfig/network-scripts/route-vmbr0

6. Перезапустите службу network:

service network restart

При добавлении сервера в качестве узла кластера укажите адрес шлюза, предоставленный провайдером для IP-адреса. Основной адрес сервера будет использоваться как шлюз для виртуальных машин. При создании виртуальной машины укажите ей MAC-адрес, выделенный в Hetzner для IP-адреса.