Я недавно установил динамический DNS с ISC dhcpd 4 и bind 9. Все работает как надо, за исключением нескольких хостов в сети, которые не разрешаются. После расследования я обнаружил, что они были динамически добавлены в файл зоны привязки, но к их доменному имени добавлялось имя хоста.
например server1 в порядке, но server2 не разрешит:
$TTL 1800 ; 30 minutes
server1 A 192.168.0.10
TXT "00ecbb5990a60bb0b138272611cae0f56d"
server2.reh.favsys.net A 192.168.0.11
TXT "00ecbb5990a60bb0b138272611cae0f56d"
Я проверил server2, чтобы увидеть, что изменилось. Я обнаружил, что в файле / etc / sysconfig / netowrk-scripts / ifcfg-eth0 параметр DHCP_HOSTNAME был установлен с помощью fqdn: DHCP_HOSTNAME = server2.my.domain.net, где как server1 только что имя хоста: DHCP_HOSTNAME = server1
Правильно, я думаю, мне просто нужно найти все серверы с этой проблемой и изменить файл интерфейса, чтобы он содержал только имя хоста.
Это нормально, и это можно сделать, но правильно ли это настроить файл интерфейса? если параметр DHCP_HOSTNAME является неполным именем.
Или есть параметр, который я могу включить в файле конфигурации DHCP-сервера, чтобы предотвратить такое поведение. Если бы существовал способ настроить dhcp, чтобы игнорировать доменную часть, если клиент отправлял свое полное имя хоста, я бы предпочел использовать этот подход.
мои текущие параметры dhcpd.conf:
include "/etc/rndc.key";
ddns-update-style interim;
ddns-domainname "my.domain.net.";
ddns-rev-domainname "in-addr.arpa.";
ddns-updates on;
ignore client-updates;
option domain-search "my.domain.net";
default-lease-time 1800;
max-lease-time 7200;
log-facility local7;
authoritative;
Я также попытался настроить DHCP-сервер с разрешением клиентских обновлений, чтобы увидеть, будет ли это иметь значение. Однако это просто привело к записи динамического обновления в файле зоны, например:
$ORIGIN my.domain.net.
$TTL 1800 ; 30 minutes
server1 A 192.168.0.10
TXT "009ddasdr32rfdsfksdfpdsadsad3343fcdsd"
$ORIGIN my.domain.net.my.domain.net.
server2 A 192.168.0.11
TXT "dasdasdsadasdsddvc0b1382726dsdadasdsd"
Был создан новый источник с повторным доменным именем, а имя хоста все еще не разрешалось.
Я был бы очень признателен за любые указатели на правильный способ настройки имен хостов на клиентах при использовании dhcp и bind для ddns, спасибо.
ИЗМЕНИТЬ добавление области подсети Извините за упущение области действия, вот пример одной из опций подсети, имя домена указано в области
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.10 192.168.0.250;
next-server 192.168.0.2;
filename "/pxelinux.0";
option broadcast-address 192.168.0.255;
option routers 192.168.0.1;
option domain-name-servers 192.168.0.3;
option domain-name "my.domain.net";
}
В ddns-domainname
и ddns-rev-domainname
опции не нужны, так как ваш стиль промежуточный (как и должно быть).
ignore client-updates
должен игнорировать все, что клиент считает своим полным доменным именем. Вы делаете это правильно.
Странно, что вы не указываете option domain-name "example.net"
где example.net - ваше доменное имя. Это может быть глобальное или зависящее от области действия (вы по какой-то причине упустили область действия; это могло быть важно).
Однако я вижу, что проблема в том, что он считает, что DNS-суффикс вашего второго сервера my.domain.net.my.domain.net.
. Он думает так, потому что, хотя он правильно игнорирует утверждение сервера относительно его DNS-суффикса (или имени домена), server2 сообщает DHCP-серверу, что его имя хоста (к которому будет добавлен суффикс FQDN) server2.my.domain.net
. В имени хоста не должно быть .
в нем. Хотя это странно и, возможно, ошибочно, что dhcpd не удаляет и не отклоняет это, server2 неправильно настроен, и это единственное место, где вы можете это исправить.
До введения временного метода для статической аренды можно было использовать ddns-hostname
возможность переопределить утверждение клиента. Это больше не используется.
Даже сейчас, для клиентов, которые принимают свое имя хоста от DHCP-сервера, как указано в статической аренде (большинство Linux и некоторые другие вещи, но не Windows), вы можете управлять этим поведением с DHCP-сервера. Однако это не похоже на ваше окружение.