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

Невозможно назначить IP-адрес в соответствии с параметром опции

У меня есть этот файл конфигурации DHCP:

authoritative;
option domain-name "XXX.XXX.XX";
allow bootp;
ddns-update-style ad-hoc;
class "karpuz-kabugu"
{
    match if (substring (option user-class, 0, 6) = "karpuz");
    log (info, "karpuz-kabugu");
}
        subnet 10.6.1.0 netmask 255.255.255.0  {
                pool {
                        range 10.6.1.10 10.6.1.99;
                        allow members of "karpuz-kabugu";
                }

                pool {
                        range 10.6.1.100 10.6.1.250;
                        allow unknown-clients;
                }

                option broadcast-address 10.6.1.255;
                option routers 10.6.1.1;

}

Я хочу арендовать IP-адреса в соответствии с классом пользователя (опция 77). Я установил идентификатор класса пользователя на моем DHCP-клиенте Windows, используя ipconfig /setclassid

Я также вижу karpuz установить в DHCP Option 77 с помощью wirehark.

Содержимое журнала DHCP выглядит следующим образом:

May 27 17:09:18 2013 dhcpd: karpuz-kabugu
May 27 17:09:18 2013 dhcpd: DHCPDISCOVER from 00:1c:23:b5:da:71 via eth4
May 27 17:09:19 2013 dhcpd: DHCPOFFER on 10.6.1.250 to 00:1c:23:b5:da:71 (DELL1-DESTEK) via eth4
May 27 17:09:19 2013 dhcpd: karpuz-kabugu
May 27 17:09:19 2013 dhcpd: if DELL1-DESTEK.meb.gov.tr IN A rrset doesn\'t exist add DELL1-DESTEK.meb.gov.tr 21600 IN A 10.6.1.250: timed out.
May 27 17:09:19 2013 dhcpd: DHCPREQUEST for 10.6.1.250 (10.6.1.1) from 00:1c:23:b5:da:71 (DELL1-DESTEK) via eth4
May 27 17:09:19 2013 dhcpd: DHCPACK on 10.6.1.250 to 00:1c:23:b5:da:71 (DELL1-DESTEK) via eth4
May 27 17:09:22 2013 dhcpd: karpuz-kabugu
May 27 17:09:22 2013 dhcpd: DHCPINFORM from 10.6.1.250 via eth4
May 27 17:09:22 2013 dhcpd: DHCPACK to 10.6.1.250 (00:1c:23:b5:da:71) via eth4

Как видите, моему клиенту назначен 10.6.1.250 однако я ожидаю IP-адрес между 10.6.1.10 и 10.6.1.99

Что я делаю не так?

Заявление dhcp allow unknow-clients, как указано на страницах руководства, позволяет получить IP-адрес только от клиентов, у которых нет host объявление в config. И это по умолчанию. Итак, я предполагаю сначала удалить такой оператор из объявления пула. И, во-вторых, попробуйте добавить deny заявление в этот пул. Конфигурация вашего пула должна быть такой:

pool {
        range 10.6.1.10 10.6.1.99;
        allow members of "karpuz-kabugu";
      }

pool {
        range 10.6.1.100 10.6.1.250;
        deny members of "karpuz-kabugu";
     }