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

ISC DHCP - Заставляет клиентов получать новый IP-адрес вместо того, чтобы повторно выдавать IP-адрес их предыдущей аренды

Мы находимся в процессе миграции наших служб DHCP и DNS с сервера на базе Debian на реализацию Windows Server 2008 R2. На сервере Debian работает isc-dhcpd-V3.1.1. Все рабочие станции настроены так, чтобы иметь фиксированные адреса от 0,3 до 0,40 (мотивация этого выбора в основном управленческая / политическая, как и Вот). Аренда DHCP предоставляется в диапазоне от 0,100 до 0,175. Статически настроенные серверы находятся в блоке .200 и выше (который в основном пуст).

Когда мы переходим на платформу Windows, из соображений управления / политических соображений мне приходится снова менять диапазоны IP-адресов. Мы хотели бы, чтобы .1–0.10 были зарезервированы для сетевых устройств, коммутаторов и другой инфраструктуры. .200 останется предназначенным для серверов. Адресное пространство между ними должно быть доступно клиентам, а IP-адреса должны быть динамично выделено (Редактировать: вместо автоматического, как было упомянуто изначально) сервером.

Мой пул адресов на Windows Server выглядит так:

192.168.0.1     192.168.0.254     (Address range for distribution)
192.168.0.1     192.168.0.10      (IP addresses excluded from distribution)
192.168.0.200   192.168.0.254     (IP addresses excluded from distribution)

В настоящее время у нас все наши клиенты по-прежнему находятся в диапазоне .3–0,40, а несколько машин все еще активны в диапазоне .100– .175 (хотя есть много отключенных устройств, у которых все еще истек срок аренды с IP-адресами из этого диапазона. ассортимент). Поскольку «база данных» аренды не используется совместно старым и новым DHCP-сервером, как я могу предотвратить получение клиентами аренды с IP-адресом, который в настоящее время удерживается клиентом с бессрочным сроком аренды со старого DHCP-сервера? Если я просто расширю диапазон на DHCP-сервере Debian до 192.168.0.10 - 192.168.0.199, есть ли способ заставить клиентов не использовать повторно свой старый IP-адрес при отправке DHCPDISCOVER? Могу ли я сделать DHCP-сервер Windows авторитетным, как реализация ISC?

Dhcpd.conf с сервера Debian:

ddns-update-style none;
authoritative;

default-lease-time 43200;   #12 hours
max-lease-time 86400;       #24 hours

subnet 192.168.0.0 netmask 255.255.255.0 {

    option routers 192.168.0.1;
    option subnet-mask 255.255.255.0;
    option broadcast-address 192.168.0.255;

    range 192.168.0.100 192.168.0.175;
}


host workstation-1 {
 hardware ethernet 00:11:22:33:44:55;
 fixed-address 192.168.0.3;
} ... and so on until 192.168.0.40

Возможно, это не лучший способ решить эту проблему, но он сработал. Вот что я сделал.

1) Я добавил следующее ограничение к своему DHCP-серверу на базе Debian и удалил все записи с фиксированным адресом. Это заставляет всех клиентов в этих диапазонах IP перемещаться куда-нибудь в диапазон .41–199, в противном случае, когда я включаю, клиенты Windows Server получат аренду с IP-адресами в диапазоне .11–0,40, которые уже присутствуют в сети. Затем я оставляю все на некоторое время, чтобы истек срок аренды в этом диапазоне IP и был выдан новый.

subnet 192.168.61.0 netmask 255.255.255.0 {

        option routers 192.168.61.1;
        option subnet-mask 255.255.255.0;
        option broadcast-address 192.168.61.255;

        pool {
                range 192.168.61.0 192.168.61.40;
                deny all clients;
        }
        pool {
                range 192.168.61.41 192.168.61.199;

        }
}

Я не мог придумать, как заставить реализацию DHCP в Windows Server действовать как «авторитетную»; я хотел, чтобы клиенты с арендой от старого DHCP-сервера на основе Debian отправляли свои пакеты DHCPINFORM на новый Windows Server, я хотел, чтобы эти клиенты получили DHCPNAK и снова прошли весь процесс, чтобы получить аренду, таким образом " повторное заполнение "адресного пространства от .11 и выше .... независимо от того, продолжаем.

2) Я обманул, расширив диапазон исключений на новом DHCP-сервере Windows, включив в него 192.168.61.100 - 192.168.61.199. Это заставит всех клиентов, которым был назначен IP-адрес в этом диапазоне службой DHCP на основе Debian, отказать в использовании DHCPINFORM, а затем выдать новую аренду в «нижней части» адресного пространства (.11 и выше).

3) На этом этапе я просто выключил DHCP-сервер Debian и включил Windows Server и позволил времени истечения срока разобраться во всем. Из-за строки "запретить всем клиентам" в моем dhcpd.conf, в адресном пространстве .11 - .40 не было клиентов со "старой арендой", которые могли бы вызвать конфликт IP, и из-за исключения диапазонов .100 - .199 все запросы DHCPINFORM были отклонены (по крайней мере, я предполагаю, что произошло ... Я не стал смотреть на транзакцию с помощью анализатора пакетов ... Я, вероятно, должен был), и адресное пространство было повторно заполнено, начиная с нижней границы .11.

Остановите DHCP-сервер и удалите файл аренды. Он должен находиться в /var/lib/dhcpd/dhcpd.leases. Перезапустите DHCP-сервер, и клиенты начнут принимать разные адреса.

Я не знаю, как заставить DHCP-сервер Windows стать авторитетным (в традициях Windows это может просто быть авторитетный), но удаление директивы из конфигурации dhcpd будет одним из шагов в этом направлении.