Создание физических вычислительных сетей

Создание физических вычислительных сетей#

В физических сетях могут размещаться несколько подсетей 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 или выше.

Предварительные требования

Как добавить физическую вычислительную сеть

  1. На экране Вычисления → Сеть → Сети нажмите Создать сеть.

  2. На шаге Конфигурация сети выполните следующие действия:

    1. Включите или отключите управление IP-адресами:

      • Если управление IP-адресами включено, встроенный DHCP-сервер автоматически назначит ВМ, подключенным к сети, IP-адреса из пулов IP-адресов, а также задаст для ВМ настраиваемые DNS-серверы. Кроме того, по умолчанию для всех сетевых портов ВМ будет включена защита от спуфинга. Каждый сетевой интерфейс ВМ сможет принимать и отправлять IP-пакеты, только если ему назначены IP- и MAC-адреса. При необходимости защиту от спуфинга для интерфейса ВМ можно отключить вручную.

      • Если управление IP-адресами отключено, то ВМ, подключенные к сети, получат IP-адреса от DHCP-серверов в этой сети (при их наличии). Кроме того, защита от спуфинга будет отключена для всех сетевых портов ВМ, и ее нельзя будет включить вручную. Это означает, что каждый сетевой интерфейс ВМ с назначенными IP- и MAC-адресами или без них сможет принимать и отправлять IP-пакеты.

      В любом случае можно будет вручную назначить статические IP-адреса изнутри виртуальных машин.

    2. Выберите тип сети Физическая.

    3. Укажите имя сети, а затем выберите сеть инфраструктуры с типом трафика ВМ внешн.

    4. Чтобы создать сеть на базе VLAN, выберите VLAN и укажите идентификатор VLAN. Чтобы создать плоскую физическую сеть, выберите Нетегированная (без тега).

    5. Нажмите кнопку Далее.

    image1

  3. Если вы включили управление IP-адресами, вы будете перенаправлены на шаг Управление IP-адресами, где можно добавить подсети IPv4 и IPv6.

    • Как добавить подсеть IPv4

      1. В разделе Подсети нажмите Добавить и выберите Подсеть IPv4.

      2. В окне Добавить подсеть IPv4 укажите диапазон адресов IPv4 сети, также при необходимости можно указать шлюз. Если оставить поле Шлюз пустым, то шлюз будет исключен из сетевых параметров.

        1. Включите или отключите встроенный 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-сервер будет работать только внутри текущей сети и не будет виден из других сетей.

        2. Укажите один или несколько пулов IP-адресов (диапазоны IP-адресов, которые будут автоматически назначаться виртуальным машинам).

        3. Укажите DNS-серверы, которые будут использоваться виртуальными машинами. Эти серверы могут предоставляться виртуальным машинам посредством встроенного DHCP-сервера либо с помощью сетевой конфигурации cloud-init (если пакет cloud-init установлен в ВМ).

        4. Нажмите Добавить.

        image2

    • Как добавить подсеть IPv6

      1. В разделе Подсети нажмите Добавить и выберите Подсеть IPv6.

      2. В окне Добавить подсеть IPv6 укажите диапазон адресов IPv6 сети, также при необходимости можно указать шлюз. Если оставить поле Шлюз пустым, то шлюз будет исключен из сетевых параметров.

      3. Выберите нужный режим адресации IPv6 в соответствии с таблицей выше.

      4. Если вы выбрали для режима адресации IPv6 значение Нет, включите или отключите встроенный DHCP-сервер.

        • Если DHCP-сервер включен, ВМ будет получать адрес IPv6 автоматически.

        • Если DHCP-сервер отключен, необходимо будет назначать адрес IPv6 для ВМ вручную.

      5. Укажите один или несколько пулов IP-адресов (диапазоны IP-адресов, которые будут автоматически назначаться виртуальным машинам).

      6. Если вы выбрали режим адресации IPv6 DHCPv6 stateless (без отслеживания состояния) или DHCPv6 stateful (с отслеживанием состояния), укажите DNS-серверы, которые будут отправлены виртуальным машинам через встроенный DHCP-сервер.

      7. Нажмите Добавить.

        image3

  4. На шаге Сетевой доступ можно настроить сетевой доступ следующим образом:

    1. Выберите проекты, для которых нужно обеспечить сетевой доступ:

      • Чтобы сеть была доступна из всех существующих и новых проектов, выберите Все проекты.

      • Чтобы сеть была доступна из всех существующих проектов в пределах домена, выберите Выбрать проекты, а затем установите флажок напротив нужного домена.

      • Чтобы сеть была доступна из определенного проекта внутри домена, выберите Выбрать проекты, щелкните имя домена, а затем выберите нужный проект.

      • Если вы не хотите открывать общий доступ к сети, пропустите этот шаг, нажав Далее.

    2. Выберите тип доступа:

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

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

      Также можно предоставить прямой доступ, который подразумевает прямое подключение виртуальных машин внутри проектов к физической сети. Прямой доступ можно открыть только с помощью инструмента vinfra, указав ключ direct в параметре --rbac-policies. Этот тип доступа нельзя настроить на панели администрирования.

    3. Нажмите кнопку Далее.

    image4

  5. На шаге Сводка просмотрите конфигурацию и нажмите кнопку Добавить сеть.

    image5

Используйте следующую команду:

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>
--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 |
+----------------+---------------+------------------+-------------------------------+