Вот мой named.conf
//
// named.caching-nameserver.conf
//
// Provided by Red Hat caching-nameserver 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.
//
// DO NOT EDIT THIS FILE - use system-config-bind or an editor
// to create named.conf - edits to this file will be lost on
// caching-nameserver package upgrade.
//
options {
listen-on port 53 { 127.0.0.1; any; };
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";
forward only;
forwarders {
# the following IP addresses are my ISPs DNS Servers. These will be used for looking up
# hostnames that I don't locally manage, i.e. the REST OF THE INTERNET!
XXX; # my ISPs DNS Server #1
XXX; # my ISPs DNS Server #2
};
// Those options should be used carefully because they disable port
// randomization
// query-source port 53;
// query-source-v6 port 53;
allow-query { localhost; };
allow-query-cache { localhost; };
allow-recursion { localhost; };
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
view localhost_resolver {
match-clients { localhost; };
match-destinations { localhost; };
recursion yes;
include "/etc/named.rfc1912.zones";
zone "domain.com" {
type master;
file "domain.com.db";
};
};
include "/etc/rndc.key";
Вот мой файл зоны:
; Zone file for domain.com
$TTL 14400
domain.com. 86400 IN SOA ns1.domain.com. user.email.com. (
2013032213 ;Serial Number
86400 ;refresh
7200 ;retry
3600000 ;expire
86400 )
domain.com. 86400 IN NS ns1.domain.com.
domain.com. 86400 IN NS ns2.domain.com.
ns1.domain.com. 14400 IN A xxx
ns2.domain.com. 14400 IN A xxx
domain.com. 14400 IN A xxx
localhost 14400 IN A 127.0.0.1
www 14400 IN CNAME domain.com.
ftp 14400 IN A xxx
Привязка запущена. named-checkconf и named-checkzone возвращают значение ОК. Серверы доменных имен также были созданы у регистратора доменов. У сервера также есть IP-адреса в eth0: x ... eth0: n. Есть идеи, что я могу делать не так?
Я вижу две проблемы с вашей конфигурацией:
allow-query { localhost; };
. Это указывает вашему DNS-серверу привязки отвечать только на localhost и молча отбрасывать все запросы с других IP-адресов.match-clients
и match-destinations
параметры.Из-за этих двух проблем ваш DNS-сервер (-ы) не отвечает ни на какие запросы к домену:
$ host -t ns -v lucasgomez.com. 209.236.113.167
Trying "lucasgomez.com"
;; connection timed out; no servers could be reached
Я предлагаю вам создать дополнительное представление для обслуживания ваших общественных зон. Вам не нужна включенная рекурсия или зона черной дыры, и она должна соответствовать и отвечать на запросы с любого IP-адреса.
view "external-in" in {
match-clients { any; };
notify yes;
recursion no;
additional-from-auth no;
additional-from-cache no;
auth-nxdomain no; # conform to RFC1035
allow-query { any; };
zone "example.com" in {
type master;
file "example.com.db";
allow-transfer { xferservers; };
};
};
Обратите внимание, что вам нужно будет добавить ACL под названием xferservers с IP-адресами, которые должны иметь возможность инициировать передачи зон AXFR и IXFR и адаптировать фрагмент зоны для вашего подчиненного DNS-сервера.
PS. Всегда проверяйте свою конфигурацию перед ее применением.
У zorlem есть лучший ответ, основанный на предоставленной вами информации, но я также хотел добавить, что есть несколько отличных диагностических веб-сайтов, которые уменьшают нагрузку на множество различных команд «копать», которые вы должны выполнить для полной диагностики проблем с DNS.
Я часто использую http://dns.squish.net/ в котором говорится следующее о вашем домене:
Results
50.0% recvfrom failed from 209.236.113.167; Connection refused - recvfrom(2) at ns1.lucasgomez.com (209.236.113.167)
50.0% recvfrom failed from 209.236.113.168; Connection refused - recvfrom(2) at ns2.lucasgomez.com (209.236.113.168)
Так что, по крайней мере, ваш named не прослушивает соединения на этих IP-адресах.