今そこにあるIPv6 ─ もう1つのインターネットが普通に使われていることに普通のITエンジニアはどう対応するべきか?
長らく「オオカミ少年」と呼ばれながら近年は対応サービスの増加もあって普通に利用されているIPv6。2021年12月に『プロフェッショナルIPv6』を改訂する小川晃通(@geekpage)さんに、普通のITエンジニアがこれから考えるべきことを聞きました。
インターネットの基盤技術では、IP(インターネットプロトコル)v4と呼ばれる仕組み(RFC 791)が1980年ごろから利用されています。IPv4ネットワーク上の機器は32ビット(約43億)のIPアドレスで識別されますが、人類が自由にインターネットを活用するには狭過ぎ、やがて枯渇することが1990年代前半には指摘されていました。
この問題に対して、アドレス長を4倍の128ビット(約43億×43億×43億×43億=約3.4×1038)としたIPv6が策定され、2000年代には各OSへの実装も進められました。しかし、プライベートIPアドレスを利用したNAT(ネットワークアドレス変換)技術が広く活用されたことなどから、IPv4は長く延命され、必要性をアピールされながら普及が進まないIPv6はイソップ童話の「オオカミ少年」にたとえられてきました。
一方で、2010年代に入ってIPv4グローバルアドレスの在庫が実際に枯渇しはじめると、プロバイダがIPv6アドレスもあわせて割り振ったり、Googleなどの事業者がIPv6でサービスを提供したりと、変化も起きています。利用者の端末にはIPv6スタックがOS標準の機能として搭載済みですから、ネットワークとサービス側が対応するだけで、一般のユーザーも知ってか知らずかIPv6を利用している時代になってきました。
AkamaiやGoogleが公開しているIPv6の普及状況によると既に日本でも40%を超え、NTTドコモでは2022年春から端末にIPv6アドレスのみを割り当てると発表するなど、この数年でIPv6の普及が急に進んでいます。
本記事では、2018年に書籍『プロフェッショナルIPv6』を執筆(2021年12月に改訂)し、最近では解説動画も精力的に公開されている小川晃通(以下、あきみち、@geekpage)さんに、IPv6そのものの開発や運用を行うわけではない一般のITエンジニアにとってIPv6の普及はどういった意味があるのか? また、Webの開発や運用においてどういったことに気を付ければよいのか? といった観点から話を伺いました。
- いつの間にか誰もがIPv6を利用している?
- IPv6にすると高速になるか? 安全になるのか?
- もう「IPv6が来る」と叫んでも「オオカミ少年」ではなくなった?
- サーバ側のIPv6対応は急ぐべきか? IPv4の劣化とは何か?
- IPv6/IPv4デュアルスタックか、IPv6シングルスタックか?
- 企業の構内ネットワークもIPv6対応すべきか?
- エンジニアのIPv6対応は、まず勉強から
いつの間にか誰もがIPv6を利用している?
── IPv6が必要と言われて久しいですが、私たちも積極的に移行を進めるべきなのでしょうか?
あきみち いきなり核心ですね。私のように解説書を書いたり解説動画を公開している立場から言わせてもらうなら、IPv6という技術への注目が増えほしいという気持ちはあります。
ただ、IPv6対応をそれぞれが自分の身近な環境で進めるべきかどうかは、個々が置かれている状況に依存するでしょう。みんながみんな何がなんでもIPv6対応を行うべきかと言われると、そうではないと考えています。
ちなみに「移行」という言葉は、既存のIPv4を全く利用せずIPv6だけにするという意味にも取れるので、IPv4とは違うIPv6というプロトコルにも「対応する」という表現を使うことが現在は多いです。
実際のところ、IPv6はものすごく身近な存在になりつつあって、もう「IPv6について何も知らない」ままでは困るという状況になっている方も少しずつ増えているように思います。私のモチベーションとしては、必要になったときに必要な人が情報に手軽にアクセスできるように準備しておきたい、という感じかもしれません。
── 自宅からNTTのフレッツ光でインターネットに接続していたり、スマホでモバイルネットワークを使っていると、自分のマシンにIPv6アドレスが付いていることがありますね。
あきみち そうなんです。日本で普通に生活してインターネットにつないでいると「気が付かないうちにIPv6を使っている」という方も非常に多いんですよ。
一口に「IPv6対応」といっても、端末(もしくはホスト)のOS、ネットワーク、アプリケーション、サーバのそれぞれにおける対応を別々に考える必要があります。このうちOS、ネットワーク、アプリケーションまでは、すでに完了しているものも多い状況です。iOSアプリの審査などは、IPv6対応してないと通らないことになっているくらいなので。
試しにAPNICのサイトを開いてみてください。右上に「自分のホストがインターネットからどんなIPアドレスとして見えているか」が表示されます。おなじみのピリオド区切りのIPv4アドレスではなく、コロン区切りのIPv6アドレスが表示される環境の方もけっこういるはずです。
── (取材の同席の編集者)今はオフィスのWi-Fiで接続していますが、IPv4アドレスが表示されますね。
あきみち スマホのテザリングに切り替えるとIPv6アドレスになりませんか?
── (編集者)ほんとうだ! これは面白いですね。
あきみち これは、今まさに日本国内で非常に多い環境を反映しています。モバイルや家庭用ネットワークのIPv6対応は急速に増えています。一方で、企業内LANなど組織内ではIPv4 NATを利用していて、IPv6対応が行われないことが多い。企業内LANのIPv6対応に関しては、今のところ課題がいろいろとあるのです。
NATやプライベートIPv4アドレスはご存じの通り、グローバルIPv4アドレスという限られた資源を複数の端末で「共有」することにより、有効活用するための技術です。その意味では、IPv6と同じく「IPv4アドレスの在庫枯渇」という問題に対する解決策として、現在のインターネットで広く利用されている技術だといえます。
言い換えると、現在のインターネットは、「IPv4アドレスの共有技術の活用」と「IPv6対応」が両方とも並行して進んでいる、やや複雑な状況にあります。インターネットとIPv6について考える際にはIPv4について考える必要もあり、IPv6というプロトコルの良し悪しだけを議論すれば済むわけでもないということです。
IPv6にすると高速になるか? 安全になるのか?
── プロトコルとしてIPv6が優れているかどうかという観点で、自宅のインターネット回線をIPv6に対応すると速くなるとか、IPv6の方が安全だとか言われていますが、実際のところどうなんでしょうか?
あきみち それは誤解ですね。IPv6にするだけで速くなるとか、安全になるといったことはありません。プロトコルとしてのIPv6がIPv4より優れているかどうかについても、さまざまな評価がこれから行われていくところだと思われます。
ただし、日本国内のNTTフレッツ網に限定した話ですが、「IPv6の契約を利用することで速くなる」と言えるような現象はあって、これが勘違いを助長している面はあるかもしれません。また、そういう宣伝も行われていますね。
── 「IPv6にしたら速くなった」という現象だけを見ると「IPv6の方が速い」と勘違いしそうです。
あきみち 実際には、これは限定的な状況の話なんですよ。つまり「IPv4 PPPoEでスループットが出なかった環境で、IPv6 IPoEを使うと速くなる」ことはあるんです。
NTT東西のフレッツ光では、IPv4アドレスによるインターネット接続にIPv4 PPPoE(Point-to-Point Protocol over Ethernet)という方式を使っています。この方式では、ISPと家庭の間にセッションが張られるのですが、このセッションを終端する機器の性能によるスループットの制約が発生することがあります。例えば、大規模マンションが同じ回線を流れている装置に接続してしまった場合など、この制約によって数メガbps程度の速度しか出ないこともあるようです。
このような状況で、IPv6 IPoE(IP over Ethernet)という方式を利用すると、輻輳、ようは混雑が発生している機器を避けることができるので、いわゆる「速くなる」と言われているような状況になることがあります。だから「IPv6で速くなった」という話が成り立つ状況はあるにはあるんですが、そもそもCATVなどのフレッツ光と違う環境では、話がぜんぜん違ってくるんです。
── 家庭用インターネット回線としてフレッツ光の利用者が多いことも、「IPv6にしたら速くなった」という話だけが独り歩きしやすい要因かもしれませんね。
あきみち これらの技術の名称もかなり独特ですしね。「IPv6 IPoE」といった用語自体、国外では通用しません。「NTTフレッツ網上でISPがIPv6接続サービスを提供する方式」について総務省で検討されていた4つの案の1つに対する名前なので、完全に日本独自です。もともとただ「案4」と呼ばれていましたし。
本来ならインターネットへの接続方式について、エンドユーザが気にする必要はないはずなんです。しかし、こうした歴史的な事情から日本国内では「IPv6にしたら速くなった」ように見えてしまう状況があって、それで話がややこしくなっている面はあると思います。
実際、今このインタビューではGoogle Meetを使っていますが、私の手元の環境ではIPv6で通信してるはずです。でも、ここに参加している全員、誰もそんなこと気にしていませんよね。私が手元でプロトコル解析アプリのWiresharkを動かしてはじめて「IPv6を使っているな」と分かるくらいでしょう。
── IPv6に対する誤解というと、古くから「IPv6はIPsecだから安全」というものもありますね。
あきみち それこそ誤解の最たるものです。IPsecを使うことが必須とされていたことはありません。かつてはIPsecの実装が必須とされていたこともありましたが、それは実装することであって、全ての通信で使うことではないんです。そして実装することに関しても、現在ではRFCが改訂されて必須ではなくなりました。
必須ではなくなったにもかかわらず、試験問題としてIPv6におけるIPsecが出題されることがありますが、あれはどうにかした方がよいと思います。参考書も、けっこう古い情報のままだったりするんですよね。
むしろIPv6の方が危険なこともあって、実際のところ「運用経験やエンジニアが少ないIPv6の方が、それらが豊富なIPv4よりかえって安全ではない」と明記されたRFC 7381もあります。新しいからといってIPv6の方が安全なわけではないということは、ぜひ知っておいてもらいたい事実です。
そういった部分を含めて、まずはIPv6に関して調べてみることを勧めています。
もう「IPv6が来る」と叫んでも「オオカミ少年」ではなくなった?
── そもそも、あきみちさんがIPv6に興味を持ったきっかけは何だったのでしょうか?
あきみち 20年以上前に大学の研究室でIETF(Internet Engineering Task Force)に行っていたので、その頃からIPv6の話を耳にすることはありました。日本国内でKAMEというIPv6実装が活発に開発されていたり、当時の森首相が国会でIPv6に言及したり(第150回国会における所信表明演説)していた頃ですね。
ただ、そのころIETFで自分が参加していたのはRTPやRSVPやDiffServなど、IPv6には全く関係がないワーキンググループでした。IPv6に携わっていた人たちには、一生追い越すことができない超絶スゴイ方々という印象が今でもあって、それを横から「すごいなあ」と見ていただけなのです。
── 本を書いたりするのは、そのずいぶん後になるんですね。
あきみち 自分でIPv6について調べはじめたのは、2010年ごろ。ちょうど『インターネットのカタチ』という本を執筆しているときでした。IPv4アドレスの中央在庫枯渇問題がいよいよ待ったなしになったころです。ちなみに、IANAでIPv4アドレスの中央在庫が実際に枯渇したのは、2011年2月です。
その当時って、2000年ごろに出版されたIPv6の解説書がどれも内容的に古い状態になっていて、アップデートされていなかったんですよ。いざIPv4アドレスの在庫が枯渇したときに、古い本しかなかったんです。それで「自分がIPv6の本を書けばいい」と考えたんですね。
── 2011年の中央在庫枯渇時点では、IPv6はまだほとんど普及してなかったのではないでしょうか。
あきみち はい。Googleの統計でも1%未満でした。でもその時点で、すでに主要なOSではIPv6対応できてたんです。ユーザー向けの接続サービスが多くなかったので、「IPv6でインターネットを利用する」ような人は少なかったでしょうが。
── 2000年代におけるIPv6利用というと、インターネットよりむしろ米軍やNTT東西のような「閉域網で採用」の話題が記憶にあります。
あきみち 1990年代から2000年代にかけてIPv6は最先端トピックの1つだったので、それを利用したサービスを開発するより、研究する人が多かったこともあるでしょう。
現在はそうした研究で得られた成果を使って、インターネットでもIPv6が使われている段階に入っていると思います。インドの普及状況は60%を超えていますし。
── Googleによれば、日本からのアクセスも40%がIPv6とのことですね。
▶ “ステイホーム”でガツンと増えたIPv6の普及率 国内約40%のユーザーがIPv6で通信できる環境をもっている - ログミーTech
あきみち AkamaiやGoogleの統計は、あくまで「自社のサービスを利用するユーザの何割がIPv6でつないでいるか?」という話なので、インターネットにおける利用率そのものではありませんが、IPv6でインターネットに接続するユーザはここ数年で本当に増えています。
ここまで普及してくると、さすがに「IPv6はオオカミ少年」という人は見かけなくなりました。
サーバ側のIPv6対応は急ぐべきか? IPv4の劣化とは何か?
── その一方で、例えばサーバ側でアプリケーションを開発しているエンジニアの間から「IPv6を意識しないといけない」といった切迫感はまだ感じられないようですが。
あきみち まだ「自社のWebサービスのサーバをIPv6アドレスでも運用すべき」と考える企業がそれほど多くないからでしょう。これからではないでしょうか。必要になった時点で考えても特に手遅れにはならない気がするので、「意識しないといけない」ことはあまりないかもしれません。
ただ、最近のIPv6に関連する各所の話題であったり問い合わせの状況を見ていると、来年や再来年あたりで、今とまた少し違った状況になる可能性も感じます。
── GoogleやFacebookをはじめとして、サーバのIPv6対応を頑張っている企業もありますね。
あきみち はい。国内でも、さくらインターネットやDMM、サイバーエージェントなど、積極的にIPv6対応を行っている企業はあります。
── 企業がIPv6に取り組む理由は何でしょう? 例えばGoogleがQUIC(およびHTTP/3)を開発した背景には技術的なメリットがあるように思います。IPv6の推進も同じでしょうか?
あきみち IPv6に関しては、メリットよりも使命感で活動されている方々が多いイメージです。そもそもIPv4アドレスが足りなくなるので、アドレス空間を大きくしたのがIPv6です。その使命感や信念をもってIPv6の普及活動や自社サーバのIPv6対応を行っていて、それに共感するエンジニアが集まっているようです。
もっとも、IPv4アドレス在庫枯渇問題という大きなデメリットを避けるという意味では、長期的な視点でのメリットと言えるかもしれませんが。
── サーバ側のIPv6対応に温度差があるように見えるのは、そういう背景があるんですね。
あきみち それぞれの事業者にとって、サーバのIPv6対応にどれくらい必然性があるのかは、「IPv4の劣化」が今後どう進むかで見極めることになると思っています。
IPv4で通信することのデメリットが大きくなれば、その回避策としてIPv6を利用することがメリットになります。事業者がメリットを考えながらIPv6対応を検討する状況が発生しつつあることが、昔と大きく違う点だと思います。
── 「IPv4の劣化」とはどういうことですか?
あきみち IPv4アドレスを使うユーザが被(こうむ)る、通信品質の低下の度合いですね。
すでに触れたように、現状でもたくさんのユーザがIPv4アドレスという貴重な資源を共有してインターネットを利用しています。これが進むと、十分な通信品質でインターネットを利用できない状況も増えるでしょう。IPv4 PPPoEによる制約も、広い意味ではその亜種かもしれません。
IPv4の劣化を回避すべく、ユーザがIPv6に移行し、IPv6インターネットの需要が高まれば、サーバのIPv6対応も進むはずです。そうなると「サーバでIPv6対応をしない」という選択肢が減る可能性はあると思います。
さらにIPv4のユーザーが減って使う人が大幅に減れば、どこかの時点でインターネットで流れるトラフィックの多くがIPv6になる可能性もあると思います。
── なるほど。ユーザ側がトリガーとなってサーバ側の対応が必要になるわけですね。サーバ側で「IPv4の劣化」が直接問題になることは ないのでしょうか?
あきみち サーバ側でIPv4アドレスが足りなくて困る、という話もありえなくはないですが、現状で例えば「AWSでIPv4アドレスがもらえなくなる可能性がある」といった事態が今すぐ発生することは想像できないので、基本的にIPv4の劣化に遭遇するのはユーザ側という状況ですね。
2021年現在、サーバ側で「IPv4の劣化」が問題になるとしたら、それは「IPv4アドレス共有サービスの下に入って通信品質の劣化の影響を被るユーザとの通信で速度低下を避ける」という側面が大きいのではないでしょうか。
IPv6/IPv4デュアルスタックか、IPv6シングルスタックか?
── サーバでIPv6対応するときには、ホストのIPアドレスをIPv4からIPv6に付け替えるのでしょうか?
あきみち 付け替えるというより、追加するイメージですね。多くの場合は、既存のIPv4でサービスを継続しながら、新たにIPv6のサービスも追加するという運用になるのではないでしょうか。
Webに関して言うと、静的サイトであれば簡単にIPv6対応できる状況です。利用しているホスティングサービスの設定でIPv6をオンにして、権威DNSサーバに(ホスト名とIPv6アドレスを定義する)AAAAレコードを追加すれば、それでIPv6対応が終わることも多いはずです。
CDNを利用している場合でも設定画面でチェックボックスをオンにすれば、それだけで「IPv4/IPv6デュアルスタック」が実現できる場合もあります。
── この場合の「IPv4/IPv6デュアルスタック」とはどういうことでしょうか?
あきみち 「同じ名前(ホスト名とドメイン名)を使って、IPv4アドレスでもIPv6アドレスでもサーバに接続できる」ことを指しています。
これは、DNSをうまく設定することで実現できます。IPv4で通信するサーバとIPv6で通信するサーバを用意して、それぞれのIPアドレスをDNSに追加することで、IPv4とIPv6の両方に向けてサービスを行えるようになります。インターネットでは「その名前のサーバと通信できるかどうか」が大切なので、サーバ側のIPv6対応ではDNSによる名前解決が重要になるとも言えます。
── 一方、NTTドコモはIPv4とIPv6のデュアルスタックを止めて、2022年の春から「IPv6シングルスタック方式」を導入すると発表しました。
▶ IPv6シングルスタック方式の導入に向けて接続試験環境の提供を開始 - NTTドコモ [PDF]
あきみち こちらはサーバのIPアドレスではなく、NTTドコモが契約者の端末に割り当てるIPアドレスについて、来春から「IPv6アドレスのみにする」という話ですね。
ユーザ側はIPv6だけのネットワークになりますが、サービス側はIPv4でしか提供していないことも多いので、NTTドコモの交換局ではIPv6とIPv4を変換するNAT64/DNS64の技術が大規模に使われると思われます。これがどうなるのか注目です。
── ユーザ側の話なんですね。そうすると先ほどの「IPv4の劣化」と関係するのでしょうか?
あきみち 「IPv4の劣化」という表現が使われるときには、たいていIPv4アドレス共有技術が念頭にあります。NAT64もIPv4アドレス共有技術の1つではあるので、NAT64を通じてIPv4インターネットとの通信を行うときに「IPv4の劣化」と言われる状況と同じことがあるかもしれません。
ただ、実際にどんな事情があるかは分かりません。先日のJANOG(2021年7月に開催されたJApan Network Operators' GroupによるJANOG48 Meeting)で発表された内容に関しては公開情報があります。
▶ IPv6アドレス利用拡大に向けたドコモの取り組み - JANOG48
それ以外は、内部ネットワークの事情を詳細に公開する理由もないでしょうから、推測しかできないですね。単純にユーザ数が多いことや、ISPでなくドコモ自身が保有しているIPアドレスが割り当てられていることを考えると、IPv4アドレスが大量に必要なネットワークなのだろうとは思います。
── 1つのIPv4アドレスをどれくらいのユーザで共有しているのでしょうね。
あきみち 固定網のISPであれば、1つのIPv4アドレスにつき「数十人から数百人」という情報が、総務省による「インターネットトラヒック研究会」の第5回(2021年3月9日)の参考資料として公開されています。
▶ IPv4アドレスの利用を巡る最近の課題 - 一般社団法人日本インターネットプロバイダー協会 [PDF]
ただし、ドコモのようなモバイル網でそれがどういう比率になっているのかは、公開されている情報もあまりないのでちょっと分かりません。規模感はぜんぜん違うと思いますが。
企業の構内ネットワークもIPv6対応すべきか?
── ドコモの発表は、すでに「IPv6アドレスだけのネットワークを構築しても、ユーザがインターネット利用で困ることはない」という状況になっていることを示すものとしても興味深いです。
あきみち そうですね。NAT64とDNS64で大丈夫という通信は非常に多いと思いますが、問題が発生する通信も存在しているようです。
実のところ、インターネットは登場してから毎年のように構成要素が変わっているんです。ですが、影響が出ないようにさまざまな人が頑張って少しずつ変わっているので、「ユーザとしてインターネットが全く利用できなくなる」ような事態には陥ったことがないはずです。
そういう変化の1つとして「従来のIPv4インターネットとは違うIPv6インターネットが普及しつつある」だけだとも言えますね。
── ということは、例えばIPv4で契約しているオフィスや家庭のインターネット接続を、今すぐIPv6に切り替えてしまっても特に問題はないのでしょうか?
あきみち 一般ユーザとして、家庭のインターネット契約でIPv6を利用可能にする難易度は高くないと思います。しかし、企業や学校のネットワークとなると事情が変わってきます。
先ほども述べたように、家庭に比べて企業ネットワークのIPv6対応はあまり進んでいないのです。実際、日本国内だと正月や年末年始、あるいはこのコロナ禍で緊急事態宣言が発出されて在宅勤務が増えると、「IPv6の普及率」とされる数値が急に増えるんですよ。会社からではなくテレワークで家からインターネットを利用する人々の割合が多くなると、IPv6トラフィックも増えるという状況があるのではないかと言われています。
── 家庭と企業とで技術的に何か違いがあるのでしょうか?
あきみち 技術的には、内部でルータを必要とせず1セグメントで済むところなら、おそらく同じですね。基本的には、ISPとIPv6の契約をして、CPE(Customer Premises Equipment、顧客構内設備)のIPv6対応をオンにすれば、それだけで構内ネットワークをIPv6化できるはずです。端末はほとんどがデフォルトでIPv6は有効になっているはずですし。
ただ、IPv6ネットワークを運用するベストプラクティスができてないんですよね。IPv4とはプロトコルとしての仕組みが違うので、気にすべきことが従来とは変わってきます。例えば、IPv4では外からの攻撃に対抗するためICMPを切る運用が一般的ですが、IPv6バージョンのICMPv6は必須なのでファイアウォールで全部切るわけにはいきません。
── NATがなく、全ての端末にグローバルIPアドレスが割り当てられることも、セキュリティの観点で気になる人がいるかもしれませんね。
あきみち たぶん、そういうところに漠然とした「気持ち悪さ」を感じている人は多いという印象です。
ただ、外からの攻撃を守るという観点では、IPv6とIPv4とで変わる点はあまりない部分も多いと思います。Wiresharkで観察してみれば、IPv4でもIPv6でも、攻撃のためのパケットはいくらでも観測できます。NATはセキュリティのための仕組みではないので、IPv4でNATを使った構成と、外からの通信をそれなりにフィルタしているCPEでIPv6を使っている構成とでは、あまり安全性は変わらないでしょう。
ちなみに、IPv6アドレスにはTemporary IPv6アドレスという仕組みがあって、1日くらいでネットワークインタフェースに割り当てられたアドレスがころころ変わるので、仮にアドレススキャンを受けて利用中のIPv6アドレスが発見されたとしても、その状態が続きにくいようにはなっています。
そもそもIPv6では、IPv4のようにISPから1つのIPアドレスが配られるわけではなく、/64
や/56
といったアドレスプレフィックスが配られます。例えば/64
によるアドレス空間は、IPv4インターネット全体の約43億倍です。IPv6では、この膨大なアドレス空間が1セグメントとして利用されるため、アドレスを探す難易度がIPv4より高く、アドレススキャンしてからポートスキャンという攻撃自体がやりにくくはなっています。
ただ、こうした点についての理解を含めて、IPv4のベストプラクティスがIPv6では効かないんです。先述したように、現時点で企業内LANでIPv6対応を行うベストプラクティスが存在しているかと聞かれると、かなり微妙ですし。
── そうなると「会社でIPv6アドレスの端末で仕事をする」世界は、もう少し先になりそうですね。
あきみち 現状でIPv4のシングルスタックで困っていない構内ネットワークをIPv6に対応させるメリットはそれほど大きくない、とは言えると思います。むしろ、環境によっては想定外のIPv6パケットが流れないようにIPv6を明確にフィルタした方が良い場合も多そうです。
エンジニアのIPv6対応は、まず勉強から
── 実際のところ、今はエンジニアであっても「業務より家庭内ネットワークのためにIPv6について知る必要がある」という人の方が多いのかもしれませんね
あきみち それはあると思いますね。ただ、職場のネットワークを管理している方がいるとして、「IPv4のシングルスタックを維持することにしたので、IPv6については気にする必要はない」かというと、それもまた微妙なんです。
なぜかというと、IPv4シングルスタックのネットワークでも、そこにつながっている端末はIPv6対応していて、しかもデフォルトでIPv6が有効になっていることが多いんですよ。こういう状況で、もし内部ネットワークにICMPv6のRA(Router Advertisement)メッセージを投げる機器を持ち込まれたら、大変なことになるかもしれません。
── RAメッセージは、ルータからホストに「IPv6アドレスのプレフィックス」を伝えるメッセージですよね。内部にルータが持ち込まれてしまう、という状況ですか?
あきみち ルータを持ち込むという方法もありますが、RAメッセージはルータに限らず発行できます。例えば、radvdというソフトウェアがあり、これは攻撃ツールとかではなく、ごく普通のソフトウェアであって、IPv4におけるDHCPのような役割も実現できます。
まあ、DHCPとRAは違うものですが、「IPアドレスを設定するため」という点で多少無茶な説明をするなら、そんな感じです。生パケットを作るコードを自分で書くのも難しくはないので、偽RAを出すソフトウェアを自作するという方法もあります。
しかし、こうしたソフトウェアから偽物のRAを発行することで、IPv6が有効になっているホストにIPv6アドレスを設定させて、特定のドメインに向けて送信されたトラフィックをハイジャックできるという攻撃が知られています。権威DNSサーバにAAAAレコードが登録されているという条件はありますが、例えばその条件を満たすWebサイト向けの通信を同一リンクの別の端末に転送するようなことが可能なんです。
こういう危険性もあるので、今や「IPv6対応をしないからIPv6の知識もいらない」という状況ではなくなっています。
── この攻撃への対策は、ホストのIPv6を無効にしておくことになるのでしょうか?
あきみち 「RAガード」という仕組みはありますが、IPv6対応しないならIPv6を拒否する方がいい場合もあるでしょうね。ですが、IPv4のユーザが減ってみんなが使わなくなるような状況になった場合には、どこかの時点ではIPv6対応する可能性はあるかもしれません。
いずれにしても、こうした形でIPv6の知識が求められることは、これから確実に多くなるでしょう。IPv4シングルスタックであったとしても、ほとんどのホストはIPv6がデフォルトでオンになっているので、IPv6のことを知っていた方がよいです。
そのためにも、現時点でIPv6対応を無理に急ぐ必要はありませんが、「IPv6の勉強をしておくこと」は重要だと思っています。IPv6を使うか使わないかは個々の事情で考えればいいのですが、考えるのにもIPv6の勉強が必要ですよね。
── これまでのインターネットに慣れ過ぎている人ほど、「IPv4の知識が無駄になる不安」があるかもしれませんね。
あきみち IPv6を学ぶ上で、「実験を通して知る」ことが実施しづらい面もありますよね。通信環境やネットワーク事業者との契約に依存して、できることがどうしても変わってきてしまうので。
一方で昔と違って、そういう技術を「知らなくてもいい時代」になっている面もあると思います。実際にクラウドを使っていれば、TCP/IPそのものの知識がゼロでも、実現できることは昔より多いでしょう。
ネットワークの知識がないと困るという人が減ること自体は、悪いことではありません。ただ、ネットワークエンジニアとしては、そろそろ「IPv6を何も知らない」ではまずい状況になりつつあります。そういう方々に向けて、これからも書籍やYouTubeという形でいろいろと情報を発信していくつもりです。
── 今後の活動にも期待しています。本日はありがとうございました。
※取材はリモート会議ツールを利用してリモートで実施しました。
小川 晃通(おがわ・あきみち)@geekpage
取材・執筆:鹿野桂一郎(技術書出版ラムダノート)
編集:はてな編集部