1

Я использую DHCP-сервер на CentOS 6.5, я зарезервировал IP для определенного MAC-адреса

мой конфигурационный файл /etc/dhcp/dhcpd.conf

option domain-name-servers 192.168.1.5, 8.8.8.8;                     
default-lease-time 600;                                                 
max-lease-time 7200;                                                     
subnet 192.168.1.0 netmask 255.255.255.0 {                             
  range 192.168.1.90 192.168.1.250;                            
  option routers 192.168.1.1;                                           
}
host specialPC {
  hardware ethernet 00:16:3e:8a:30:f1;
  fixed-address 192.168.1.90;
}

Моя проблема в том, что когда specialPC выключен, DHCP-сервер использует свой IP-адрес «192.168.1.90». Я имею в виду, что если устройство подключается к сети, DHCP-сервер когда-нибудь передает зарезервированный IP-адрес «192.168.1.90» устройству и, когда происходит такой сценарий, specialPC при запуске не может получить свой IP от DHCP.

Это нормально? Я думаю, что-то не так.

2 ответа2

1

Ожидаемое вами поведение.

Объявление subnet с его range указывает диапазон, который DHCP-сервер может обрабатывать по своему усмотрению. См. Документацию, стр. 21, Подсети.

Объявление host указывает хост, который должен иметь определенные настройки (в данном случае IP-адрес).

Простое решение - изменить динамический диапазон или IP-адрес для specialPC таким образом, чтобы они не перекрывались. Изменение начала диапазона на 0,91 вместо 0,90 должно сделать это хорошо и предотвратить конфликты.

Я верю, но не могу найти это в документации, что вы также можете поместить объявление host объявление subnet , что должно предотвратить конфликты.

1

Прошу отличаться от Михаэля Кьёрлинга. В руководстве Linux для файла dhcpd.conf прямо говорится:

Зарезервированная аренда

Часто бывает полезно выделить один адрес одному клиенту в приблизительном размере. Операторы хоста с предложениями с фиксированным адресом в определенной степени существуют для этой цели, но поскольку операторы хоста предназначены для приблизительной «статической конфигурации», они страдают от отсутствия ссылок на множество других серверных служб, таких как динамический DNS, отработка отказа , «о событиях» и так далее.

Если стандартная динамическая аренда, как в любом операторе диапазона, помечена как «зарезервированная», то сервер будет выделять эту аренду только клиенту, с которым он идентифицирован (будь то по идентификатору клиента или аппаратному адресу).

На практике это означает, что аренда следует за механизмом нормального состояния, входит в состояние ACTIVE, когда клиент привязан к нему, истекает или освобождается, и любые события или услуги, которые обычно предоставляются во время этих событий, обрабатываются нормально, как при любая другая динамическая аренда. Единственное отличие состоит в том, что отказоустойчивые серверы обрабатывают зарезервированные арендные договоры как особые, когда они входят в состояния FREE или BACKUP - каждый сервер применяет аренду в состояние, из которого он может выделить - и аренды не помещаются в очередь для распределения другим клиентам. Вместо этого они могут быть «найдены» только по идентификатору клиента. В результате аренда предоставляется только возвращающемуся клиенту.

Ключевой момент в конце, позвольте мне повторить это:

... и арендные договоры не помещаются в очередь для распределения другим клиентам. Вместо этого они могут быть «найдены» только по идентификатору клиента. В результате аренда предоставляется только возвращающемуся клиенту.

Таким образом, я считаю, что действительно что-то не так с ситуацией, описанной motaz, именно для того, что он сказал в комментарии к ответу Майкла Кьёрлинга. Исходя из опыта, у меня есть несколько устройств с зарезервированными адресами в пределах диапазона аренды, но я никогда не сталкивался с такими проблемами, как те, которые были объявлены Motaz.

Итак, теперь мое предложение к motaz:

  1. Добавить эту строку

     infinite-is-reserved on;
    

в файл конфигурации;

  1. изменить объявление хоста как

    host SpecialPC {
          hardware ethernet 00:16:3e:8a:30:f1;
          fixed-address 192.168.1.90;
          min-lease-time 2147483647 ;
          max-lease-time 2147483647 ;
    }
    

Это просто следует вышеупомянутому руководству, в котором говорится:

Бесконечное зарезервированное утверждение

бесконечный зарезервированный флаг;

ISC DHCP теперь поддерживает «зарезервированные» аренды. См. Раздел о зарезервированных лизингах ниже. Если этот флаг включен, сервер будет автоматически резервировать аренду, выделенную клиентам, которые запросили бесконечное (0xffffffff) время аренды.

По умолчанию выключено.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .