Назад | Перейти на главную страницу

Может ли ОДИН dhcp-сервер обслуживать 2+ диапазона сетевых IP-адресов

У меня есть только один сервер DHCP, у которого есть только один интерфейс с IP-адресом 10.0.0.1/24. Dhcpd.conf похож на:

subnet 10.0.0.0 netmask 255.255.255.0 {                 <-------working
   host yyy {
         hardware ethernet BB:BB:BB:BB:BB:BB;
         fixed-address 10.0.0.53;
   }
}

subnet 192.168.0.0 netmask 255.255.255.0 {              <--------not working, why?
     host xxx {
         hardware ethernet AA:AA:AA:AA:AA;
         fixed-address 192.168.0.53;
     }
}

Когда хост xxx пытается запросить DHCP-сервер, DHCP-сервер показывает ошибку: DHCPDISCOVER from AA: AA: AA: AA: AA via eth0: network 10.0.0.1/24: no free lease.

Но когда хост yyy запрашивает IP-адрес, DHCP-сервер выдает предложение DHCP.

Могу ли я назначить адрес 192.168.0.0/24 на DHCP-сервере только с интерфейсом 10.0.0.0/24? Как я могу настроить, чтобы он работал?

Добро пожаловать в serverfault!
Да, вы можете выдавать IP-адреса для подсетей, в которых сам сервер не имеет интерфейса.

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

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

Ваша проблема здесь в том, что у вас нет бесплатных договоров аренды, о чем свидетельствует "без бесплатной аренды".

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

Он может обслуживать столько диапазонов сети, сколько вам нужно. :)

Но в вашей проблеме, возможно, IP-адрес 192.168.0.53, который вы хотите сдать в аренду хосту xxx, уже сдан в аренду другому клиенту, как вы сказали:

Когда хост xxx пытается запросить DHCP, сервер DHCP показывает ошибку: DHCPDISCOVER from AA: AA: AA: AA: AA через eth0: network 10.0.0.1/24: no бесплатная аренда.

«Без бесплатной аренды» означает, что это значит :).
Человеческий перевод здесь: Через интерфейс eth0 10.0.0.1/24 я получил DHCPDISCOVER от клиента AA: AA: AA: AA: AA, но у меня НЕТ свободного адреса для его аренды!

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

НОТА:
Также имейте в виду, что на некоторых серверах DHCP, если у хоста уже есть адрес (в вашем случае 192.168.0.53), и вы добавляете тот же адрес в качестве фиксированного адреса на сервере, ВЫ ПОЛУЧИТЕ СООБЩЕНИЕ ОБ ОШИБКЕ. С точки зрения сервера правильный ОНО НЕ МОЖЕТ арендовать уже арендованный адрес!
Поэтому вы можете сначала освободить IP-адрес из пула и попробовать процедуру еще раз.
ipconfig /release на клиенте может помочь :)

Краткий ответ: да, это возможно

Длинный ответ: вам лучше предложить этим клиентам 192.168.0.0/24 действующий шлюз, иначе они, вероятно, будут недовольны.