Настройка сетевой связности в подсети Yandex BareMetal
Если для приватной подсети настроена маршрутизация и назначен CIDR
При этом если маршрутизация для приватной подсети не настроена, то такая подсеть функционирует как сеть уровня L2 сетевой модели OSI
Это связано с тем, что DHCP-сервер появляется в составе приватной подсети только в тот момент, когда подсеть становится маршрутизируемой и подключается к виртуальному сегменту сети (VRF).
Примечание
Если на сервере установлена операционная система из образов Yandex Cloud Marketplace, на всех физических интерфейсах сервера получение IP-адресов по DHCP включено по умолчанию.
Подробнее об устройстве сетей в сервисе Yandex BareMetal см. в разделе Сеть.
В данном руководстве вы научитесь вручную выключать DHCP на сетевом интерфейсе приватной подсети сервера BareMetal и назначать ему статический IP-адрес. Также вы научитесь повторно активировать DHCP на сетевом интерфейсе сервера, после того как в этой подсети будет включена маршрутизация.
В качестве примера вы будете использовать серверы BareMetal под управлением ОС Linux Ubuntu 24.04. При использовании других операционных систем алгоритм действий будет аналогичным, но способ настройки сетевых интерфейсов может отличаться. Инструкции по настройке сетевых интерфейсов в других операционных системах смотрите в документации к этим ОС.
Чтобы настроить сетевую связность в подсети Yandex BareMetal:
- Подготовьте облако к работе.
- Создайте приватную подсеть.
- Арендуйте серверы BareMetal.
- Вручную настройте сетевые интерфейсы.
- Создайте VRF и включите маршрутизацию в приватной подсети.
- Включите DHCP на сетевых интерфейсах.
Перед началом работы
Зарегистрируйтесь в Yandex Cloud и создайте платежный аккаунт:
- Перейдите в консоль управления
, затем войдите в Yandex Cloud или зарегистрируйтесь. - На странице Yandex Cloud Billing
убедитесь, что у вас подключен платежный аккаунт, и он находится в статусеACTIVE
илиTRIAL_ACTIVE
. Если платежного аккаунта нет, создайте его и привяжите к нему облако.
Если у вас есть активный платежный аккаунт, вы можете создать или выбрать каталог, в котором будет работать ваша инфраструктура, на странице облака
Подробнее об облаках и каталогах.
Создайте приватную подсеть
Создайте приватную подсеть в пуле серверов ru-central1-m3
:
- В консоли управления
выберите каталог, в котором вы будете создавать инфраструктуру. - В списке сервисов выберите BareMetal.
- На панели слева выберите
Приватные подсети и нажмите кнопку Создать подсеть. - В поле Пул выберите пул серверов
ru-central1-m3
. - В поле Имя задайте имя подсети:
subnet-m3
. - Не включая опцию IP-адресация и маршрутизация, нажмите кнопку Создать подсеть.
Арендуйте серверы BareMetal
-
В консоли управления
выберите каталог, в котором вы создаете инфраструктуру. -
В списке сервисов выберите BareMetal и нажмите кнопку Заказать сервер.
-
В поле Пул выберите выберите пул серверов
ru-central1-m3
. -
В блоке Конфигурация выберите подходящую конфигурацию сервера.
-
(Опционально) В блоке Диск настройте разметку дисков:
-
Нажмите кнопку Настроить разделы диска.
-
Укажите параметры разделов. Чтобы создать новый раздел, нажмите кнопку
Добавить раздел.Примечание
Чтобы самостоятельно собрать RAID-массивы и настроить разделы дисков, нажмите кнопку Разобрать RAID.
-
Нажмите кнопку Сохранить.
-
-
В блоке Образ выберите образ Ubuntu 24.04.
-
В блоке Условия аренды выберите период, на который арендуете сервер. По окончании указанного периода аренда сервера будет автоматически продлена на такой же период.
-
В блоке Сетевые настройки:
- В поле Приватная подсеть выберите созданную ранее подсеть
subnet-m3
. - В поле Публичный адрес выберите
Без адреса
.
- В поле Приватная подсеть выберите созданную ранее подсеть
-
В блоке Доступ:
-
В поле Пароль воспользуйтесь одним из вариантов создания пароля для root-пользователя:
-
Чтобы сгенерировать пароль для root-пользователя, выберите опцию
Новый пароль
и нажмите кнопку Сгенерировать.Важно
Этот вариант предусматривает ответственность пользователя за безопасность пароля. Сохраните сгенерированный пароль в надежном месте: он не сохраняется в Yandex Cloud, и после заказа сервера вы не сможете посмотреть его.
-
Чтобы использовать пароль root-пользователя, сохраненный в секрете Yandex Lockbox, выберите опцию
Секрет Lockbox
:В полях Имя, Версия и Ключ выберите соответственно секрет, его версию и ключ, в которых сохранен ваш пароль.
Если у вас еще нет секрета Yandex Lockbox, нажмите кнопку Создать, чтобы создать его.
Этот вариант позволяет вам как задать собственный пароль (тип секрета
Пользовательский
), так и использовать пароль, сгенерированный автоматически (тип секретаГенерируемый
).
-
-
В поле Открытый SSH-ключ выберите SSH-ключ, сохраненный в вашем профиле пользователя организации.
Если в вашем профиле нет сохраненных SSH-ключей или вы хотите добавить новый ключ:
- Нажмите кнопку Добавить ключ.
- Задайте имя SSH-ключа.
- Загрузите или вставьте содержимое открытого SSH-ключа. Пару SSH-ключей для подключения к серверу по SSH необходимо создать самостоятельно.
- Нажмите кнопку Добавить.
SSH-ключ будет добавлен в ваш профиль пользователя организации.
Если в организации отключена возможность добавления пользователями SSH-ключей в свои профили, добавленный открытый SSH-ключ будет сохранен только в профиле пользователя создаваемого сервера BareMetal.
-
-
В блоке Информация о сервере в поле Имя задайте имя сервера:
server-m3-1
. -
Нажмите кнопку Заказать сервер.
-
Аналогичным способом арендуйте еще один сервер с именем
server-m3-2
в пуле серверовru-central1-m3
.
Примечание
Подготовка серверов и установка на них операционных систем может занять до 45 минут — в это время серверы будут находиться в статусе Provisioning
. После завершения установки ОС серверы перейдут в статус Ready
.
Вручную настройте сетевые интерфейсы
Поскольку DHCP-сервер в приватной подсети subnet-m3
выключен, созданным серверам BareMetal не назначены внутренние IP-адреса и сетевая связность между этими серверами отсутствует.
На этом этапе вы подключитесь к созданным серверам и измените настройки их сетевых интерфейсов, привязанных к приватной подсети, отключив в них DHCP и назначив им статические IP-адреса.
Серверам не были назначены публичные IP-адреса, поэтому подключиться к ним по SSH не получится. Для подключения к серверам вы будете использовать KVM-консоль.
Настройте сетевые интерфейсы на использование статических IP-адресов
-
В консоли управления
выберите каталог, в котором вы создаете инфраструктуру. -
В списке сервисов выберите BareMetal.
-
В строке с сервером
server-m3-1
нажмите значок и выберите KVM-консоль.Откроется окно с терминалом KVM-консоли, в котором вы увидите строку аутентификации:
server-m3-1 login:
Если вы не видите этой строки, попробуйте перезапустить сервер.
Все дальнейшие действия, описанные на этом шаге руководства, выполняйте в терминале KVM-консоли:
-
Введите имя пользователя
root
и нажмите ENTER. -
В строке для ввода пароля вставьте полученный при аренде сервера пароль и нажмите ENTER. Обратите внимание, что при наборе или вставке пароля в ОС Linux введенные символы не отображаются на экране.
Совет
Чтобы в KVM-консоли вставить текст из буфера обмена, воспользуйтесь полем Paste text here в правом верхнем углу.
Результат:
Welcome to Ubuntu 24.04.2 LTS (GNU/Linux 6.8.0-53-generic x86_64) ... root@server-m3-1:~# _
Если вы не сохранили пароль администратора к серверу, вы можете создать новый пароль по инструкции или переустановить на сервере операционную систему.
-
Посмотрите список сетевых интерфейсов сервера и определите интерфейс, подключенный к приватной подсети:
ip a
Результат:
... 5: etx2: <BROADCAST, MULTICAST,UP,LOWER_UP> mtu 1500 qdisc ma state UP group default qlen 1000 link/ether 00:02:09:35:fd:31 brd ff:ff:ff:ff:ff:ff altname enp6s0d1 inet6 fe80::202:c9ff:fe35:fd31/64 scope link valid_lft forever preferred_lft forever ...
Поскольку публичный IP-адрес у сервера отсутствует, значит, единственный активный сетевой интерфейс (с состоянием
state UP
) сервера — это тот интерфейс, который подключен к приватной подсети. В примере выше — это интерфейс с идентификаторомetx2
. На следующем шаге вы назначите этому интерфейсу статический IP-адрес. -
Откройте файл конфигурации сетевых интерфейсов сервера:
nano /etc/netplan/50-cloud-init.yaml
-
В открывшемся файле внесите изменения в настройки сетевого интерфейса:
network: version: 2 ethernets: ... # В этом примере приведена только конфигурация интерфейса, который необходимо настроить etx2: match: macaddress: "00:02:09:35:fd:31" dhcp4: false # Здесь необходимо отказаться от использования DHCP addresses: # В этой секции задается статический IP-адрес интерфейса - 192.168.1.101/24 set-name: "etx2"
Для интерфейса
etx2
выполните следующие настройки:-
Значение поля
dhcp4
измените наfalse
, чтобы отказаться от использования DHCP и задавать IP-адрес интерфейса статически. -
Добавьте секцию
addresses
, содержащую присвоенный серверу внутренний статический IP-адрес. Адрес каждого сервера должен быть уникальным в данной подсети.Примечание
Для адресации в подсетях можно использовать любые CIDR в зарезервированных под частные сети диапазонах
10.0.0.0/8
,172.16.0.0/12
или192.168.0.0/16
при условии, что в подсети не менее восьми адресов (префикс CIDR не более/29
).
Чтобы сохранить изменения и выйти из текстового редактора, на клавиатуре нажмите сочетание клавиш Ctrl + X и подтвердите сохранение изменений в файл
50-cloud-init.yaml
. -
-
Примените внесенные изменения:
netplan apply
-
Убедитесь, что нужному сетевому интерфейсу был присвоен IP-адрес. Для этого выполните команду, отфильтровав вывод по идентификатору нужного интерфейса:
ip a | grep etx2
Результат:
5: etx2: <BROADCAST,MULTICAST, UP,LOWER_UP> mtu 1500 qdisc ma state UP group default qlen 1000 inet 192.168.1.101/24 brd 192.168.1.255 scope global etx2
Сетевой интерфейс настроен на использование статического IP-адреса
192.168.1.101
в приватной подсетиsubnet-m3
.
-
-
Аналогичным способом настройте сетевой интерфейс на сервере
server-m3-2
, в настройках netplan присвоив ему статический IP-адрес192.168.1.102/24
.
Проверьте сетевую связность между серверами
Перенастроив сетевые интерфейсы серверов в приватной подсети, вы установили между ними сетевую связность. Убедитесь в этом:
-
В консоли управления
выберите каталог, в котором вы создаете инфраструктуру. -
В списке сервисов выберите BareMetal.
-
В строке с сервером
server-m3-1
нажмите значок и выберите KVM-консоль. -
Через KVM-консоль аутентифицируйтесь на сервере от имени пользователя
root
с помощью сохраненного при аренде сервера пароля. -
В терминале KVM-консоли выполните команду
ping
, чтобы убедиться в доступности сервераserver-m3-2
по его IP-адресу192.168.1.102
:ping 192.168.1.102 -c 5
Результат:
PING 192.168.1.102 (192.168.1.102) 56(84) bytes of data. 64 bytes from 192.168.1.102: icmp_seq=1 ttl=64 time=3.90 ms 64 bytes from 192.168.1.102: icmp_seq=2 ttl=64 time=0.235 ms 64 bytes from 192.168.1.102: icmp_seq=3 ttl=64 time=0.222 ms 64 bytes from 192.168.1.102: icmp_seq=4 ttl=64 time=0.231 ms 64 bytes from 192.168.1.102: icmp_seq=5 ttl=64 time=0.235 ms --- 192.168.1.102 ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4086ms rtt min/avg/max/mdev = 0.222/0.964/3.899/1.467 ms
Сетевая связность между серверами установлена, пакеты проходят без потерь.
Создайте VRF и включите маршрутизацию в приватной подсети
Чтобы включить DHCP-сервер в приватной подсети, создайте виртуальный сетевой сегмент (VRF) и включите в подсети маршрутизацию, привязав подсеть к этому VRF.
Создайте виртуальный сетевой сегмент (VRF)
- В консоли управления
выберите каталог, в котором вы создаете инфраструктуру. - В списке сервисов выберите BareMetal.
- На панели слева выберите
VRF и нажмите кнопку Создать VRF. - В поле Имя задайте имя VRF:
my-vrf
. - Нажмите кнопку Создать VRF.
Подключите приватную подсеть к VRF
-
В консоли управления
выберите каталог, в котором вы создаете инфраструктуру. -
В списке сервисов выберите BareMetal.
-
На панели слева выберите
Приватные подсети. -
В строке с приватной подсетью
subnet-m3
нажмите значок и выберите Редактировать. В открывшемся окне:- Включите опцию IP-адресация и маршрутизация.
- В поле Виртуальный сетевой сегмент (VRF) выберите созданный ранее сегмент
my-vrf
. - В поле CIDR укажите
192.168.1.0/24
. - В поле Шлюз по умолчанию оставьте значение по умолчанию
192.168.1.1
. - Включите опцию Назначение IP-адресов по DHCP и в появившемся поле Диапазон IP-адресов оставьте значения по умолчанию:
192.168.1.1
—192.168.1.254
.
-
Нажмите кнопку Сохранить изменения.
Включите DHCP на сетевых интерфейсах
После того как вы включили маршрутизацию в приватной подсети и подключили подсеть к VRF, в этой подсети был запущен DHCP-сервер. Чтобы сетевые интерфейсы ваших серверов BareMetal могли автоматически получать IP-адреса по DHCP, необходимо включить DHCP в их настройках.
Примечание
DHCP-сервер, который обслуживает маршрутизируемые приватные подсети с VRF, может выдавать IP-адреса только физическим интерфейсам известных (доверенных) по отношению к нему серверов BareMetal. Поэтому выдавать в приватной подсети IP-адреса контейнерам или виртуальным машинам, запущенным на сервере, нельзя.
Включите DHCP
-
В консоли управления
выберите каталог, в котором вы создаете инфраструктуру. -
В списке сервисов выберите BareMetal.
-
В строке с сервером
server-m3-1
нажмите значок и выберите KVM-консоль. -
Через KVM-консоль аутентифицируйтесь на сервере от имени пользователя
root
с помощью сохраненного при аренде сервера пароля. Все дальнейшие действия, описанные на этом шаге руководства, выполняйте в терминале KVM-консоли:-
Откройте файл конфигурации сетевых интерфейсов сервера:
nano /etc/netplan/50-cloud-init.yaml
-
В открывшемся файле внесите изменения в настройки сетевого интерфейса, подключенного к приватной подсети:
network: version: 2 ethernets: ... # В этом примере приведена только конфигурация интерфейса, который подключен к приватной подсети etx2: match: macaddress: "00:02:09:35:fd:31" dhcp4: true # Здесь необходимо включить DHCP # Закомментируйте или удалите секцию addresses # addresses: # - 192.168.1.101/24 set-name: "etx2"
Для нужного интерфейса выполните следующие настройки:
- Значение поля
dhcp4
измените наtrue
, чтобы включить на этом интерфейсе получение IP-адресов по DHCP. - Закомментируйте или удалите секцию
addresses
, содержащую присвоенный серверу внутренний статический IP-адрес.
Чтобы сохранить изменения и выйти из текстового редактора, на клавиатуре нажмите сочетание клавиш Ctrl + X и подтвердите сохранение изменений в файл
50-cloud-init.yaml
. - Значение поля
-
Примените внесенные изменения:
netplan apply
-
Убедитесь, что нужному сетевому интерфейсу был присвоен IP-адрес. Для этого выполните команду, отфильтровав вывод по идентификатору нужного интерфейса:
ip a | grep etx2
Результат:
5: etx2: <BROADCAST,MULTICAST, UP,LOWER_UP> mtu 1500 qdisc ma state UP group default qlen 1000 inet 192.168.1.2/24 metric 100 brd 192.168.1.255 scope global dynamic etx2
Сетевому интерфейсу сервера
server-m3-1
присвоен IP-адрес192.168.1.2
в приватной подсетиsubnet-m3
.
-
-
Аналогичным способом настройте сетевой интерфейс на сервере
server-m3-2
и сохраните присвоенный ему IP-адрес в приватной подсети. В примере это —192.168.1.3
Проверьте сетевую связность между серверами
Убедитесь, что между серверами сохранилась сетевая связность после получения ими в приватной подсети IP-адресов по DHCP:
-
В консоли управления
выберите каталог, в котором вы создаете инфраструктуру. -
В списке сервисов выберите BareMetal.
-
В строке с сервером
server-m3-1
нажмите значок и выберите KVM-консоль. -
Через KVM-консоль аутентифицируйтесь на сервере от имени пользователя
root
с помощью сохраненного при аренде сервера пароля. -
В терминале KVM-консоли выполните команду
ping
, чтобы убедиться в доступности сервераserver-m3-2
по IP-адресу, сохраненному на предыдущем шаге, например,192.168.1.3
:ping 192.168.1.3 -c 5
Результат:
PING 192.168.1.3 (192.168.1.3) 56(84) bytes of data. 64 bytes from 192.168.1.3: icmp_seq=1 ttl=64 time=0.271 ms 64 bytes from 192.168.1.3: icmp_seq=2 ttl=64 time=0.215 ms 64 bytes from 192.168.1.3: icmp_seq=3 ttl=64 time=0.262 ms 64 bytes from 192.168.1.3: icmp_seq=4 ttl=64 time=0.223 ms 64 bytes from 192.168.1.3: icmp_seq=5 ttl=64 time=0.208 ms --- 192.168.1.3 ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4106ms rtt min/avg/max/mdev = 0.208/0.235/0.271/0.025 ms
Сетевая связность между серверами установлена, пакеты проходят без потерь.
Как удалить созданные ресурсы
Удалить сервер BareMetal нельзя. Вместо этого можно отказаться от продления аренды сервера.
Чтобы перестать платить за созданные ресурсы, откажитесь от продления аренды созданных ранее серверов BareMetal.