- PR -

優先/代替 DNS の設定について

1
投稿者投稿内容
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2006-07-14 19:07
こんにちわ.

ちょっと気になったのでご存知の方がいれば教えてください.
Windows には DNS の設定に「優先/代替」とあります.
それに限らず参照する DNS server を複数定義できますが,
これは UNIX/Linux でも同様 に resolv.conf などで設定すると思います.

ですが,その動作に大きな差異があるようです.
例えば A/B というそれぞれの DNS server があり,
Windows と Linux がそれぞれ
A:優先
B:代替
と設定されていた場合,
A が OS として停止していれば Windows / Linux ともに
B で名前解決しようと試みると思います.

が,A が OS は正常なのに,
DNS service だけが停止している場合はどうなのでしょう?
Linux の場合は B で名前解決してくれるようですが,
Windows は A を参照しにいく動作を目の当たりにしました.
設定を
B:優先
A:代替
とすると,当然その逆の動作をします.

これらの情報が正しいとすると,Active Directory において
Domain controller の冗長化をする際,DNS service は
process 監視などが結構重要なのかな?と感じた次第です.

この辺の情報をお持ちの方,是非ご教示いただきたく思います.

BackDoor
ぬし
会議室デビュー日: 2006/02/20
投稿数: 831
投稿日時: 2006-07-14 20:07
こんばんは。

kaz様の質問の回答になっているか甚だ疑問に感じますが、Windowsの場合のDNSの
検出動作は優先DNSサーバと代替DNSサーバの動作について に記載されている通りだ
と思います。

AD環境には明るくないのですが、ほぼ同様の動作をしているのでは? と思います。
大した情報でなくて、すみません・・・。
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2006-07-15 10:32
こんにちわ.

情報をお寄せいただきありがとうございます -> BackDoor 様
内容は自分もかねてから想像していたとおりなのですが,
そのように動かなかったのです.

Linux で動く DNS server が2つあって,
Windows Server 2003 の優先/代替 DNS をそれぞれ
Linux の DNS Server としていた際に,
単純に優先 DNS としている DNS Server の named を停止すると,
優先 DNS を見に行って「Server の応答が無い」と返されました.
想定していたのは「優先 DNS は応答が無かったけど代替 DNS で名前解決できた」
という動作をすることでした.
ちなみに,その状態で
> nslookup "解決したい内容" "代替 DNS"
とすると普通に名前解決できました.

もしかして Windows の DNS client としての機能と
nslookup という command では別の動作をしたりするんでしょうか?
※手元に環境が無いので確かめられませんが...

引き続き情報をお待ちいたします.
よろしくお願いいたします.
BackDoor
ぬし
会議室デビュー日: 2006/02/20
投稿数: 831
投稿日時: 2006-07-15 20:28
こんばんは。

引用:

kazさんの書き込み (2006-07-15 10:32) より:

内容は自分もかねてから想像していたとおりなのですが,そのように動かなかったのです.
Linux で動く DNS server が2つあって,Windows Server 2003 の優先/代替 DNS をそれぞれLinux の DNS Server としていた際に,単純に優先 DNS としている DNS Server の named を停止すると,優先 DNS を見に行って「Server の応答が無い」と返されました.
想定していたのは「優先 DNS は応答が無かったけど代替 DNS で名前解決できた」という動作をすることでした.

ちなみに,その状態で
> nslookup "解決したい内容" "代替 DNS"
とすると普通に名前解決できました.

もしかして Windows の DNS client としての機能とnslookup という command では別の動作をしたりするんでしょうか?


やっぱり、そうでしたか・・・。

> Linux の場合は B で名前解決してくれるようですが,
> Windows は A を参照しにいく動作を目の当たりにしました.
実は、kaz様の質問中のこの表現が気にはなっていましたもので・・・。

私はこれ以上の情報を持ち合わせておりませんので、他の識者の回答待ちですね。

