Зачем DHCP-серверу нужен статический IP-адрес?

8

Я экспериментирую с различными сетевыми установками с использованием виртуальных машин. Когда я настраиваю роль DHCP на Windows Server, требуется статический IP-адрес. У меня проблемы с пониманием, почему это необходимо с технической точки зрения.

Я понимаю, что DHCP - это то, что клиент передает запрос DHCP Discovery в сети, и любое устройство в сети может ответить. Таким образом, DHCP-серверу нужен IP-адрес, но почему этот IP-адрес должен быть статическим? DHCP-сервер может получить свой адрес в другом месте и по-прежнему отвечать на широковещательную рассылку, пока у него есть IP-адрес.

Например

  • Сервер A , Сервер B и Клиент X все подключены к одному коммутатору.
  • Сервер A является 10.0.0.1 и обслуживает 10.0.0.X / 24.
  • Сервер A настроен на передачу IP на сервер B только через фильтрацию MAC
  • Сервер B получает свой IP от Сервера A , таким образом он живет на 10.0.0.X / 24
  • Сервер B обслуживает 10.0.1.X / 24
  • Клиент X подключается и получает IP с сервера B

Конечно, как только Клиент X получит IP-адрес от Сервера B , он не сможет напрямую связаться с Сервером B, поскольку они живут в разных подсетях. Но это не проблема - запрос DHCP (изначально) является широковещательным, поэтому каждый коммутатор получит его.

Игнорировать точку зрения управления, почему я не могу иметь

  • Главный DHCP-сервер со статическим IP-адресом, он обслуживает только другие DHCP-серверы
  • Диапазон адресов для «вторичных» DHCP-серверов
  • Диапазон адресов для клиентов, полученный от «вторичных» DHCP-серверов

Есть ли техническая причина, по которой DHCP-серверы должны иметь статический IP-адрес?

Кевин
источник

Ответы:

6

Я понимаю, что DHCP - это то, что клиент передает запрос DHCP Discovery в сети, и любое устройство в сети может ответить.

Клиент может также сделать одноадресный запрос DHCP, запрос на продление выполняется в одноадресном режиме, поэтому клиент запрашивает непосредственно сервер DHCP. Что если DHCP изменил свой первоначальный IP-адрес? Обновление не удастся, и следующий запрос будет отправлен в эфир. Что не является поведением, которое оптимизирует ваш сетевой трафик.

Microsoft:

Продление аренды. DHCP-клиент сначала пытается возобновить аренду, когда прошло 50 процентов первоначального времени аренды, известного как T1. На этом этапе клиент DHCP отправляет одноадресное сообщение DHCPRequest на сервер DHCP, который первоначально предоставил его аренду. Если сервер доступен, а аренда все еще доступна, сервер отвечает одноадресным сообщением DHCPAck, и аренда возобновляется.

Источник

ISC:

Internet Systems Consortium DHCP Client 4.2.2
Copyright 2004-2011 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/eth0/00:0c:29:ac:18:75
Sending on   LPF/eth0/00:0c:29:ac:18:75
Sending on   Socket/fallback
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 7 << First request
DHCPREQUEST on eth0 to 255.255.255.255 port 67
DHCPOFFER from 10.0.0.253
DHCPACK from 10.0.0.253
bound to 10.0.0.6 -- renewal in 133 seconds.



DHCPREQUEST on eth0 to 10.0.0.253 port 67 << Renewal
DHCPACK from 10.0.0.253
bound to 10.0.0.6 -- renewal in 119 seconds.
DHCPREQUEST on eth0 to 10.0.0.253 port 67
DHCPACK from 10.0.0.253
bound to 10.0.0.6 -- renewal in 118 seconds.

Однако, как только договор аренды будет предоставлен, будущие сообщения DHCPREQUEST / RENEWAL DHCP отправляются в одноадресном режиме непосредственно на сервер DHCP.

Источник

Набиль Буренан
источник
9

Сервер DHCP должен иметь настроенный IP-адрес, чтобы он мог знать, какие области локально подключены к физическим интерфейсам, а какие можно обслуживать только через ретранслятор DHCP.

Игнорировать точку зрения управления,

Извините, но я думаю, что глупо пытаться отмахнуться и игнорировать практические вопросы, связанные с работой вашей сети. Получение действительного IP-адреса имеет решающее значение в большинстве сетей. Вы никогда не захотите, чтобы ваш DHCP-сервер выходил из строя, потому что он не мог получить свой собственный действительный адрес. Программное обеспечение и протоколы предназначены для работы в обычных практических ситуациях. То, что вы описываете, похоже, создает множество мест, где вещи могут потерпеть неудачу с минимальной или нулевой реальной выгодой .

Если вы действительно хотите иметь какую-то динамическую конфигурацию DHCP-сервера, вам, вероятно, стоит подумать об использовании системы управления конфигурацией для принудительного применения настроек на DHCP-сервере вместо того, чтобы пытаться использовать DHCP для настройки DHCP-сервера.

Zoredache
источник
Можете ли вы добавить больше объяснений о том, как статический IP-адрес связан с выбором областей? Если у меня две подсети в одной физической сети, то ретрансляция DHCP не понадобится.
Кевин
2
Ну, один DHCP-сервер может иметь много областей. Таким образом, вы можете настроить области для обеих этих подсетей на одном сервере. Сервер DHCP может отвечать на широковещательные запросы только областями, которые связаны с локальной подсетью. Он определяет это, глядя на назначенные локальные адреса. В качестве гарантии большинство DHCP-серверов требуют, чтобы это было статичным. Что произойдет с вашей сетью в вашем примере, если ваш DHCP-сервер получит адрес DHCP от мошеннического DHCP-сервера?
Zoredache
Итак, правильно ли сказать: «Запрос DHCP-сервера на 10.0.0.X / 24 для обслуживания 10.0.1.X / 24 без ретранслятора сбивает с толку, поскольку подсети предназначены для изоляции сетей, а эта конфигурация подразумевает, что ретранслятор нужно?"
Кевин
2
@ Я бы сказал, что комментарий Zoredache о том, что ваш DHCP-сервер получает адрес от мошеннического DHCP-сервера (или вообще не может его получить), является ключевым. Вы не можете построить надежный сетевой стек на неисправных основаниях.
Роб Мойр
1

Технически DHCP-сервер должен иметь известный IP-адрес для пакетов, отправляемых после начального пакета обнаружения. Этот адрес обычно нужно знать, когда он запускается, так что это в значительной степени статично. Он не должен (IIRC) находиться в одной подсети, чтобы ретранслятор DHCP работал, но он не будет работать без маршрута в подсеть, в которой он расположен.

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

Как и Zoredache, я бы посоветовал вам действительно придерживаться одной настройки DHCP-сервера для проводного соединения. Большинство DHCP-серверов позволяют вам классифицировать устройства различными способами (например: части MAC-адреса) и назначать их различным разделам подсети. После этого вы сможете задать различные правила брандмауэра для этих подразделов.

В безопасности не будет никакой разницы, потому что любой клиент может настроить свой собственный статический адрес в обоих сценариях.

user3710044
источник