ネットワークTOP  |  IPv6 TOP

IPv6ネットワークを作ろう

IPv6でDNS

IPv6でDNSクライアントの構成

クライアントに DNS サーバーの IPv6 アドレスを構成するには、

  • 各クライアントコンピュータ、または、
  • クライアントがネットワークにログオンするたびに実行されるログオン スクリプト
で、netsh interface ipv6 add dnsコマンドを使用する。ログオンスクリプトはMicrosoft Technetでの記述であるが、筆者が実験した環境では、一度設定されたDNSサーバーのエントリは再起動しても消去されない。ログオンするたびに毎回設定する必要はない。あくまでも何千台もあるクライアントコンピューターに対して管理者が一台ずつローカル設定するようなナンセンスを否定する記述だと思われる。

クライアントコンピューターにnetsh interface ipv6 add dnsコマンドを実行すると、IPv6enableにしたときから既定でDNSサーバーのアトレスとして自動設定されている 3 つの IPv6 アドレスはdisableとなる。(ipconfig /allで確認できる。netsh interface ipv6 add dnsコマンドで明示的に静的設定すれば利用可能)


Windows Server 2003でDNS クライアント

Windows Server 2003をDNSクライアントとして構成すると、IPv6パケットでAAAAレコードに対するnameクエリをDNSサーバーに対して送出する。回答が返ってくる・来ないにかかわらず、次にIPv4パケットでAレコードに対するnameクエリを送出する。この様子はMicrosoft NetworkモニタやEtherealで確認できる。


Windows Server 2003のDNSでも、BIND9でも、IPv4IPv6双方のクエリに対応している。Windows Server 2003でDNS クライアントを構成すると、いずれのDNSサーバからもIPv6のクエリに対してIPv6で応答がある。

IPv4のリゾルバ設定を空白にしておくと、IPv6のDNSサーバに対して、IPv6パケットのAレコードqueryとAAAAレコードqueryを投げる。この場合、AAAAレコードのみ回答が得られたとしても、Aレコードのネガティブアンサーは影響しない。

※ 追記:Aug 18 2013
いつからか不明だが、netsh interface ipv6 show dnsコマンドの結果表示がなくなった。

Windows Update(Microsoft Update)を適用していると、CD-ROMでインストールした初期OS状態ではなくなり、netshをはじめとする様々なコマンドも仕様が変わることがある。

netshコマンドもAug 18th 2013の時点では、netsh interface ipv6 show dnsコマンドは存在するが、結果にDNSサーバーのアドレスが表示されなくなった。ipconfig /allで確認可能である。

Windows XpでDNS クライアント(IPv4でのみクエリを送出)

残念ながら、Windows XpはデフォルトではIPv6のパケットでDNSクエリを送出しない。IPv4パケットでAAAAレコードを尋ねるクエリを送出し、回答を得てからリモートホストにIPv6で通信する。

Microsoft TechnetなどではSP1を適用したWindows Xpは、Windows Server 2003相当のnetshの機能となるという記述を見かけるが、 netsh interface ipv6 add dnsコマンドでIPv6のDNSサーバーを指定しても、機能しない。そもそも、Windows XpIPv6でDNSクエリを投げなれないのである。
(コマンド操作そのものは受け付けられ、ipconfig /allコマンドやnetsh interface ipv6 show dnsコマンドなどでも設定を確認できる。しかし、ホスト名でpingを実行しても名前解決しない。networkモニタ等で計測しても、クエリそのものを送出していないことが判る。ホスト名解決ではなくIPv6アドレスを利用してのpingは成功する。)


Windows XpIPv6クエリを投げるには、次に紹介するnameproxyのようなAdd-onソフトを利用する。

Nameproxy

IPv6Styleでも紹介しているIPv6でDNSをひきにいくプロキシーである。残念ながら現在、 ここのページで紹介しているリンク先は別コンテンツになっており、ダウンロードできない。しかもIPv6Styleで紹介しているIPv6対応ソフトウェア一覧(Windows) の最新版からも消えてしまっている。しかし、検索サイトでnameproxyを引くと、いくつかのサイトが引っかかるので、参照してほしい。

nameproxyIPv4クエリをIPv6クエリに変換する。使用方法は簡単である。nameproxyのDNSサーバー欄にIPv6のDNSサーバーを追加するだけである。


ネットワーク上のWindows Xpは、nameproxyが動作しているWindows PCをDNSサーバーとして設定すればよい。(ここがProxyたる所以だ。)nameproxyが動作しているWindows XpはTCP/IPの設定画面で自分自身をDNSサーバーとして設定すればよい。


DNSサーバーのエントリとして127.0.0.1が設定できるのは、Windows Xp以降のOSである。しかし、

  • netsh interface ip add dns intfacename 127.0.0.1コマンドや
  • netsh interface ip set dns intfacename static 127.0.0.1コマンド
は機能しない。設定内容を表示しても設定されていないことが確認できる。

ここだけはGuiのマイネットワークプロパティのTCP/IP設定画面に頼る。設定後はnetsh interface ip show dnsコマンドで確認できるが、このとき、マイネットワークプロパティの設定画面が閉じていないとエラーが出る。プロパティの設定画面を閉じるとコマンドで確認可能だ。


FQDNpingを実行すると、名前解決が成功している。


nameproxyが手に入らなくても、同様のアプリケーションが登場するのは時間の問題である。まめに検索することとしよう。

※ 追記:Jan 26 2011
Windows XpのクエリがIPv6に対応していなくてもnameproxyなりのものが出ると期待していたが、IPv6クエリに対応したWindows Vistaのリリース、またWindows7のリリースもあり、2011年現在ではにIPv6クエリを投げるadd-onアプリケーションも必要度は低くなったようだ。

つづく・・・・

 
ネットワークTOP  |  IPv6 TOP
Copyright (C) 2011 by Yasumaro. All rights reserved.
 ↑ ご意見・ご感想・ご要望・苦情はこちらまで。↑
最終更新日2013年08月18日
HIEDA.NET