Виртуальные сети

Виртуальные сети позволяют гибко настраивать и изолировать сетевое взаимодействие между виртуальными серверами в облачной инфраструктуре. Поддерживается создание внешних и внутренних сетей, управление подсетями (IPv4/IPv6), настройка шлюзов, DHCP и подключение серверов через сетевые порты.

После подключения сети к виртуальному серверу дополнительный сетевой интерфейс появляется автоматически и может быть настроен на уровне операционной системы, например, через netplan в Linux.

Создание виртуальной сети

Создать можно как внешнюю, так и внутреннюю сеть.

Создание внешней виртуальной сети

Внешняя виртуальная сеть создается автоматически при создании первого виртуального сервера с внешним интернетом и в том же регионе.

В каждом регионе может быть только одна внешняя сеть.

Внешняя сеть удаляется автоматически, если на конец календарного месяца в ней отсутствуют порты.

Important

Удалить самостоятельно созданную внешнюю сеть нельзя.

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

Создание внутренней виртуальной сети

Для создания внутренней виртуальной сети:

  1. В Панели управления перейдите в раздел ОблакоСети.

  2. Нажмите кнопку Создать.

  3. Выберите регион. Сеть будет доступна во всех зонах доступности выбранного региона.

    Доступны следующие регионы:

    • Варшава, Польша

    • Москва, Россия

    • Майами, США

    • Даллас, США

    • Сан-Франциско, США

    • Манила, Филиппины

    • Алматы, Казахстан

  4. Выберите подходящие пункты, либо оставьте по умолчанию (после создания сети можно будет включить необходимые параметры):

    • Включить сеть - после создания сеть будет сразу включена.

    • Создать подсеть (subnet) - создает подсеть, связанную с сетью.

  5. Задайте Название сети (допустимо использование букв латинского алфавита, цифр и символов в разумных пределах).

  6. Для завершения нажмите кнопку Создать сеть.

Созданную внутреннюю сеть можно найти в разделе ОблакоСети.

Создание подсети

Для создание новой подсети:

  1. Установите галочку Создать подсеть (subnet) на странице создания сети, чтобы открылись поля настройки подсети.

  2. Выберите вкладку будущей подсети, например, IPv4.

  3. Для настройки подсети IPv4 введите Имя подсети (допустимо использование букв латинского алфавита, цифр и символов в разумных пределах).

  4. Введите желаемый Адрес подсети в формате CIDR (например, 192.168.0.1/24).

  5. В поле Шлюз ip из выпадающего списка выберите подходящий пункт для подсети:

    • Не задавать шлюз.

    • Задать шлюз по-умолчанию.

    • Задать IP-шлюз вручную (появится дополнительное поле, в которое надо вписать IP-адрес шлюза).

  6. В случае, если подсети нужен DHCP-сервер, установите соответствующую галочку и укажите IP-адреса начала и конца пула, а также выдаваемые DNS-сервера.

Подключение к серверу

Для подключения виртуальной сети к виртуальному серверу:

  1. Перейдите в раздел ОблакоВиртуальные серверы.

  2. Выберите нужный сервер и нажмите кнопку Подробнее.

  3. На странице сервера перейдите в раздел Порты и нажмите кнопку Создать.

  4. В появившемся списке выберите нужную сеть. В списке будут только сети региона, в котором создан сервер.

  5. К серверу возможно подключить уже созданный свободный порт или новый. Поле IP-адрес является необязательным.

    Если в подсети настроен DHCP-сервер, то IP-адрес выдаст DHCP-сервер.

  6. Нажмите кнопку Сохранить.

  7. В разделе Порты появится новая строка с выделенным IP-адресом. На сервере новый интерфейс появится автоматически, перезагрузка сервера не требуется.

Управление портами

Создать новый порт для внешней или внутренней сети можно на странице сети на вкладке Порты. Для этого в Панели управления перейдите в раздел ОблакоСети. Выберите нужную сеть и нажмите Подробнее.

Добавление порта

Для добавления нового порта:

  1. Перейдите в раздел ОблакоСети.

  2. Выберите нужную сеть и нажмите Подробнее.

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

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

    При необходимости введите IP-адрес.

  5. Нажмите кнопку Добавить.

Тарификация

Порты тарифицируются с момента создания и до удаления.

Порт с внешним IP-адресом, который не привязан к серверу, также будет тарифицироваться.

Подключение порта

Для подключения порта:

  1. Перейдите в раздел ОблакоСети.

  2. Выберите нужную сеть и нажмите Подробнее.

  3. На открывшейся странице перейдите на вкладку Порты и выберите нужный свободный порт из списка.

    У свободного порта отсутствует запись об подключенном устройстве и активна кнопка Подключить.

  4. Нажмите кнопку Подключить.

  5. В появившемся списке выберете сервер, к которому надо подключить порт.

  6. Нажмите кнопку Подключить порт.

Hint

Подключить уже созданный порт к серверу можно как при создании нового сервера, так и к уже созданному серверу на странице виртуального сервера в разделе Порты.

Отключение порта

Для отключения порта:

  1. Перейдите в раздел ОблакоСети.

  2. Выберите нужную сеть и нажмите Подробнее.

  3. На открывшейся странице перейдите на вкладку Порты и выберите нужный порт из списка.

  4. Нажмите кнопку Отключить, после чего порт будет отключен немедленно.

Important

