Как мы знаем, когда клиент хочет получить IPv4-адрес от DHCP-сервера, задействуются 4 типа пакетов. Их можно увидеть на изображении ниже (из Веб-сайт Microsoft).
С точки зрения уровня канала данных (уровень 2 модели OSI) кадры, отправляемые от клиента к серверу, всегда транслируются (DISCOVER & REQUEST), но два других могут быть либо широковещательными, либо одноадресными, в зависимости от того, как broadcast-flag
опция устанавливается клиентом.
Я знаю, что этот флаг можно изменить в cisco IOS с помощью этой команды:
R(config)# [no] ip dhcp-client broadcast-flag
У меня вопрос, как я могу изменить этот флаг в Windows или Linux?
Кстати, я просто хочу узнать это из любопытства, и у меня нет особых потребностей в этом. Я тестировал в Windows и Linux и знаю, что этот флаг установлен в 0, поэтому эти кадры отправляются в одноадресном режиме.
Это то, что вы можете легко узнать, просто прочитав документ:
Цитируя man dhcpd.conf
:
всегда транслируемый флаг;
Протоколы DHCP и BOOTP требуют, чтобы клиенты DHCP и BOOTP устанавливали широковещательный бит в поле флагов заголовка сообщения BOOTP. К сожалению, некоторые клиенты DHCP и BOOTP этого не делают и поэтому могут не получать ответы от DHCP-сервера. DHCP-сервер можно настроить так, чтобы он всегда транслировал свои ответы клиентам, установив для этого флага значение «on» для соответствующей области; соответствующие области могут быть внутри условного оператора, как параметр для класса или как параметр для объявления хоста. Чтобы избежать создания избыточного широковещательного трафика в вашей сети, мы рекомендуем вам ограничить использование этой опции как можно меньшим количеством клиентов. Например, известно, что клиент Microsoft DHCP не имеет этой проблемы, как и клиенты DHCP OpenTransport и ISC.
На стороне клиента (man dhclient
):
-B
Установите флаг широковещательной передачи BOOTP в пакетах запросов, чтобы серверы всегда транслировали ответы.