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

Named, похоже, не решает или не копает мой домен

Вот мой 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. Есть идеи, что я могу делать не так?

Я вижу две проблемы с вашей конфигурацией:

  1. Внутри опций, которые вы определили allow-query { localhost; };. Это указывает вашему DNS-серверу привязки отвечать только на localhost и молча отбрасывать все запросы с других IP-адресов.
  2. Ваш домен определяется только в вашем представлении localhost_resolver. Это указывает привязке читать и обслуживать содержимое зоны только для 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-адресах.