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

Исправлен хост dhcp для автоматического истечения срока аренды

У меня следующая ситуация: несколько офисов с несколькими серверами firewall / dhcp.

Каждый раз, когда ИТ-команда какого-нибудь офиса подключает новый сетевой принтер, мне нужно создать fixed-address запись и удалите аренду, которую этот принтер уже получил до того, как произойдет это резервирование. Иногда меня предупреждают, что принтер уже подключен и этот фиксированный IP-адрес нужен другому приложению (серверу cups).

Есть ли способ "автоматически истечь" lease когда вы добавляете fixed-address? В текущей ситуации мне нужно вручную удалить аренду или подождать 3 часа, которые я настроил max-lease-time.

Зачем мне это нужно? Чтобы сделать более динамичным создание новых хостов с фиксированным адресом через ssh без необходимости входить в систему на этом сервере и стирать аренду (или редактировать 2 файла каждый раз). dhcp-relay не вариант, потому что у нас есть цепь на нашем isp это не поддержит.

Фрагмент некоторых файлов конфигурации

ddns-update-style ad-hoc;
authoritative;
allow bootp;
deny declines;
deny duplicates;
option domain-name "xxx.net";
option domain-name-servers y.y.y.y, y.y.y.2;
option interface-mtu 1500;
option ntp-servers ntp.xxx.xxx.xxx;
default-lease-time 7200; # default lease 2 hours
max-lease-time 10800; # max lease 3 hours
one-lease-per-client true; # 1 lease per client

subnet 10.0.0.0 netmask 255.255.255.0 {
        range 10.0.0.100 10.0.0.200;
        option routers 10.0.0.254;
        option broadcast-address 10.0.0.255;
}


host printserver001 {
        hardware ethernet 00:24:81:XX:XX:XX;
        fixed-address 10.0.0.30;
}

Решение, которое я уже пробовал: Создать class называемые принтеры, добавьте в этот класс все фиксированные адреса и добавьте deny members of "printers" на этом диапазоне IP / пуле. Это не сработает, и принтер все равно получит lease пока не истечет.

Решение, которое, я думаю, может сработать: Обнулить default-lease-time параметр. Я просто не знаю, будут ли по умолчанию все принтеры при перезапуске запрашивать ту же аренду или отправлять новый DHCPREQUEST, и как isc-dhcp обработает этот запрос.

Редактировать 1: Использование omapi тоже не работает. Я пытаюсь удалить аренду, зная только MAC-адрес, и вот что я получаю, когда пытаюсь удалить его:

omshell << END_OF_INPUT
server localhost
port 7911
key omapi_key my_key_xxxxxxxxxxxxxxxxxx==
connect
new lease
set hardware-address = 00:e0:c5:4e:2d:a4
open
remove
END_OF_INPUT


> can't destroy object: not implemented
obj: lease
hardware-address = 00:e0:c5:4e:2d:a4
state = 00:00:00:02
ip-address = c0:a8:03:e6
dhcp-client-identifier = 01:00:e0:c5:4e:2d:a4
client-hostname = "xxxxx03"
subnet = 00:00:00:06
pool = 00:00:00:07
hardware-type = 00:00:00:01
ends = 53:72:14:ce
starts = 53:71:f8:ae
tstp = 00:00:00:00
tsfp = 00:00:00:00
atsfp = 00:00:00:00
cltt = 53:71:f8:ae
flags = 00
ddns-fwd-name = "xxxxx03.xxxxx.net"
ddns-rev-name = "xx.xx.xx.192.in-addr.arpa."

Я использую ISC-dhcp 3.1.1.

Любые идеи?

LDAP.

Предполагая, что вы используете dhcp-4.2 +, он встроен в isc-dhcp-server-ldap

Полное руководство здесь:

http://wiki.herzbube.ch/index.php/ISCDHCP#Configuration_with_LDAP

Или: http://edmann.com/Computers-Technology/2008/01/08/ISC-DHCP-and-Ldap-Backend

ldap-server "localhost";
ldap-port 389;
ldap-username "cn=dhcp-service,ou=users,dc=yourdomain,dc=com";
ldap-password "secret";
ldap-base-dn "dc=yourdomain,dc=com";
# Dynamic = Hosts are looked up every time a DHCP request comes in
# Static = Read entire configuration, including hosts, only once at startup
ldap-method dynamic;
ldap-debug-file "/var/log/dhcp-ldap-startup.log";

Совершенно уверен, что затем вы можете просто управлять своими клиентами из базы данных LDAP со всеми API, которые работают с ним для автоматизации поиска MAC-> IP и т. Д. Каждый DHCP-сервер может обращаться к глобальной базе данных LDAP для единой точки -контактная администрация.

Обычный способ сделать это - создать (возможно, небольшой) динамический пул и хранить его отдельно от ваших фиксированных адресов. Установите небольшой (<1 час) срок аренды для небольшого бассейна.

Затем либо выключите и снова включите устройство, либо подождите, пока оно не возобновит аренду (DHCP-сервер получит NAK-адрес и предоставит его правильный - новый - адрес).

Вы не можете удалить аренду через OMAPI. Однако вы можете принудительно ОСВОБОДИТЬ их, что приведет к тому, что dhcpd будет рассматривать его как неактивную аренду. Сделайте запись с фиксированным адресом, принудительно освободите аренду, полученную ранее принтером, и при следующем согласовании DHCP принтер будет перемещен на фиксированный адрес, включая NAK на запрос обновления и предоставление клиенту нового IP-адреса.

+ Изменить max-lease-time до более низкого значения, 10 минут.