Создание физических вычислительных сетей
В физических сетях могут размещаться несколько подсетей IPv4, IPv6 и с двойным стеком. Подсети IPv6 поддерживают три режима назначения IP-адресов: автоматическая конфигурация без отслеживания состояния (SLAAC), DHCPv6 без отслеживания состояния и DHCPv6 с отслеживанием состояния. Эти режимы описаны в следующей таблице:
| Режим адресации IPv6 | Назначение адреса ВМ | Конфигурация внешнего маршрутизатора | Конфигурация DHCP-сервера |
|---|---|---|---|
| SLAAC | ВМ получает адрес IPv6, шлюз по умолчанию и префикс подсети через объявления маршрутизатора (RA) с внешнего маршрутизатора. DNS-серверы и имя хоста не настраиваются автоматически. | Внешний маршрутизатор должен отправлять сообщения RA без флагов M (управляемая конфигурация адресов) и O (другая конфигурация). | Встроенный сервер DHCPv6 автоматически отключается. |
| DHCPv6 без отслеживания состояния | ВМ получает адрес IPv6 и шлюз по умолчанию через сообщения RA с внешнего маршрутизатора, а другую информацию (префикс подсети, DNS-серверы, имя хоста) со встроенного сервера DHCPv6. | Внешний маршрутизатор должен отправлять сообщения RA с флагом O. | Встроенный сервер DHCPv6 автоматически включается. |
| DHCPv6 с отслеживанием состояния | ВМ получает адрес IPv6 и другую информацию (префикс подсети, DNS-серверы, имя хоста) со встроенного сервера DHCPv6, а шлюз по умолчанию — через сообщения RA с внешнего маршрутизатора. | Внешний маршрутизатор должен отправлять сообщения RA с флагом M. | Встроенный сервер DHCPv6 автоматически включается. |
Назначение адреса IPv6 внутри виртуальной машины также зависит от сетевых параметров гостевой операционной системы.
Ограничения
- Поверх сети инфраструктуры можно создать только одну нетегированную физическую сеть.
- Когда предоставляется сетевой доступ ко всему домену, он настраивается только для существующих проектов внутри этого домена. Вновь созданные проекты не будут иметь доступа к сети.
- Нельзя подключать подсети IPv6 к маршрутизаторам. Как следствие, плавающие адреса IPv6 не поддерживаются.
- Адреса IPv6 не поддерживаются для балансировщиков нагрузки и кластеров Kubernetes.
- Виртуальная машина, которая подключена к сети с двойным стеком, всегда получает адрес IPv6, если для сети включен режим SLAAC или DHCPv6 без отслеживания состояния.
- Чтобы работать в подсети IPv6 с включенным режимом SLAAC посредством cloud-init, гостевая операционная система ВМ должна иметь версию cloud-init 19.4 или выше.
Предварительные требования
- Четкое понимание архитектуры вычислительных сетей, которая разъясняется в разделе Архитектура вычислительных сетей.
- Для сетей на базе VLAN виртуальный коммутатор подключен к магистральному сетевому интерфейсу, как описано в разделе Подключение виртуальных коммутаторов к магистральным интерфейсам.
Как добавить физическую вычислительную сеть
Панель администратора
- На экране Вычисления > Сеть > Сети нажмите Создать сеть.
-
На шаге Конфигурация сети выполните следующие действия:
-
Включите или отключите управление IP-адресами:
- Если управление IP-адресами включено, встроенный DHCP-сервер автоматически назначит ВМ, подключенным к сети, IP-адреса из пулов IP-адресов, а также задаст для ВМ настраиваемые DNS-серверы. Кроме того, по умолчанию для всех сетевых портов ВМ будет включена защита от спуфинга. Каждый сетевой интерфейс ВМ сможет принимать и отправлять IP-пакеты, только если ему назначены IP- и MAC-адреса. При необходимости защиту от спуфинга для интерфейса ВМ можно отключить вручную.
- Если управление IP-адресами отключено, то ВМ, подключенные к сети, получат IP-адреса от DHCP-серверов в этой сети (при их наличии). Кроме того, защита от спуфинга будет отключена для всех сетевых портов ВМ, и ее нельзя будет включить вручную. Это означает, что каждый сетевой интерфейс ВМ с назначенными IP- и MAC-адресами или без них сможет принимать и отправлять IP-пакеты.
В любом случае можно будет вручную назначить статические IP-адреса изнутри виртуальных машин.
- Выберите тип сети Физическая.
-
Укажите имя сети, а затем выберите сеть инфраструктуры с типом трафика ВМ внешн.
- Чтобы создать сеть на базе VLAN, выберите VLAN и укажите идентификатор VLAN. Чтобы создать плоскую физическую сеть, выберите Untagged (Без тега).
- Нажмите кнопку Далее.
-
-
Если вы включили управление IP-адресами, вы будете перенаправлены на шаг Управление IP-адресами, где можно добавить подсети IPv4 и IPv6.
-
Как добавить подсеть IPv4
- В разделе Подсети нажмите Добавить и выберите Подсеть IPv4.
- В окне Добавить подсеть IPv4 укажите диапазон адресов IPv4 сети, также при необходимости можно указать шлюз. Если оставить поле Шлюз пустым, то шлюз будет исключен из сетевых параметров.
-
Включите или отключите встроенный DHCP-сервер:
- Если DHCP-сервер включен, сетевым интерфейсам ВМ будут автоматически назначены IP-адреса: либо из пулов IP-адресов, либо при отсутствии пулов из всего диапазона IP-адресов сети. DHCP-сервер получит первые два IP-адреса из пула IP-адресов. Например:
В подсети 192.168.128.0/24 без шлюза DHCP-серверу будут назначены IP-адреса 192.168.128.1 и 192.168.128.2.
В подсети 192.168.128.0/24, в которой шлюзу назначен IP-адрес 192.168.128.1, DHCP-серверу будут назначены IP-адреса 192.168.128.2 и 192.168.128.3.
- Если DHCP-сервер отключен, сетевые интерфейсы ВМ все равно получат IP-адреса, но их нужно будет назначить вручную внутри виртуальных машин.
Виртуальный DHCP-сервер будет работать только внутри текущей сети и не будет виден из других сетей.
- Если DHCP-сервер включен, сетевым интерфейсам ВМ будут автоматически назначены IP-адреса: либо из пулов IP-адресов, либо при отсутствии пулов из всего диапазона IP-адресов сети. DHCP-сервер получит первые два IP-адреса из пула IP-адресов. Например:
- Укажите один или несколько пулов IP-адресов (диапазоны IP-адресов, которые будут автоматически назначаться виртуальным машинам).
- Укажите DNS-серверы, которые будут использоваться виртуальными машинами. Эти серверы могут предоставляться виртуальным машинам посредством встроенного DHCP-сервера либо с помощью сетевой конфигурации cloud-init (если пакет cloud-init установлен в ВМ).
- Нажмите Добавить.
-
Как добавить подсеть IPv6
- В разделе Подсети нажмите Добавить и выберите Подсеть IPv6.
- В окне Добавить подсеть IPv6 укажите диапазон адресов IPv6 сети, также при необходимости можно указать шлюз. Если оставить поле Шлюз пустым, то шлюз будет исключен из сетевых параметров.
- Выберите нужный режим адресации IPv6 в соответствии с таблицей выше.
-
Если вы выбрали для режима адресации IPv6 значение Нет, включите или отключите встроенный DHCP-сервер.
- Если DHCP-сервер включен, ВМ будет получать адрес IPv6 автоматически.
- Если DHCP-сервер отключен, необходимо будет назначать адрес IPv6 для ВМ вручную.
- Укажите один или несколько пулов IP-адресов (диапазоны IP-адресов, которые будут автоматически назначаться виртуальным машинам).
- Если вы выбрали режим адресации IPv6 DHCPv6 stateless (без отслеживания состояния) или DHCPv6 stateful (с отслеживанием состояния), укажите DNS-серверы, которые будут отправлены виртуальным машинам через встроенный DHCP-сервер.
- Нажмите Добавить.
-
-
На шаге Сетевой доступ можно настроить сетевой доступ следующим образом:
-
Выберите проекты, для которых нужно обеспечить сетевой доступ:
- Чтобы сеть была доступна из всех существующих и новых проектов, выберите Все проекты.
- Чтобы сеть была доступна из всех существующих проектов в пределах домена, выберите Выбрать проекты, а затем установите флажок напротив нужного домена.
- Чтобы сеть была доступна из определенного проекта внутри домена, выберите Выбрать проекты, щелкните имя домена, а затем выберите нужный проект.
- Если вы не хотите открывать общий доступ к сети, пропустите этот шаг, нажав Далее.
-
Выберите тип доступа:
- Предоставляя полный доступ, вы разрешаете виртуальным машинам в выбранных проектах взаимодействовать с этой сетью напрямую либо через виртуальные маршрутизаторы.
- Предоставляя маршрутизируемый доступ, вы разрешаете виртуальным машинам в выбранных проектах взаимодействовать с этой сетью только через виртуальные маршрутизаторы.
Также можно предоставить прямой доступ, который подразумевает прямое подключение виртуальных машин внутри проектов к физической сети. Прямой доступ можно открыть только с помощью инструмента
vinfra, указав ключdirectв параметре--rbac-policies. Этот тип доступа нельзя настроить на панели администрирования. - Нажмите кнопку Далее.
-
-
На шаге Сводка просмотрите конфигурацию и нажмите кнопку Добавить сеть.
Интерфейс командной строки
Используйте следующую команду:
vinfra service compute network create [--dhcp | --no-dhcp]
[--dns-nameserver <dns-nameserver>]
[--allocation-pool <allocation-pool>]
[--gateway <gateway> | --no-gateway]
[--rbac-policies <rbac-policies>]
[--physical-network <physical-network>]
[--vlan-network <vlan-network>]
[--vlan <vlan>] [--cidr <cidr>]
[--ipv6-address-mode <ipv6-address-mode>]
<network-name>
--dhcp- Включение DHCP
--no-dhcp- Отключение DHCP
--dns-nameserver <dns-nameserver>- IP-адрес сервера DNS. Этот параметр можно использовать несколько раз.
--allocation-pool <allocation-pool>- Пул IP-адресов для создания внутри сети в формате:
ip_addr_start-ip_addr_end. Этот параметр можно использовать несколько раз. --gateway <gateway>- IP-адрес шлюза
--no-gateway- Не настраивать шлюз для этой сети.
--rbac-policies <rbac-policies>-
Разделенный запятыми список политик RBAC в формате
<target>:<target_id>:<action> | none. Допустимые цели:project,domain. Допустимые действия:direct,full,routed. «*» является допустимым значениемtarget_idдля всех целей. Передайтеnoneдля очистки всех существующих политик.Пример:
domain:default:routed,project:uuid1:full --physical-network <physical-network>- Инфраструктурная сеть для связи с физической сетью
--vlan-network <vlan-network>- Сеть VLAN для связи
--vlan <vlan>- Идентификатор VLAN виртуальной сети
--cidr <cidr>- Маска подсети в нотации CIDR
--ipv6-address-mode <ipv6-address-mode>- Режим адресации IPv6:
dhcpv6-stateful,dhcpv6-stateless,slaac <network-name>- Имя сети
Пример 1. Чтобы создать нетегированную физическую сеть поверх инфраструктурной сети Public с включенным управлением IP-адресами, заданными сетевыми параметрами и полным сетевым доступом между всеми проектами в пределах указанного домена, выполните:
# vinfra service compute network create mypubnet --physical-network Public \ --cidr 10.136.16.0/22 --gateway 10.136.16.1 --dns-nameserver 10.35.11.7 \ --allocation-pool 10.136.18.141-10.136.18.148 \ --rbac-policies domain:cd421db9f3e84e3e8cd2c932c1f7a698:full
Пример 2. Чтобы создать физическую сеть на базе VLAN поверх инфраструктурной сети Public с идентификатором VLAN 10, включенным управлением IP-адресами, заданными сетевыми параметрами и прямым (общим) сетевым доступом между всеми проектами в инфраструктуре, выполните:
# vinfra service compute network create mypubnet_vlan --vlan 10 \ --physical-network Public --cidr 10.136.16.0/22 --gateway 10.136.16.1 \ --dns-nameserver 10.35.11.7 --allocation-pool 10.136.18.131-10.136.18.138 \ --rbac-policies project:*:direct
Новая вычислительная сеть появится в выводе команды vinfra service compute network list:
# vinfra service compute network list -c id -c name -c cidr -c allocation_pools +----------------+---------------+------------------+-------------------------------+ | id | name | cidr | allocation_pools | +----------------+---------------+------------------+-------------------------------+ | 22674f9d-<...> | mypubnet | 10.136.16.0/22 | - 10.136.18.141-10.136.18.148 | | 8f0dc747-<...> | mypubnet_vlan | 10.136.16.0/22 | - 10.136.18.131-10.136.18.138 | | a0019b43-<...> | myprivnet | 192.168.128.0/24 | - 192.168.128.2-192.168.128.254 | +----------------+---------------+------------------+-------------------------------+