При подготовке новых серверов Ubuntu Precise (12.04) имя хоста, которое они получают, создается с помощью пути поиска DNS, а не обратного просмотра имени хоста.
Возьмите следующую конфигурацию
BIND настроен с именем хоста и обратным именем
Нормальная зона $ TTL 600 $ ORIGIN srv.local.net.
@ IN SOA ns0.local.net. hostmaster.local.net. (
2014082101
10800
3600
604800
600 )
@ IN NS ns0.local.net.
@ IN MX 5 mail.local.net.
my-new-server IN A 10.32.2.30
И обратный @ IN SOA ns0.local.net. hostmaster.local.net. (2014082101 10800 3600 604800 600)
@ IN NS ns0.local.net.
$ORIGIN 32.10.in-addr.arpa.
30.2 IN PTR my-new-server.srv.local.net.
Затем DHCPD настроен на выдачу статической аренды на основе MAC-адресов, например
subnet 10.32.2.0 netmask 255.255.254.0 {
option subnet-mask 255.255.254.0;
option routers 10.32.2.1;
option domain-name-servers 10.32.2.1;
option domain-name "util.of1.local.net of1.local.net srv.local.net";
site-option-space "pxelinux";
option pxelinux.magic f1:00:74:7e;
if exists dhcp-parameter-request-list {
option dhcp-parameter-request-list = concat(option dhcp-parameter-request-list,d0,d1,d2,d3);
}
group {
option pxelinux.configfile "pxelinux.cfg/pxeboot";
host my-new-server {
fixed-address my-new-server.srv.local.net;
hardware ethernet aa:aa:aa:bb:bb:bb;
}
}
}
Таким образом, имя хоста должно быть my-new-server.srv.local.net
, однако при сборке узла Ubuntu 12.04 имя хоста заканчивается как my-new-server.util.of1.local.net
При сборке хостов Lucid (10.04) имя хоста будет правильным, проблема возникает только на узлах Precise/12.04.
Выполнение нормального и обратного поиска на хосте и IP возвращает правильный результат
Sams-MacBook-Pro:~ sam$ host my-new-server
my-new-server.srv.local.net has address 10.32.2.30
Sams-MacBook-Pro:~ sam$ host my-new-server.srv.local.net
my-new-server.srv.local.net has address 10.32.2.30
Sams-MacBook-Pro:~ sam$ host 10.32.2.30
30.2.32.10.in-addr.arpa domain name pointer my-new-server.srv.local.net.
Содержимое файла hosts тоже неверно
127.0.0.1 localhost
127.0.1.1 my-new-server.util.of1.local.net of1.local.net srv.local.net my-new-server
Таким образом, похоже, что когда он создает файл hosts, он помещает все содержимое пути поиска DNS в локальный адрес, поэтому полное доменное имя в соответствии с сервером - это короткое имя хоста, как определено, а затем первый домен в пути поиска.
Есть ли способ обойти это поведение или исправить это, чтобы он правильно получал имя хоста? Он берет первую часть имени хоста, а остальное не так.