Сервис 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 в публичной сети
Сетевому интерфейсу сервера, подключенному к публичной сети, выдается IPv4-адрес из общедоступного диапазона сетей интернет, если при заказе сервера в селекторе Публичный адрес было выбрано Автоматически
. DHCP выдает серверам IP-адреса в публичной подсети с префиксом /31
. Отключить DHCP нельзя.
Если на сервере выключен DHCP, то при конфигурировании сетевого интерфейса публичной сети необходимо учитывать следующее:
- Подсеть, в которой находится публичный IP-адрес сервера, имеет CIDR с префиксом
/31
и состоит из двух адресов: IP-адреса шлюза и IP-адреса хоста. - IP-адрес хоста указан в поле Публичный IPv4-адрес на странице с информацией о сервере.
- IP-адрес шлюза на единицу меньше, чем IP-адрес хоста.
Например:
- Публичный IPv4-адрес сервера —
198.51.100.111
. - CIDR подсети —
198.51.100.110/31
. - IP-адрес шлюза —
198.51.100.110
.
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
или перезагрузить сервер после изменения конфигурации.