Сервис DHCP в сети Yandex BareMetal
В публичных (эфемерных) и приватных подсетях для автоматического конфигурирования параметров IP-адресации на интерфейсах серверов предусмотрена возможность использования сервиса DHCP
Важно
DHCP может быть использован только для назначения IP-адреса непосредственно на физический интерфейс сетевой карты с фиксированием MAC-адреса, поэтому не рекомендуется менять MAC-адреса сетевых карт серверов.
Чтобы назначить несколько IP-адресов одному физическому интерфейсу, например, в случае виртуализации, потребуется использовать собственный DHCP-сервер. Изменение настроек DHCP-сервиса в подсети может глобально влиять на сетевую связность в приватной сети для серверов, использующих DHCP.
DHCP-опции
В публичных и приватных сетях передаются следующие DHCP-опции:
1
— Subnet Mask. Маска подсети.3
— Router. Шлюз по умолчанию. Шлюз подсети для публичных подсетей.6
— Domain Server. Адреса серверов DNS.77.88.8.8
,77.88.8.1
для публичных подсетей.51
— Lease Time. Время, на которое выдается адрес — 12 часов.54
— DHCP Server Id — шлюз подсети.58
— Renewal Time. Время, через которое клиент начнет перезапрашивать адрес — 5 минут.59
— Rebinding Time. Время, через которое сервер пошлет broadcast-запрос на обновление адреса — 7 минут.121
— Classless Static Route — статические маршруты в сети. Для приватных подсетей это10.0.0.0/8
,192.168.0.0/16
и172.16.0.0/12
через шлюз подсети. Используется для доступа в другие подсети в рамках VRF.
DHCP в публичной сети
В зависимости от выбранных сетевых настроек сервера BareMetal, в публичной сети для него может быть зарезервирована эфемерная или выделенная публичная подсеть.
DHCP в эфемерной публичной подсети
Если в сетевых настройках сервера в поле Публичный адрес выбрано значение Из эфемерной подсети
, то публичная подсеть сервера является эфемерной, а сетевому интерфейсу сервера, подключенному к такой подсети, выдается IPv4-адрес из диапазона публичных IP-адресов сервиса Yandex BareMetal.
В эфемерной публичной подсети DHCP-сервер включен по умолчанию и выдает серверам BareMetal IPv4-адреса с префиксом /31
. Отключить DHCP-сервер в эфемерной публичной подсети нельзя.
Если на сетевом интерфейсе сервера BareMetal, подключенном к эфемерной публичной подсети, выключен DHCP, то при конфигурировании этого интерфейса необходимо учитывать следующее:
- Подсеть, в которой находится публичный IP-адрес сервера, имеет длину префикса подсети в
31
бит и состоит из двух адресов: IP-адреса шлюза по умолчанию и IP-адреса хоста. - IP-адрес хоста указан в поле Публичный адрес на странице с информацией о сервере.
- IP-адрес шлюза на единицу меньше, чем IP-адрес хоста, и указан в поле Шлюз по умолчанию на странице с информацией о сервере.
Например:
- Публичный IP-адрес сервера —
198.51.100.111
. - CIDR подсети —
198.51.100.110/31
. - IP-адрес шлюза по умолчанию —
198.51.100.110
.
DHCP в выделенной публичной подсети
Если в сетевых настройках сервера в поле Публичный адрес выбрано значение Из выделенной подсети
, то публичная подсеть сервера является выделенной, а сетевому интерфейсу сервера, подключенному к такой подсети, может быть выдан IPv4-адрес из диапазона адресов выбранной выделенной подсети.
В выделенных публичных подсетях отсутствует DHCP-сервер. Поэтому на сетевом интерфейсе сервера, подключенного к такой подсети, необходимо вручную настроить статический IP-адрес из диапазона публичных IP-адресов, доступных в выбранной публичной подсети, а также задать адрес шлюза по умолчанию.
Информация о диапазоне доступных в публичной подсети IP-адресов и шлюзе по умолчанию указана в блоке Публичная сеть на странице с информацией о сервере, а также на странице с информацией о публичной подсети.
Включить DHCP-сервер в выделенной публичной подсети нельзя.
DHCP в приватной сети
Сетевому интерфейсу сервера, подключенному к приватной сети, выдается IP-адрес из CIDR, указанного в настройках для маршрутизации приватной подсети, к которой подключен сервер.
В рамках приватной сети возможно управление параметрами DHCP-сервиса:
- По умолчанию в настройках подсети DHCP-сервис выключен. В этом случае предполагается статическое назначение IP-адресов на сервера в приватной подсети. При включении DHCP-сервиса для подсети IP-адреса могут назначаться серверам автоматически.
- При настройке DHCP-сервиса для подсети можно указать дополнительные параметры.
Сервис DHCP можно использовать в подсети только для одного CIDR, из которого будет назначаться адрес только для физического интерфейса сервера. Если вам требуется настроить DHCP для выдачи адресов виртуальными машинам, его нужно настраивать самостоятельно, например, с помощью собственного DHCP-сервера.
DHCP в приватной сети выдает адреса на 12 часов. Сервер раз в 5 минут продлевает аренду адреса еще на 12 часов. Если адрес нужно обновить быстрее, следует сделать это на сервере вручную:
-
Узнайте имя интерфейса и текущий адрес:
ip -4 address ... 2: etx1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 altname eno1 altname enp2s0f0 inet 10.0.0.2/28 metric 100 brd 10.0.0.15 scope global dynamic etx1 valid_lft 43037sec preferred_lft 43037sec ...
-
Сбросьте аренду адреса:
dhclient -r etx1
-
Обновите аренду:
dhclient etx1
Известные проблемы
Если на вашем сервере установлена ОС Ubuntu 18, после переконфигурации сетевых настроек, например, при смене подсети, DHCP может добавить адрес из новой подсети серверу, но при этом не удалить старый. Старый адрес удалится сам при истечении аренды. Также можно использовать для удаления адреса команду вида ip -4 addr del 10.0.0.2/10 dev etx1
или перезагрузить сервер после изменения конфигурации.