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

BIND не указывает на правильные IP-адреса

Это скорее эксперимент по изучению и пониманию BIND / NAMED, но вот что у меня есть.

Я установил DNS своих компьютеров на IP-адрес моего Linux-сервера. У меня BIND9 работает со следующей записью:

$TTL    1 @     IN      SOA     1.2.3.4. google.com. (
                              2013041602                ; Serial
                              1         ; Refresh
                              1         ; Retry
                              10000             ; Expire
                              1 )       ; Negative Cac
home       14400   IN      A       1.2.3.4
*       14400   IN      A       2.2.2.2
space     14400   IN      A       1.2.3.4


1.2.3.4 = My Server IP

Если я пингую home.google.com, я ничего не получаю от своего домашнего компьютера. Если мой DNS указывает на сервер BIND9, разве он не должен принимать эти записи DNS?

Это на сервере (есть ли в винде копать?)

Я отредактировал /etc/resolv.conf, чтобы использовать мой сервер Linux в качестве DNS.

dig home.google.com

; <<>> DiG 9.8.1-P1 <<>> home.google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 2032
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;home.google.com.     IN      A

;; Query time: 0 msec
;; SERVER: 1.2.3.4#53(1.2.3.4)
;; WHEN: Wed Apr 17 10:00:59 2013
;; MSG SIZE  rcvd: 43

NSLOOKUP:

Server:  UnKnown
Address:  1.2.3.4

*** UnKnown can't find home.google.com: Server failed

named.conf

include "/etc/bind/named.conf.options";
include "/etc/bind/named.conf.local";
include "/etc/bind/named.conf.default-zones";

named.conf.options:

options {
        directory "/var/cache/bind";

        // If there is a firewall between you and nameservers you want
        // to talk to, you may need to fix the firewall to allow multiple
        // ports to talk.  See http://www.kb.cert.org/vuls/id/800113

        // If your ISP provided one or more IP addresses for stable
        // nameservers, you probably want to use them as forwarders.
        // Uncomment the following block, and insert the addresses replacing
        // the all-0's placeholder.

         forwarders {
                75.75.75.75;
                75.75.76.76;
         };

        //========================================================================
        // If BIND logs error messages about the root key being expired,
        // you will need to update your keys.  See https://www.isc.org/bind-keys
        //========================================================================
        dnssec-validation auto;

        auth-nxdomain no;    # conform to RFC1035
        listen-on-v6 { any; };
};

named.conf.local

zone "google.com" {
        type master;
        file "/etc/bind/db.google.com";
};

zone "2.3.4.in-addr.arpa" {
        type master;
        notify no;
        file "/etc/bind/db.192";
};

/etc/bind/ named.conf.default-zones

zone "localhost" {
        type master;
        file "/etc/bind/db.local";
};

zone "127.in-addr.arpa" {
        type master;
        file "/etc/bind/db.127";
};

zone "0.in-addr.arpa" {
        type master;
        file "/etc/bind/db.0";
};

zone "255.in-addr.arpa" {
        type master;
        file "/etc/bind/db.255";
};

Вы смешиваете два очень разные вещи: DNS-сервер может быть решатель (получение имен из всех возможных доменов и разрешение их путем запроса авторитетных серверов имен мира) или авторитетный сервер (передача данных о ваших собственных зонах резольверам). Я настоятельно рекомендую держать их отдельно (на разных машинах). В противном случае отладка будет действительно болезненной.

Ваша конфигурация кажется подходящей для авторитетного сервера для домена google.com, за исключением того, что вывод dig показывает, что рекурсия доступна. Вы должны отключить его (recursion no;).

Следующим шагом является проверка того, действительно ли зона была загружена сервером имен. Помните, что администратор системы Unix постоянно просматривает файлы журнала. Проверьте файл журнала на наличие именованных сообщений при запуске, вы, вероятно, найдете сообщение об ошибке, объясняющее, почему зона не была загружена (в качестве альтернативы, проверьте зону с помощью named-checkzone).