Настройки сети в кластерах с технологией VPU

Часть виртуальных серверов VDS/VPS на виртуализации KVM открывается в кластере с поддержкой технологии VPU (vlan-per-user).

Из-за программной несовместимости, панели управления BILLmanager (личный кабинет, кнопка IP-адреса) и VMmanager (управление виртуальным контейнером, кнопка IP-адреса) показывают неверные сетевые настройки для всех IP-адресов контейнера.

Автоматически сеть настраивается правильно, а дополнительные IP, заказанные из личного кабинета, добавляются как alias к основному. Если же вы измените основной IP-адрес на дополнительный или сделаете другие ручные настройки сети, то данные, указанные в панелях управления, работать не будут.

Правильные сетевые настройки

Сетевой префикс всех IP-адресов: <ip-адрес>/32
Маска подсети: 255.255.255.255
Шлюз: 10.0.0.1

Примеры конфигурации сети

На кластерах с VPU нет общего broadcast-домена, все адреса настраиваются с префиксом /32 (использование сетевой маски 255.255.255.255). В этом случае сервер считает, что он один в своей сети и не будет посылать пакеты напрямую узлам, все будет пересылаться исключительно через шлюз. Однако, при этом нужно прямо задать маршрут до шлюза.

Установите 10.0.0.1 как IP-адрес шлюза - он один на всех хостах, чтобы избежать проблем при миграции VDS/VPS, иначе нужно было бы менять сетевые настройки.

ОС Debian

В файле конфигурации сетевых интерфейсов добавьте опцию:

pointopoint 10.0.0.1

ОС Ubuntu

root@gorskiy:~# cat /etc/network/interfaces
iface ens3 inet static
address <Основной IP адрес машины>
netmask 255.255.255.255
gateway 10.0.0.1
pointopoint 10.0.0.1

ОС Ubuntu 18

root@ubuntu:~# cat /etc/netplan/01-netcfg.yaml 
# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
version: 2
renderer: networkd
ethernets:
ens3:
addresses: [ <Основной IP адрес машины>/32 ]
routes:
- to: 0.0.0.0/0
via: 10.0.0.1
on-link: true
nameservers:
addresses: [ 8.8.4.4, 8.8.8.8 ]
optional: true

ОС CentOS

В CentOS установите значение опции SCOPE, пример:

[root@led-baza ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
BOOTPROTO="static"
IPADDR=<Основной IP адрес машины>
NETMASK=255.255.255.255
SCOPE="peer 10.0.0.1"
DNS1="188.120.247.2"

Проверьте наличие файла /etc/sysconfig/network-scripts/route-eth0 вида:

ADDRESS0=0.0.0.0
NETMASK0=0.0.0.0
GATEWAY0=10.0.0.1

ОС FreeBSD

Пример /etc/rc.conf:

# IPv4 основной адрес
ifconfig_re0="inet <основной-ip-адрес>/32"
# IPv4 примеры алиасов
#ifconfig_re0_alias0="inet <ip-адрес>/32"
#ifconfig_re0_alias1="inet <ip-адрес>/32"
# Сетевой интерфейс с доступом до шлюза
gateway_if="re0"
# IPv4 адрес шлюза
gateway_ip4="10.0.0.1"
static_routes="gateway default"
route_gateway="-host $gateway_ip4 -interface $gateway_if"
route_default="default $gateway_ip4"

Серверы в одной подсети не могут обмениваться пакетами напрямую. Такие пакеты следует принудительно отправлять через шлюз по умолчанию.

Обратите внимание: не используйте ключевое слово defaultrouter при такой настройке!

Добавление дополнительного IP-адреса

Дополнительные IP-адреса добавляются из командной строки:

ip addr add <новый-ip-адрес>/32 dev eth0

Через конфигурационные файлы в Ubuntu для сохранения после перезагрузки.

Добавьте в файл /etc/network/interfaces под соответствующим интерфейсом (например, eth0) следующие строки:

up ip addr add <новый-ip-адрес>/32 dev eth0
down ip addr del <новый-ip-адрес>/32 dev eth0

В Ubuntu 18 для добавления дополнительного адреса IPv4 <новый-ip-адрес> приведите строки

ens3:
addresses: [ <Основной IP адрес машины>/32 ]


к виду:

ens3:
addresses: [ <Основной IP адрес машины>/32, <новый-ip-адрес>/32]

Для добавления дополнительного адреса IPv6 "2a01:230:X:X::X" с маской сети "64" и шлюзом "2a01:230:X:X::1" приведите строки

ethernets:
ens3:
addresses: [ <Основной IP адрес машины>/32 ]
routes:
- to: 0.0.0.0/0
via: 10.0.0.1
on-link: true
nameservers:
addresses: [ 8.8.4.4, 8.8.8.8 ]


к виду:

ethernets:
ens3:
addresses: [ <Основной IP адрес машины>/32, 2a01:230:X:X::X/64 ]
gateway6: 2a01:230:X:X::1
routes:
- to: 0.0.0.0/0
via: 10.0.0.1
on-link: true
nameservers:
addresses: [ 8.8.4.4, 8.8.8.8, 2001:4860:4860::8844, 2001:4860:4860::8888]

В CentOS, создайте файл etc/sysconfig/network-scripts/ifcfg-eth0:1

DEVICE=eth0:1
IPADDR=новый-ip-адрес
NETMASK=255.255.255.255

Настройка дополнительных IP-адресов и подсетей в FreeBSD производится путём добавления алиасов к интерфейсам в файле /etc/rc.conf. Для каждой подсети (или если дополнительный IP-адрес находится в сети отличной от сети основного IP-адреса) следует указывать правильную маску для первого IP-адреса из сети. Остальные адреса сети указываются с маской /32 (255.255.255.255).

Для применения изменений перезапускаем сеть

# service network restart


или

# service networking restart

После ручного добавления IP-адреса сервер необходимо перезагрузить

Leave a comment

Make sure you enter all the required information, indicated by an asterisk (*). HTML code is not allowed.

Sales department:
Rua Francisco Sa Carneiro, Lt. 11
3430-048 Carregal do Sal
Portugal
Working hours are from 9:00 AM to 9:00 PM
For finance support write requests in billing tickets


Technics department 
Wounder st, Lt.11
3040 Limassol
Cyprus 
For technical support write requests in billing tickets

The company is founded in 2007 on universal human principles of integrity, human rights and freedoms, and the relationships between individuals.
Host-for.NET
Markova st., 88, Debrivne 15163
Geroev Stalingrada, 39B, Kiev 04210