
外部DNSサーバーとして機能するDNSを設定しました。すべての設定はデフォルトです。管理者は、/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 に、自身の内部の既知のリストにあるドメイン (そのすぐ上のコメントでは AUTHORITATIVE サーバーと呼んでいます) のクエリにのみ応答するように指示するものであり、ping 試行で実行しようとしていることは、それを RECURSING サーバーとして使用することです。
(通常、両方を同じマシンで実行することは推奨されません。また、両方を実行する場合は、再帰を許可する相手に十分注意してください。オープンな再帰はネットワークにとって悪いニュースです)。
また、上記のすべてが技術的すぎて理解できない場合は、pdns-recursor
以下からインストールすることを強くお勧めします。パワーDNS代わりにプロジェクトを作成します。