登壇者の自己紹介
川口永一郎氏(以下、川口):「固定回線にNAT64/DNS64を導入して」というタイトルで発表します。名前は川口と言います。ビッグローブで働いて、2年目と書いてありますが、見てのとおり社会人2年目の新米です。
業務としては、DNSをはじめとする各種サーバーの運用や、今日話すIPv4 over IPv6基盤の設計をしています。いつもInfra Studyを聞く側でしたが、今回のIPv6がテーマがInfra Studyということで、思い切って参加しました。
今日発表する内容ですが、NAT64/DNS64について基本的なことと、弊社でやっている運用について話せればと思っています。よろしくお願いします。
NAT64/DNS64とは
さっそくですが、NAT64/DNS64は、IPv4 over IPv6接続方式の1つです。よく採用されている方式だとMAP-EやDS-Lite方式があります。NAT64/DNS64は、NAT64と呼ばれる装置、DNS64と呼ばれる装置を利用して、IPv4 over IPv6を実現する方式になります。
一部モバイルの回線では商用化しているそうですが、2019年10月にビッグローブが固定回線として世界で初めて商用化しました。
ビッグローブがNAT64/DNS64を固定回線に導入した理由
ではなんでビッグローブがNAT64/DNS64を固定回線に導入したのかですが、ビッグローブではもともとMAP-Eを採用していました。ただ、MAP-Eを使うにはMAP-E対応のブロードバンドルーターが必要です。最近発売されているルーターだとMAP-E対応のものが多いですが、お客様が対応ルーターへ交換するのはハードルが高いと考えていました。
MAP-Eと比較してのNAT64/DNS64のメリットは、お客さまで特殊なルーターを所持する・買い換える必要がないことです。こういったモチベーションがあり、固定回線にNAT64/DNS64を導入する経緯となりました。
問い合わせと変換の仕組み
ここで簡単に仕組みについて説明します。まずスライドの図が宅内の環境です。宅内の環境から、例えばipv4-only.example.comのIPアドレスをDNS64に問い合わせをします。ipv4-only.example.comのIPアドレスは203.0.113.1というIPv4アドレスですが、仮のIPv6アドレスに変換してしまおうということで、仮のIPv6アドレスに変換して返却をします。
そして、この変換したIPv6アドレスでコンテンツに問い合わせをします。ここではIPv6に変換されているので、混雑しにくいIPv6の回線を通って、NAT64装置に行き着きます。NAT64では、IPv6は変換されているからもとのIPv4アドレスに戻してしまおうということで、元に戻す動作をします。
この元のIPv4アドレスでコンテンツの取得を行います。そして、最終的にコンテンツを返却して、PCないしスマホでサービスを利用できる流れになっています。
先行トライアルで発生した不具合の申告
導入する前、弊社でも社内の評価環境でたくさん評価しましたが、そのときは特に問題ありませんでした。固定回線にもNAT64/DNS64を導入して、IPv6回線でインターネットを使えると思ったのですが、1,000人を対象に先行トライアルを実施した結果、かなりの量の不具合申告が来てしまいました。
不具合申告を分析すると、固定回線はモバイルの回線と比べて端末や利用するサービスなど環境が多種多様なため、予想外の不具合が発生してしまうことがわかりました。
もう少し具体的に言うと、VPNやゲームの不具合申告が多かったです。NAT64/DNS64はISP側でIPv4/IPv6変換を行うので、コンテンツ側で不正な通信をしていると勘違いされてしまうことが主な原因になっています。また、特定の機器やOSで動作しないこともありました。
不具合を解消するために取り入れたDNSの仕組み
どうやって不具合を回避しているかというと、DNSの仕組みを使ってNAT64/DNS64を使わないようにしています。NAT64/DNS64を諦めるということです。
どういうことかというと、DNS64に一工夫入れていて、振り分け用DNSというものを用意しています。IPv6に変換する(DNS64の機能を使う)DNSと、IPv6に変換しない(DNS64の機能を使わない)DNS、2種類のDNSに振り分けることで、不具合を回避しています。
具体的にどういうことかというと、DNS64全体は図の構成になっています。先ほど説明したとおり、ipv4-only.example.comで問い合わせした場合は振り分け用DNSで振り分けて、DNS64を使う。IPv4/IPv6変換するDNSに問い合わせることで変換します。これが本来のしたい動作です。
逆に不具合を回避したい場合はどうしているかというと、振り分け用DNSに“DNS64対象外ドメインリスト”を用意して、ドメインのリストをいくつかもっておきます。
例えばipv4-only.example2.comのIPアドレスに問い合わせした場合、振り分け用DNSで対象外リストにマッチしているので、IPv4/IPv6変換しないDNSに問い合わせして変換しないようにします。こうすることで、サービスの不具合を回避することができます。
不具合申告があったサービス・アプリの評価も実施
まとめです。固定回線におけるNAT64/DNS64の運用では、一部サービスでどうしても不具合が発生してしまいます。そのためIPv6に変換する、変換しないDNSに振り分けていることで、不具合を回避しています。
不具合申告があったサービス・アプリの評価も自分たちで行っています。これはどうしても人力でやらないといけないので、多少地道で泥臭い運用ですが、さまざまなノウハウを蓄積しているビッグローブならではの通信サービスになっているのではないかなと思っております。
以上になります。ありがとうございました。