У меня есть только один сервер 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 действующий шлюз, иначе они, вероятно, будут недовольны.