Прошло слишком много времени с тех пор, как я установил сервер привязки. В последнее время я создал много DNS-серверов Windows, поэтому я хотел попробовать свои силы в CentOS 6. К сожалению, у меня возникло множество проблем с настройкой файлов зон.
Имя хоста: shield.domain.com
Когда я пытаюсь запустить службу, я получаю следующее сообщение об ошибке:
domain.com.zone:3: SOA record not at top of zone (domain.com.domain.com)
zone domain.com/IN: loading from master file domain.com.zone failed: not at top of zone
zone domain.com/IN: not loaded due to errors.
_default/domain.com/IN: not at top of zone
zone localhost.localdomain/IN: loaded serial 0
zone localhost/IN: loaded serial 0
zone 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN: loaded serial 0
zone 1.0.0.127.in-addr.arpa/IN: loaded serial 0
zone 0.in-addr.arpa/IN: loaded serial 0
Я изменил файл /etc/ named.conf, чтобы включить мою новую зону, и файл настроен следующим образом:
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; };
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";
forwarders { <IP_ADDR_1>;<IP_ADDR_2>;<IP_ADDR_3>;};
};
zone "domain.com" IN {
type master;
file "domain.com.zone";
allow-update { none; };
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
Затем я создал новый файл зоны /var/ named/domain.com.zone, который настроен как таковой. Я не могу понять, что я сделал не так с записью SOA вверху, или есть другие проблемы с моим файлом зоны:
$ORIGIN domain.com
$TTL 86400
@ IN SOA shield.domain.com. hostmaster.domain.com. (
2013008413 ; serial
21600 ; refresh after 6 hours
3600 ; retry after 1 hour
604800 ; expire after 1 week
86400 ) ; minimum TTL of 1 day
IN NS shield.domain.com.
IN A 10.10.0.175
shield IN A 10.10.0.175
Я использовал следующие ресурсы и обнаружил, что теряюсь все больше и больше, тупо глядя на файл зоны. Это единственный сервер в среде мультихостинга разных сервисов:
Привязать файлы конфигурации: http://centos.org/docs/2/rhl-rg-en-7.2/s1-bind-configuration.html
Пример зоны DNS: http://www.zytrax.com/books/dns/ch6/mydomain.html
Запись в журнале SOA record not at top of zone (domain.com.domain.com)
намек на то, что что-то не так; в SOA
запись в верхней части файла не рассматривается как запись для домена, который должен обрабатываться этим файлом зоны.
Это могло быть вызвано $ORIGIN domain.com
несовпадение линии с zone "domain.com" IN {
линия в named.conf
файл, либо из-за фактического несоответствия, либо из-за проблемы с обработкой строки UTF-8.
В этом случае простой обходной путь - просто удалить $ORIGIN
строка из файла зоны; затем он будет автоматически построен на основе определения зоны в named.conf
, гарантируя совпадение этих строк.