[Sysadmins] Проблема с DHCPD и DDNS

Alex Moskalenko mav на elserv.msk.su
Пн Сен 12 12:14:36 UTC 2011


Здравствуйте!

При использовании dhcp-server-3.0.7-alt7 с динамическим обновлением зоны в 
bind-9.3.6-alt6 (p6) наткнулся на следующую проблему. 

Имеется сеть с Windows-клиентами. Dhcpd исправно создает новые A и TXT записи 
в прямой зоне, и PTR записи в обратной при новой аренде адреса новым 
компьютером. Также dhcpd исправно удаляет A и TXT записи из прямой зоны, и 
PTR запись из обратной при истечении срока аренды адреса (долгой неактивности 
компьютера).

Но если в компьютере поменять сетевую карту с сохранением его имени, то dhcp 
не производит обновления прямой и обратной зон со следующей диагностикой:

Sep 12 15:28:37 main dhcpd: Forward map from host.lan. to 192.168.0.234 
FAILED: Has an A record but no DHCID, not mine.
Sep 12 15:28:37 main dhcpd: DHCPREQUEST for 192.168.0.224 from 
14:da:e9:0c:54:92 (host) via brmain0
Sep 12 15:28:37 main dhcpd: DHCPACK on 192.168.0.234 to 14:da:e9:0c:54:92 
(host) via brmain0

В логах bind при этом появляются следующие записи:

Sep 12 15:28:37 main named[374]: client 127.0.0.1#37250: updating 
zone 'lan/IN': update unsuccessful: host.lan: 'name not in use' prerequisite 
not satisfied (YXDOMAIN)
Sep 12 15:28:37 main named[374]: client 127.0.0.1#50081: updating 
zone 'lan/IN': update unsuccessful: host.lan/TXT: 'RRset exists (value 
dependent)' prerequisite not satisfied (NXRRSET)

Если я правильно понял документацию, то такое поведение является правильным, 
так как dhcpd генерирует DHCID на основе аппаратного адреса клиента, поэтому 
при смене сетевой карты считает клиента новым и отказывается обновлять A и 
PTR записи, которым соответствует старый DHCID. Из-за этого рабочие станции 
при смене сетевых карт оказываются с неправильными записями в DNS.

Прошу подсказать, как можно обойти эту ситуацию. Хотелось бы, чтобы dhcpd 
обновлял A и PTR записи независимо от соответствующим им DHCID или 
генерировал DHCID не на основе MAC-адреса клиента. Вариант (1) возможен к 
реализации в dhcpd >= 3.1 (опция update-conflict-detection), соответственно с 
нашим 3.0.7 не подходит. Возможно ли реализовать вариант (2)?

В идеале, хотелось бы получить обновление DNS-зон независимо от железа 
клиента, а с привязкой по его UUID или hostame или FQDN.

Заранее спасибо.

-- 
WBR, Alex Moskalenko


Подробная информация о списке рассылки Sysadmins