このスレッドは解決済です(未解決に戻す場合はこちら)
<<戻る

bindの名前解決ができない このメッセージに返信する
日時: 2016/12/23(Fri) 23:31
名前: 開発人A
URL:
CentOS7を使ってbindによるDNSサーバーの構築をやってみました。

nslookupやdigによって名前解決をしてみると、サーバー本体側で実行した場合は特に問題なく
正引き、逆引きともに成功するのですが、ローカルなネットワーク環境にある別のクライアントPCから
同じようにやってみるとサーバーを見つけられないといった内容のエラーがでてきます。

以下はクライアントPCであるwindows10のコマンドプロンプトからサーバーへdigを実行したときのものです。

C:\Users\Userm>dig rp3.test.com

; <<>> DiG 9.11.0-P1 <<>> rp3.test.com
;; global options: +cmd
;; connection timed out; no servers could be reached


DNSのnamedサービス自体はサーバー側で名前解決ができるため、おそらく正常に動作しています。
また、ファイアーウォールの設定ミスで名前解決ができないということがよくあるみたいですが
自分の場合、検証のためにファイアウォールを完全に落としていますがそれでも同じようにエラーを
吐きます。

さらに、windows側の有線LAN設定においても優先DNSサーバーの欄に
ちゃんとサーバー側のIPアドレスを設定しているので、ネットワーク上の問題もないと思います。
(実際、pingコマンドもサーバー上に問題なく通ります↓)

C:\Users\Userm>ping 192.168.3.5

192.168.3.5 に ping を送信しています 32 バイトのデータ:
192.168.3.5 からの応答: バイト数 =32 時間 =2ms TTL=64
192.168.3.5 からの応答: バイト数 =32 時間 =2ms TTL=64
192.168.3.5 からの応答: バイト数 =32 時間 =2ms TTL=64
192.168.3.5 からの応答: バイト数 =32 時間 =2ms TTL=64

192.168.3.5 の ping 統計:
パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
最小 = 2ms、最大 = 2ms、平均 = 2ms

他に記述漏れがあったら申し訳ないのですが、このような状態のときに考えられる、サーバー、
クライアント側の設定ミスや設定不足がありましたら、なんでもいいのでぜひ教えていただきたいです。
お願いしますm(__)m
記事編集 編集
Re: bindの名前解決ができない このメッセージに返信する
日時: 2016/12/23(Fri) 23:32
名前: 開発人A
URL:
すみません、補足です、間にルーターなどは挟んでいません
記事編集 編集
Re: bindの名前解決ができない このメッセージに返信する
日時: 2016/12/24(Sat) 02:18
名前: stranger
URL: http://ja.528p.com/
サーバ側のファイアウォールの再確認
$ sudo iptables -L -n -v

icmp (ping)はデフォルトでport開放されているので

firewalldは最終的にiptablesでkernelに働きます
最小インストールでiptableも入っています
記事編集 編集
Re: bindの名前解決ができない このメッセージに返信する
日時: 2016/12/24(Sat) 10:23
名前: aaa
URL:
名前解決できるがサーバー自身のみになってませんか?
allow-query { localhost; localnets; }; 
localhostだけになってる。
記事編集 編集
Re: bindの名前解決ができない このメッセージに返信する
日時: 2016/12/24(Sat) 10:44
名前: 開発人A
URL:
>stranger
おはようございます、コメントありがとうございます。

iptablesコマンドを実行してみたのですが、なぜか次のようになってしまいますorz。

[root@rp3 ~]# iptables -L -n -v
Chain INPUT (policy ACCEPT 423 packets, 30558 bytes)
pkts bytes target prot opt in out source destination

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination

Chain OUTPUT (policy ACCEPT 584 packets, 82867 bytes)
pkts bytes target prot opt in out source destination

これは一応正しい結果なのでしょうか。。。


>aaa

おはようございます、コメントありがとうございます。
allow-queryについては「any」を使用していて、まあ、セキュリティ的な話は置いといて
すべてのネットワークから名前解決を許可しているのでたぶん問題ないかと。。
あるいはanyにしたらまずいのでしょうか。

allow-query{any;};

ちなみにnamed.confの中身も全部見せたほうがいいでしょうか。
記事編集 編集
Re: bindの名前解決ができない このメッセージに返信する
日時: 2016/12/24(Sat) 12:13
名前: stranger
URL: http://ja.528p.com/
サーバ機のiptablesでは制御してないようですね

$ dig rp3.test.com

