IPv6 接続サービス開通後の LAN 内 DNS サーバー参照について

スポンサーリンク

 つい先日 ASAHIネット の IPoE によるネイティブな IPv6 接続サービスが開通した後、特に問題も無いかなと思っていた所に盲点というか認識不足というか勉強不足な所もあって問題が 1 つ発生した。

問題点

 Windows10 などに限らずではあるが、IPv6 接続が出来る環境だと優先的に IPv6 で通信が行われる。それ故に IPv4 でしか接続が出来ない我が家のサーバーに対しては名前解決の問い合わせが一切飛んでいかないので、名前ベースによるホストへのアクセスが出来なくなった。
 それはもちろん同サーバーでホストされているこのブログも同様で、一旦インターネット側に出ていってから外向きからの名前解決が行われた後にページが表示される。PPPoE ブリッジで別 ISP の GMO からのアクセスを主とするメインマシンはこれで表示されるが、ASAHIネット に接続されているサブマシンはそもそもこれでは自分のホストしているサイトを閲覧することすら出来ない。
 GMO に接続したメインマシンからのアクセスはログを見るとグローバルアドレスが記録されており、プライベートアドレスによるアクセスではないので LAN 内のみ有効とするようなアクセス制限に引っかかって困ったことになった。

問題解決に向けて

 問題を解決するためにはネットワークインターフェイスに LAN 内の DNS サーバーを参照させてあげる必要がある。
 そこで先ずはサーバー自体を IPv6 に対応させるべく IPv6 自体の勉強を始めたところだったが、徐々に進むにつれて「IPv4 射影アドレス」という存在をしった。
 IPv4 射影アドレスとは IPv4 でのみ接続可能なネットワーク及びホストに対して用いるアドレス。今回筆者のやろうとする事にどんぴしゃな便利な物だった。

 IPv4 射影アドレスは ::FFFF:xxx.xxx.xxx.xxx という表記が出来る。
 筆者宅内の DNS サーバーは IPv4 のみ対応で、アドレスを 192.168.1.8 としている。これを IPv6 で参照するならば ::FFFF:192.168.1.8 とすれば良い。とても便利で楽。
 このアドレスをネットワークインターフェイスにて自動設定となっていた DNS サーバーの部分に手動で打ち込んであげると良い。

解決

 そしてこの設定を有効としたあと、LAN 内の DNS サーバーである named の query.log を tail -f して眺めている限り、名前解決するための問い合わせが一気に流れ込む事を確認出来た。
 Web サーバー側でも自分のブログを参照した時のログに IPv4 のプライベートアドレスが記録されており、プライベートアドレスでのみ参照可能としているエリアにも問題無くアクセス出来る様になった。

今後

 折角 IPv6 接続が可能になったので継続して IPv6 のお勉強を進めて LAN 内のクライアントやサーバー全てに IPv6 のプライベートアドレス (ULA) を割り当てて IPv4 射影アドレスを使わないで済む様な環境にしていきたいと思う。
 もし自宅サーバーで DNS サーバーを運用しており、そのホストが IPv6 を無効化しつつ named に OPTION=”-4″ なんてして IPv6 非対応だった場合には IPv4 射影アドレスによる IPv6 ネットワークからの参照をしてとりあえず凌ぐと良いだろう。

スポンサーリンク