
Я настроил DNS, который будет работать как внешний DNS-сервер. Все настройки по умолчанию, администратор сказал мне использовать файл Root hints, который находится в /var/named/named.ca. А корневая зона указана в файле /etc/named.conf
options {
listen-on port 53 { 127.0.0.1; 192.168.161.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";
recursing-file "/var/named/data/named.recursing";
secroots-file "/var/named/data/named.secroots";
allow-query { any; };
filter-aaaa-on-v4 yes;
#OPTIONS = "-4"
/*
- If you are building an AUTHORITATIVE DNS server, do NOT enable recursion.
- If you are building a RECURSIVE (caching) DNS server, you need to enable
recursion.
- If your recursive DNS server has a public IP address, you MUST enable access
control to limit queries to your legitimate users. Failing to do so will
cause your server to become part of large scale DNS amplification
attacks. Implementing BCP38 within your network would greatly
reduce such attack surface
*/
recursion yes;
dnssec-enable yes;
dnssec-validation yes;
/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
pid-file "/run/named/named.pid";
session-keyfile "/run/named/session.key";
};
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";
Я перезапускаю именованную службу, но когда я делаю ping на любой домен, система не может разрешить его
После удаления Google DNS
когда я добавляю "127.0.0.1" и "192.168.161.1" и перезапускаю сетевую службу. и делаю dig google.com @localhost. Он дает этот ответ
dig google.com @localhost
; <<>> DiG 9.9.4-RedHat-9.9.4-72.el7 <<>> google.com @localhost
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 24654
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;google.com. IN A
;; Query time: 4001 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Sun Mar 22 16:46:48 +03 2020
;; MSG SIZE rcvd: 39
решение1
Во-первых, ping
это не лучший способ диагностировать проблемы DNS; вам нужно dig
:
shadur@vigil:~$ dig google.com @localhost
; <<>> DiG 9.10.3-P4-Debian <<>> google.com @localhost
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 55786
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;google.com. IN A
;; ANSWER SECTION:
google.com. 22 IN A 216.58.211.110
;; Query time: 90 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Sun Mar 22 14:02:39 CET 2020
;; MSG SIZE rcvd: 55
Это дает гораздо больше информации, которая, даже если она пока бесполезна для вас, с большей вероятностью окажется полезной для людей, пытающихся помочь вам разобраться, что пошло не так.
Во-вторых, судя по фрагменту конфигурации, который вы там разместили, и описанию того, что вы пытаетесь сделать, ваша проблема заключается в строке, которая идет
recursion no;
Потому что это говорит BIND9, что он должен отвечать на запросы только тех доменов, которые находятся в его собственном внутреннем списке известных (то, что в комментариях выше называется АВТОРИТЕТНЫМ сервером), а то, что вы описываете, пытаясь сделать с вашими попытками пинга, можно рассматривать как РЕКУРСИРУЮЩИЙ сервер.
(Обычно не рекомендуется запускать оба варианта на одной машине, а если вы это делаете, будьте очень осторожны с тем, кому вы позволяете выполнять рекурсию; открытые рекурсоры — плохая новость для вашей сети).
Кроме того, если все вышеперечисленное слишком технично для понимания, я настоятельно рекомендую установить pdns-recursor
сPowerDNSвместо этого проект.