
私は次のようにバインドを設定しました:
//
// named.conf
//
// Provided by Red Hat bind 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.
//
options {
listen-on port 53 { any; };
# listen-on-v6 port 53 { ::1; };
directory "/var/named";
forwarders { 10.90.0.135; 10.90.0.174; };
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";
allow-query { any; };
recursion yes;
dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;
/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
};
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";
zone "appletop.local" IN {
type master;
file "appletop.local";
allow-update { none; };
};
でも転送されないんですか?
DNS サーバーのアドレスを別のマシンに入力するとresolv.conf
、正しい検索が実行されるので、DNS サーバーが名前を解決できるはずですが、その後、別のマシンをこのマシンに戻すと、名前を解決できません。
どうしたの?
MadHatter によって提案された変更後:
今は起動しますが、dig +trace でハングし、転送されません。下記の転送アドレスが表示されないのはなぜですか?
[root@ns1 ~]# ping www.yahoo.com
^C
[root@ns1 ~]# cd /etc/
[root@ns1 etc]# cp named.conf named.conf.last
[root@ns1 etc]# vi named.conf
[root@ns1 etc]# /etc/init.d/named reload
Reloading named-sdb: [ OK ]
[root@ns1 etc]# service named stop
Stopping named: . [ OK ]
[root@ns1 etc]# /etc/init.d/named start
Starting named: [ OK ]
[root@ns1 etc]# nslookup www.yahoo.com
;; connection timed out; trying next origin
Server: 10.138.10.30
Address: 10.138.10.30#53
** server can't find www.yahoo.com: NXDOMAIN
+trace で掘り下げてみましょう:
[root@ns1 etc]# dig +trace www.yahoo.com
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.0.2.el6_4.6 <<>> +trace www.yahoo.com
;; global options: +cmd
. 518400 IN NS E.ROOT-SERVERS.NET.
. 518400 IN NS M.ROOT-SERVERS.NET.
. 518400 IN NS I.ROOT-SERVERS.NET.
. 518400 IN NS F.ROOT-SERVERS.NET.
. 518400 IN NS G.ROOT-SERVERS.NET.
. 518400 IN NS K.ROOT-SERVERS.NET.
. 518400 IN NS B.ROOT-SERVERS.NET.
. 518400 IN NS A.ROOT-SERVERS.NET.
. 518400 IN NS C.ROOT-SERVERS.NET.
. 518400 IN NS L.ROOT-SERVERS.NET.
. 518400 IN NS J.ROOT-SERVERS.NET.
. 518400 IN NS H.ROOT-SERVERS.NET.
. 518400 IN NS D.ROOT-SERVERS.NET.
ファイル全体がこのようになっていますが、何が問題なのでしょうか?
options {
listen-on port 53 { 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";
allow-query { any; };
recursion yes;
dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;
/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic"; };
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
}; };
zone "." IN {
type forward;
forward first;
forwarders { 10.90.0.135;
10.90.0.174;
} ; };
include "/etc/named.rfc1912.zones"; include "/etc/named.root.key";
zone "appletop.local" IN {
type master;
file "appletop.local";
allow-update { none; }; };
答え1
どのフォワーダーを使用するかは指定しましたが、いつ使用するかは指定していません。すべての用途でフォワーダーを使用するようにしたい場合は、
zone "." IN {
type hint;
file "named.ca";
};
試す
zone "." {
type forward;
forward first;
forwarders { 10.90.0.135;
10.90.0.174;
} ;
} ;
編集: わかりました。代わりに上記を試してください。ただし、「まずローカルで解決を試みる」とはどういう意味かわかりません。転送したいとおっしゃっています。
答え2
dnssec-validation yes;
私の場合は、次のように変更するだけで問題は解決しました。dnssec-validation no;
答え3
MadHatter の回答の下にある OP のコメント「問題は dnssec でした」で明確にならなかった場合に備えて、私もこの回答で問題が解決したので、明示的にこの回答を投稿します。
キャッシュと転送のみを行う BIND サーバーをセットアップしましたが、転送されませんでした。クエリは数秒の遅延を伴ってルート サーバーに送信されていました。dnssec オプションを無効にすると、この問題は修正され、期待どおりに動作するようになりました。
dnssec-enable no;
dnssec-validation no;
dnssec-lookaside auto;