あと確認できそうなポイントとしては、思いつく限りでは下記程度です。

1.WinXP(pro)上での動作確認
 ◎ LinuxDNSを直接参照する設定を入れ、ADのDomain controller
   と同様に動作するか。
 → Cliant環境とAD環境でDNSの検索動作に相違があるかの確認。
2.DNS server の動作環境
 ◎ Windows server上で動作するDNS serviceを利用する場合も
   同様な動作になるか。
 → 確証無しで恐縮ですが、「Linux の場合は B で名前解決して
   くれるようです」という部分が気になってます。
   上手く表現できませんが、何となく「DNS Aのサービス停止時
   に何らかのステータスを受け取って“否定応答”と判断して
   しまっているような気がします。
   (Linux同士の場合は問題ないことから想像しました。テスト環境が
    構築可能ならば、log、trace等から検証可能かと思います)

お力になれず済みませんでした。
masa
ベテラン
会議室デビュー日: 2005/04/27
投稿数: 99
投稿日時: 2006-07-18 14:46
こんにちわ。
いつも参考になるご意見を拝見させて頂いてますので・・・
あまり参考になるか判りませんが手元に環境があるので試してみました。

>もしかして Windows の DNS client としての機能と
>nslookup という command では別の動作をしたりするんでしょうか?

まず上記ですが、nslookupは接続先のDNSにしか聞きに行きません。
優先DNSや代替DNSなどの判断はしない単なる接続したDNSの動作確認ツールだと
考えればよろしいかと思います。

Windows の DNS client は以下のテスト結果となりました。

テスト環境:
・BIND9を優先DNSとして指定しているWin2k3でテスト
・ネットワークモニターでキャプチャ

@優先DNSとなっているBIND9(named)を停止
AWin2k3はまず、優先DNSに接続しようとしする(DNSのクエリ:53宛て)
B優先DNSからICMPのメッセージが優先DNSからWin2k3に届く(ICMP Destination Unreachable )
↑多分、DNSの死活をUDPスキャンで行なっているんだと思います
C直後にWin2k3は代替DNSに聞きにいき名前解決成功

となりました。
要は、kazさんがおっしゃられてる
"Sersverの応答が無い"というのは再現出来ませんでした。
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2006-07-18 16:27
こんにちわ.
引用:

masaさんの書き込み (2006-07-18 14:46) より:

あまり参考になるか判りませんが手元に環境があるので試してみました。


お手数をおかけしました.
引用:

B優先DNSからICMPのメッセージが優先DNSからWin2k3に届く(ICMP Destination Unreachable )
↑多分、DNSの死活をUDPスキャンで行なっているんだと思います


ここをもう少し詳しく教えてください.
優先 DNS から DNS client に ICMP で打診があるのでしょうか?
それとも DNS client から優先 DNS に向けて?
引用:

となりました。
要は、kazさんがおっしゃられてる
"Sersverの応答が無い"というのは再現出来ませんでした。


そうですか...
こちらでももう一度確認してみます.
masa
ベテラン
会議室デビュー日: 2005/04/27
投稿数: 99
投稿日時: 2006-07-18 17:07
こんにちわ。

>優先 DNS から DNS client に ICMP で打診があるのでしょうか?
>それとも DNS client から優先 DNS に向けて?

同じような説明になってしまうのですが、

@Win2k3はUDPでDNSのクエリ(名前解決要求)を優先DNSに出す
A優先DNSからICMPのエラーメッセージがWin2k3に送られる

という流れです。@の後にAが返ってくるということは
@のDNSクエリを出す=UDPスキャンのようなことをやっていて、
AでICMP port unreachableのメッセージを受けてセッションを
切断しているんじゃないでしょうか。
(以下のページのUDP スキャンが解りやすいかと)

http://www.ncfreak.com/asato/doc/port_scan/

1

スキルアップ/キャリアアップ(JOB@IT)