DHCP не обновляет DNS
RHEL5.6, bind-9.3.6 и dhcp-3.0.5
Итак, после того, как я исправил свою проблему с получением DHCP для анализа MAC-адресов для этих виртуальных машин, теперь мне нужно выяснить, как заставить его обновлять DNS, когда один из этих виртуальных хостов включен и активен.
Я настроил привязку для dDNS и использовал nsupdate
для проверки имени будет принимать динамические обновления.
Я настроил DHCP для обновления статической аренды и пула. Тем не менее, ни dhcpd.log
ни named.log
показать любые попытки обновления таблиц DNS. С другой стороны, nsupdate
тесты появляются в named.log
просто хорошо.
Итак, я могу убедиться, что named
будет получать и принимать обновления, но я не могу проверить dhcpd
пытается отправить их.
Вопросы:
- Что я мог упустить в моем
dhcpd.conf
(или в/etc/sysconfig/dhcpd
)? - Кто-нибудь использовал
log{}
функциональность вdhcpd.conf
подтвердить / опровергнуть обновления dDNS?
Спасибо!
Вот некоторые dhcpd.conf
ножницы:
ddns-update-style interim;
update-static-leases on;
key dhcpupdate
{
algorithm hmac-md5;
secret <KEY>;
}
zone 22.YYY.XXX.in-addr.arpa
{
primary XXX.YYY.22.168;
key dhcpupdate;
}
zone 23.YYY.XXX.in-addr.arpa
{
primary XXX.YYY.22.168;
key dhcpupdate;
}
zone 24.YYY.XXX.in-addr.arpa
{
primary XXX.YYY.22.168;
key dhcpupdate;
}
zone example.com
{
primary XXX.YYY.22.168;
key dhcpupdate;
}
zone sub1.example.com
{
primary XXX.YYY.22.168;
key dhcpupdate;
}
zone sub2.example.com
{
primary XXX.YYY.22.168;
key dhcpupdate;
}
zone sub3.example.com
{
primary XXX.YYY.22.168;
key dhcpupdate;
}
subnet XXX.YYY.24.0 netmask 255.255.254.0
{
group
{
ddns-hostname "example.com";
host <hostfqdn> { hardware ethernet <MAC>; fixed address <hostfqdn>;}
...
}
group
{
ddns-hostname "sub1.example.com";
host <hostfqdn> { hardware ethernet <MAC>; fixed address <hostfqdn>;}
...
}
group
{
ddns-hostname "sub2.example.com";
host <hostfqdn> { hardware ethernet <MAC>; fixed address <hostfqdn>;}
...
}
group
{
ddns-hostname "sub3.example.com";
host <hostfqdn> { hardware ethernet <MAC>; fixed address <hostfqdn>;}
...
}
}
subnet XXX.YYY.24.0 netmask 255.255.255.0
{
option routers XXX.YYY.24.254;
option domain-name-servers XXX.YYY.22.168, XXX.YYY.22.169;
option ntp-servers XXX.YYY.22.168,XXX.YYY.22.169;
default-lease-time 86400; # 1 day
max-lease-time 604800; # 7 days
use-host-decl-names on;
allow unknown-clients;
option domain-name "example.com sub1.example.com sub2.example.com sub3.example.com";
ddns-domainname "example.com";
next-server XXX.YYY.22.159;
filename "pxelinux.0";
pool
{
allow members of "virtual-hosts";
one-lease-per-client true;
ping-check true;
range XXX.YYY.24.11 XXX.YYY.24.60;
}
}
2 ответа
И часть, которую я пропустил, находится на стороне клиента. В RHEL5 мне нужно установить DHCP_HOSTNAME на короткое имя хоста, чтобы dhclient передавал его dhcpd
демон.
(Прежде чем я увидел этот текст, в котором указано короткое имя, я попытался использовать полное доменное имя. Теперь мне придется перезапустить DNS-сервер, чтобы удалить случайный host.1.example.com.1.example.com
из-за моего dhcpd
демон не усекает часть домена...)
На всех системах, с которыми я работал, клиент отвечал за обновление DNS. У большинства клиентов DHCP есть способ указать, какой DNS уведомлять.
Если вы используете bind
для конфигураций по умолчанию, с которыми я работал, динамические обновления отключены.
Для такого рода установки я использую dnsmasq
предоставлять услуги DHCP и DNS. Он обновит свои ответы DNS, используя имя, указанное в запросе DHCP.
Еще проще использовать фиксированные IP-адреса для виртуальных машин. Они могут быть добавлены в DNS и всегда будут доступны. Большинство DHCP-серверов, в том числе dnsmasq
может предоставить фиксированные IP-адреса на основе MAC-адреса.