Как дать DHCP-серверу приоритет над другим сервером

Как дать DHCP-серверу приоритет над другим сервером

У нас есть маршрутизатор, который также функционирует как DHCP-сервер. Однако он не предлагает много настроек, поэтому в результате он всегда предлагает IPv6, а также IPv4 DNS-серверы, что мешает некоторым устройствам видеть некоторые серверы в локальной сети, которым требуется переопределение DNS для возврата локального адреса вместо видимого миру адреса.

Один из возможных обходных путей, который мы рассматриваем, — это настройка DHCP-сервера на одном из этих серверов. Если сервер работает, то он будет отправлять DHCP-ответы, которые настроены должным образом в отношении того, какие DNS-серверы должны использоваться. Мы могли бы запустить только этот DHCP-сервер, однако, если эта машина выйдет из строя по какой-либо причине, то, похоже, все выйдет из строя, потому что других DHCP-серверов не будет рядом, чтобы компенсировать нехватку. Но если мы запустим DHCP-сервер в качестве резервного (так как он редко выходит из строя, если вообще выходит), то нам нужно как-то присвоить ему более низкий приоритет, чтобы он не раздавал адреса, пока другой сервер не ответит или не выйдет из строя.

Как мы можем это сделать?

решение1

К сожалению, протокол DHCP не предоставляет возможности сделать это.

В DHCP RFC говорится, что если клиент получает несколько предложений DHCP (например, от нескольких серверов), клиент может решить, какое предложение он принимает. Но он оставляет этот алгоритм выбора в качестве детали реализации для разработчиков клиента DHCP.

Я знаю, что клиент DHCP от Apple (в macOS, iOS, watchOS, tvOS, HomePod и т. д.) использует эвристический подход для выбора ПРЕДЛОЖЕНИЯ, содержащего больше параметров DHCP, исходя из на удивление надежного предположения, что «настоящие» корпоративные серверы DHCP с большей вероятностью будут настроены на предоставление множества дополнительных параметров DHCP (например, списков используемых серверов LDAP и WINS), тогда как какой-нибудь случайный встроенный сервер DHCP в каком-нибудь потребительском домашнем сетевом устройстве будет иметь гораздо более короткий список параметров DHCP (например, маршрутизатор домашнего шлюза Wi-Fi, случайно подключенный к корпоративной локальной сети).

Я не могу говорить об алгоритмах выбора DHCP OFFER в других реализациях DHCP-клиента, таких как Windows, Android или других Linux и т. д. Возможно, многие реализации DHCP-клиента в вашей сети просто выберут первое OFFER, которое они видят, или последнее предложение, которое они видят после прослушивания в течение X миллисекунд. На самом деле нет способа узнать. Вы можете просмотреть исходные тексты популярных реализаций DHCP-клиента с открытым исходным кодом, но я сомневаюсь, что есть способ узнать, что делают различные версии DHCP-клиента Windows, если только Microsoft случайно не задокументировала это где-то публично.

Связанный контент