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

DNS-сервер конфликтует с командами имени хоста и имени домена

Для установки кластерного продукта мне пришлось настроить внутренний DNS-сервер. Я использую CentOS и bind9. Я нацелен на доменное имя «mydomain.local», а машина, на которой работает DNS-сервер, является «главной» (172.16.154.10). Другие машины в кластере - это «узел1» (.11) и «узел2 (.12).

Конфигурация DNS вроде в порядке, насколько я могу host master, host node1 или host node2 с любой из машин и ответов вроде нормально.

Теперь сценарий установки запрашивает имена компьютеров (таким образом, что я не могу контролировать) и по какой-то причине предлагает например node1.mydomain.local.localdomain. Обратите внимание на дополнительные .localdomain часть, которая по умолчанию используется в таких файлах, как /etc/resolv.conf и тому подобное.

Действительно, сначала такие команды, как hostname или domainname вернется localhost.localdomain и localdomain соответственно. Поэтому я изменил их (используя версию настроек тех например domainname mydomain.local) но безрезультатно.

Есть идеи, откуда они могли взяться? Я должен добавить, что все эти машины - это виртуальные машины, работающие внутри VMware fusion.

resolv.conf:

# Generated by NetworkManager
domain mydomain.local
search mydomain.local

nameserver 172.16.154.10  # <-- my 'master' machine
nameserver 172.16.154.2   # <-- NAT address of my VMware Fusion host

named.conf:

//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//

options {
//  listen-on port 53 { 127.0.0.1; };
//  listen-on-v6 port 53 { ::1; };
    directory   "/var/named";
    dump-file   "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
//  allow-query     { localhost; };
    allow-query { any; };
    recursion yes;

    dnssec-enable yes;
    dnssec-validation yes;
    dnssec-lookaside auto;

    /* Path to ISC DLV key */
    bindkeys-file "/etc/named.iscdlv.key";

    managed-keys-directory "/var/named/dynamic";
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

zone "." IN {
    type hint;
    file "named.ca";
};


zone "mydomain.local" {
        type master;
        file "mydomain.local.fwd";
};

// 172.16.154.10
zone "154.16.172.in-addr.arpa" {
        type master;
        file "mydomain.local.rev";
};

include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

mydomain.local.rev:

$ORIGIN 154.16.172.in-addr.arpa.

$TTL 3D

@       SOA     master.mydomain.local.     root.mydomain.local. (12 4h 1h 1w 1h)

@       IN      NS      master.mydomain.local.

10     IN      PTR     master.mydomain.local.
11     IN      PTR     node1.mydomain.local.
12     IN      PTR     node2.mydomain.local.

mydomain.local.fwd:

$ORIGIN mydomain.local.

$TTL 3D

@       SOA     master.mydomain.local.     root.mydomain.local. (12 4h 1h 1w 1h)

@       IN      NS      master.mydomain.local.

master.mydomain.local.     IN      A       172.16.154.10
node1.mydomain.local.   IN  A   172.16.154.11
node2.mydomain.local.   IN  A   172.16.154.12

Я понятия не имею, но вы можете найти себя с рекурсивным grep localdomainв / etc. Например, с помощью ack-grep:

% sudo ack-grep localdomain /etc 
[result here]

Вы узнаете, какой файл все еще содержит строку localdomain.