Порт с IPv4 и IPv6 адресами останется в списке и будет доступен для подключения к другому виртуальному серверу.

Attention

При отключении порта во внешней сети публичный IPv4 адрес продолжит тарифицировать до момента его удаления.

Удаление порта

Для удаления порта:

  1. Перейдите в раздел ОблакоСети.

  2. Выберите нужную сеть и нажмите Подробнее.

  3. На открывшейся странице перейдите на вкладку Порты и выберите нужный порт из списка.

  4. Нажмите кнопку в виде корзины. Порт будет удален немедленно.

Настройка внутренней сети на виртуальном сервере Linux

После добавления портов на виртуальный сервер с внутренней сетью необходимо убедиться, что на сервере появились интерфейсы. Рассмотрим на примере виртуального сервера с Ubuntu.

Введите команду ip a:

root@test-ubu:~# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
   link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
   inet 127.0.0.1/8 scope host lo
      valid_lft forever preferred_lft forever
   inet6 ::1/128 scope host
      valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
   link/ether fa:16:3e:a7:06:e8 brd ff:ff:ff:ff:ff:ff
   inet 45.139.24.57/24 brd 45.139.24.255 scope global dynamic eth0
      valid_lft 85975sec preferred_lft 85975sec
   inet6 2a0f:1140:100::65/128 scope global dynamic noprefixroute
      valid_lft 85977sec preferred_lft 85977sec
   inet6 fe80::f816:3eff:fea7:6e8/64 scope link
      valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
   link/ether fa:16:3e:f0:d9:27 brd ff:ff:ff:ff:ff:ff
   inet 192.168.0.32/24 brd 192.168.0.255 scope global dynamic eth1
      valid_lft 85975sec preferred_lft 85975sec
   inet6 fe80::f816:3eff:fef0:d927/64 scope link
      valid_lft forever preferred_lft forever

Интерфейс eth1 - в данном случае внутренняя сеть.

Возможен случай, если интерфейс eth1 не поднялся.

root@test-ubu:~# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
   link/loopback 00:00:00:00:00:00 brd 00:00:00:00eth1:00:00
   inet 127.0.0.1/8 scope host lo
      valid_lft forever preferred_lft forever
   inet6 ::1/128 scope host
      valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
   link/ether fa:16:3e:a7:06:e8 brd ff:ff:ff:ff:ff:ff
   inet 45.139.24.57/24 brd 45.139.24.255 scope global dynamic eth0
      valid_lft 86390sec preferred_lft 86390sec
   inet6 2a0f:1140:100::65/128 scope global dynamic noprefixroute
      valid_lft 86391sec preferred_lft 86391sec
   inet6 fe80::f816:3eff:fea7:6e8/64 scope link
      valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
   link/ether fa:16:3e:f0:d9:27 brd ff:ff:ff:ff:ff:ff

В этом случае нужно внести изменения в файл etc/netplan/50-cloud-init.yaml любым текстовым редактором.

Пример файла со стандартными настройками:

# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
 version: 2
 renderer: networkd
 ethernets:
   enp0:
     dhcp4: yes
     dhcp6: yes

С помощью текстового редактора nano внесите изменения:

nano /etc/netplan/50-cloud-init.yaml

Откройте файл и внесите изменения для eth1:

# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
 version: 2
 renderer: networkd
 ethernets:
   enp0:
     dhcp4: yes
     dhcp6: yes
   eth1:
     dhcp4: yes

Сохраните файл комбинацией клавиш Ctrl+O и выйдите из текстового редактора, используя комбинацию клавиш Ctrl+X.

Для того чтобы настройки netplan сохранились и не сбрасывались после перезагрузки, введите команду netplan apply:

netplan apply

Для просмотра локальной сети на интерфейсе eth1 используйте команду ip a:

# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
   link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
   inet 127.0.0.1/8 scope host lo
      valid_lft forever preferred_lft forever
   inet6 ::1/128 scope host
      valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
   link/ether fa:16:3e:a7:06:e8 brd ff:ff:ff:ff:ff:ff
   inet 45.139.24.57/24 brd 45.139.24.255 scope global dynamic eth0
      valid_lft 86396sec preferred_lft 86396sec
   inet6 2a0f:1140:100::65/128 scope global dynamic noprefixroute
      valid_lft 86398sec preferred_lft 86398sec
   inet6 fe80::f816:3eff:fea7:6e8/64 scope link
      valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
   link/ether fa:16:3e:f0:d9:27 brd ff:ff:ff:ff:ff:ff
   inet 192.168.0.32/24 brd 192.168.0.255 scope global dynamic eth1
      valid_lft 86396sec preferred_lft 86396sec
   inet6 fe80::f816:3eff:fef0:d927/64 scope link
      valid_lft forever preferred_lft forever

Аналогичная ситуация, если нужно на интерфейсе eth1 поднять Static ip:

nano /etc/netplan/50-cloud-init.yaml

Откройте файл и внесите изменения для eth1:

# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
 version: 2
 renderer: networkd
 ethernets:
   enp0:
     dhcp4: yes
     dhcp6: yes
   eth1:
     dhcp4: no
     addresses: [192.168.0.30/24]
     routes:
       - to: default
         via: 192.168.0.1
     mtu: 1500
     nameservers:
         addresses: [IP DNS Сервера 1, IP DNS сервера 2]

Для того чтобы настройки netplan сохранились и не сбрасывались после перезагрузки, введите команду netplan apply:

netplan apply