;; ANSWER SECTION:
rp3.test.com. 3600 IN A 69.172.200.109

グローバルアドレスが引けますが、これはあなたの持ち物ですか

named.confでアクセスコントロールしてますか
そこのネットワーク設定が間違っていませんか
記事編集 編集
Re: bindの名前解決ができない このメッセージに返信する
日時: 2016/12/24(Sat) 13:33
名前: 開発人A
URL:
>stranger
コメントありがとうございます。


$ dig rp3.test.com

;; ANSWER SECTION:
rp3.test.com. 3600 IN A 69.172.200.109

この結果についてですが、すみません、これはたぶんネット上の別のサーバーからの返答だと思います。

あくまで「優先DNSサーバー」を設定しただけなので、そのDNSから正しい返答がないと69.172.200.109
という別のサーバーから返答が来てるんだと思います。正しいサーバーのIPは

192.168.3.5

です。すみません、一応紛らわしいかもしれないので、今検証してるDNSサーバーのほうは
インターネットから一度分離させることにします。

それと、named.confについてですが、たぶん正しく設定されていると思うのですが。。。一応、次の返信で
全文を張らせていただきます。
記事編集 編集
Re: bindの名前解決ができない このメッセージに返信する
日時: 2016/12/24(Sat) 13:38
名前: 開発人A
URL:
以下がnamed.conf全文になります。

//
// 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.
//
// See the BIND Administrator's Reference Manual (ARM) for details about the
// configuration located in /usr/share/doc/bind-{version}/Bv9ARM.html

options {
listen-on port 53 { 127.0.0.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";


allow-query { any; };

/*
recursion.
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 "/var/log/named/named.run";
severity dynamic;
print-time yes;
print-severity yes;
print-category yes;
};

category queries {"default_debug";};
category client {"default_debug";};
category lame-servers {null;};
};

view "internal" {
match-clients {any;};
match-destinations {any;};
recursion yes;


zone "." IN {
type hint;
file "named.ca";
};

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

zone "test.com" {
type master;
file "test.com.db";
allow-update {none;};
};

zone "3.168.192.in-addr.arpa" {
type master;
file "3.168.192.in-addr.arpa.db";
allow-update {none;};
};
};
記事編集 編集
Re: bindの名前解決ができない このメッセージに返信する
日時: 2016/12/24(Sat) 13:48
名前: 開発人A
URL:
ちなみにdigでDNSサーバー上にてrp3.test.comの名前解決を行うと次のようになります。

[root@rp3 ~]# dig rp3.test.com

; <<>> DiG 9.9.4-RedHat-9.9.4-38.el7 <<>> rp3.test.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 39831
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;rp3.test.com. IN A

;; ANSWER SECTION:
rp3.test.com. 86400 IN A 192.168.3.5

;; AUTHORITY SECTION:
test.com. 86400 IN NS rp3.test.com.

;; Query time: 2 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: 木 1月 01 03:19:11 UTC 1970
;; MSG SIZE rcvd: 71
記事編集 編集
Re: bindの名前解決ができない このメッセージに返信する
日時: 2016/12/24(Sat) 15:27
名前: aaa
URL:
listen-on port 53 { 127.0.0.1; };
これが原因じゃないかな?
これをコメントするか、
サーバーのip追加してみたら?
サービスの再起動も忘れずに

http://dns2007.seesaa.net/article/32695498.html

anyについてはdnsアンプ攻撃にきをつけてください。
記事編集 編集
Re: bindの名前解決ができない このメッセージに返信する
日時: 2016/12/24(Sat) 16:16
名前: 開発人A
URL:
>aaa

おお、listen-on port 53を直したらクライアントから名前解決できました(^^)。ありがとうございます。

なるほど、DNSの受付IPって再帰しないときでも127.0.0.1だけじゃだめなんですね、サーバーのIPもいれないと。

動作確認ができましたので以後、ご指摘の通りセキュリティ面に力を入れていきたいと思います。

stranger様もお忙しい中考えていただきありがとうございました。今後も、このサイトで質問を
することがあるかもしれませんが、その時はまたよろしくお願いいたしますm(__)m。
記事編集 編集
件名※必須
名前※必須
URL
任意のパスワード (投稿後のコメント修正・削除時に使用)
画像認証※必須 投稿キー(画像で表示されている数字を入力)
コメント※必須

※質問を投稿後に自己解決された場合は、原因と行った対処を具体的に書き込み下さるよう、よろしくお願いします。

- WEB PATIO -