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

Привязка без пересылки на CentOS 6

Я настроил привязку (вроде) на CentOS 6 как DNS-сервер только для пересылки, например:

options {
    listen-on port 53 { 127.0.0.1; };
    directory "/var/named";
    recursion yes;
    allow-recursion { localhost; };
    forward only;
    forwarders { 8.8.8.8; 8.8.4.4; };
};

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

Проблема в том, что, похоже, он не выполняет пересылку:

$ dig www.google.com

; <<>> DiG 9.7.3-P3-RedHat-9.7.3-8.P3.el6_2.2 <<>> www.google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 1037
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0

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

;; Query time: 555 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Fri Jan 27 13:30:52 2012
;; MSG SIZE  rcvd: 32

у меня нет bind-chroot установлен на этом сервере. Я могу подтвердить, что мой resolv.conf файл настроен на использование 127.0.0.1 для поиска DNS. Если я сделаю dig @8.8.8.8 www.google.com тогда я получаю правильный ответ.

Если я удалю операторы пересылки и добавлю hint zone для корневых серверов, тогда он правильно разрешает имена, но, конечно, я не хочу, чтобы корневые серверы приходили на каждый поиск. Какие-либо предложения?

Я бы предложил добавить, кроме localhost, IP-адрес самого аппарата:

allow-recursion {127.0.0.1; 192.168.1.1;}

Конечно, вам нужно заменить 192.168.1.1 на реальный IP-адрес, который вы используете.