LANLANパソコン(東京パックス/南中野パソコン教室のLAN化日記)

51.IPv6の無効化(2013/4/1)(2013/4/8掲載)

0 はじめに

 2013年4月1日にLAN内のIPv6を無効にした。
 当初は、ネッワークアダプタのIPv6プロトコルの有効のチェックをOffにしただけであるが、その後、2013/4/8になって、マイクロソフトのFix Itが見つかったので、これを適用し、すべてのクライアントとサーバーのIPv6機能を無効にした。これは、当方のプロバイダーがIPv6に対応するまでの一時的な措置である。
 以下は、JPNICのIPv6に関するWebページ及び『日経NETWORK』(2012/8、2012/11、2013/1号)など参考に、筆者の心覚え的なメモを作成した。当方の理解不足のため、少なからぬ誤解が含まれている可能性がある。ご留意ください。

1. World IPv6 Launch

 いささか、古い話になるが、2012年6月6日に『World IPv6 Launch』なるイベントが行われた。
 『launch』(ロンチ)とは、英語で『進水』とか『スタート』のような意味があるようだ。
 日本語に強いて訳せば、『世界IPv6化推進日』というような感じ。
 無論、麻雀の『ロン』(栄和:ロンホー)や『チー』(吃:チー)とは、関係が無い。
 とは言え、『ロンチー』という響きは、大方の日本人には、耳慣れず、むしろ、『スタート』の方がなじみやすかったかもしれない。
 (Lunch:ランチ=昼飯とも紛らわしいし)
 さて、IPv6(※1)とは、簡単に言えば、インターネットでやりとりしている『IPパケット』と呼ばれるデータの小包に書かれている『IPアドレス』の長さを増やしたものなのだ。
 なお、書かれているIPアドレスには、送信先(宛先)と送信元アドレスの2つがある。これらのIPアドレスは、世界中で重複することなく、一意(ユニーク)でないといけない。(このIPアドレスとは、後述の『グローバルIPアドレス』のことである)
 これまで、アドレスには、主として、IPv4(Internet Protocol Version 4)が使われてきたが、IPv4は、32ビットの長さしかなく(2^32=4294967296、すなわち、約43億あるので当初は十分と考えられていた)、その数が足りなくなってきたという背景(※2)がある。
 では、IPv6はというと、128ビットの長さがある。ビット長は、4倍であるが、2のべき乗で効いてくるので、2^128≒3.4×10^38、という途方もない大きい数になる。IPv4のざっと、10^28倍も多い。10^12が1兆、10^15が1京なので、この比率の10^28がどれだけ大きいかわかるというものだ。
 こんなにIPアドレスの数が多ければ、世界中で使用されているコンピュータのみならず、様々な家電機器や携帯機器に固有のアドレスを割り振ることが出来るようになる。
 しかし、IPv6は、IPv4とは、互換性がなく、一つの組織や機器だけが、IPv6に対応しても、意味が無い。
 そこで、世界中のメーカーやプロバイダー等が、IPv6化を推進していこうという意気込みを示した日が『World IPv6 Launch』だったわけだ。
 もちろん、単に、気合いを入れたということではなく、IPv6に切り替えて、相互の接続に支障が無いかどうかを世界中で一斉に確認(※4)した日となった。

※1:IPv4の次のv5(バージョン5)は、テスト用として既に予約されていたため、v4の次が、v6となった。
※2:IPv4アドレスの在庫は、IANA(Internet Assigned Numbers Authority)が管理するものは、既に2011/4に無くなった。
 同様に、日本のJPNIC(※3)の在庫も、アジア太平洋地域のアドレスを管理するAPNICと共有しているため、2011/4に無くなっている。現在は、企業等が保有する余ったアドレスを他の必要とする組織へ移転する作業が行われている。
※3:JPNIC:一般社団法人日本ネットワークインフォーメーションセンター(https://www.nic.ad.jp/ja/)
※4:インターネットに接続できない、あるいは、特定のサイトを見ることができないといった深刻な障害は少なかったようだ。
 ただ、日本では、NTT東西が提供しているフレッツの契約者が多く、フレッツ網では、独自のIPv6アドレスが使われている。
 フレッツのユーザーがIPv6サービスを申し込んでいない場合でも割り振られる『IPv6アドレス』では、(フレッツ網の外)のインターネット上のコンピューターとの通信が出来ない(正確には、DNSサーバーへ依頼して行う正引き(URLから該当のサイトのアドレスを調べること:DNSクエリ)ができない。コンピューターは、DNSからの正常な応答がないと自動的にIPv4に切り替えて再度問い合わせるが、この切替に多少の時間がかかる。
 これを『IPv6-IPv4フォールバック問題』という。
 NTTでは、フレッツユーザーからのIPv6での通信を強制的にリセットしてIPv4での通信に切り替えさせる措置を講じてきているが、一部のプロバイダー側でも、IPv6でのDNSクエリに対して、IPv4のアドレス(Aレコードと呼ばれる)しか返さないという『AAAAフィルター』という手段で、早期にIPv4での通信に切り替えさせるところが増えた。このような便宜的方法が取られたことにより、2012/6/6当日を含めて、大きなトラブルがないとのことだ。
 しかし、IPv6の推進を図る一方で、IPv6での通信をIPv4へ切り替えさせようというのは、まさに矛盾であり、NTTをはじめ、各プロバイダーも、ユーザー宅のIPv6環境構築にようやく本腰を入れ始めている。
 ユーザー宅のIPv6化は、ルータに付加装置を追加する方法やプロバイダー側で対応する方法などがある。(後述)
 とはいうものの、一般ユーザーにとっては、IPv6化のメリットが見えにくいことが一番の問題かもしれない。

2 IPアドレスの表記

 IPv4のアドレスは、32ビットの2進数を8ビットずつの4つに切り、それぞれの8ビットを10進数に変換して、ピリオドで区切って表す。
8ビットの数字は、0~255までとなるので、たとえば、220.100.3.11のように記載することが出来る。
 一方、IPv6では、128ビットの2進数となるので、16ビットずつ8つに切り、それぞれを16進数に変換して、:(コロン)で区切って表す。
16進数とは、10進数の桁上がりが10であるのに対して、16毎に桁上がりする数のことである。表示としては、0~9以外に10~15を表すA~Fを利用する。
 なお、英字の大文字、小文字は関係ないが、インターネットでは、小文字が主として使われているため、IPv6アドレスも小文字で書かれることが多い。これは、MACアドレスが大文字を使うのと区別しやすくしているのかも知れない。
 たとえば、16進数で『1A』とは、10進数では、16×1+1×10=26のことである。
 なお、Excel2010では、HEX2DEC("1A")=26、により16進数を10進数に変換、また、DEC2HEX(26)=1Aとなり、10進数を16進数に変換可能である。
 Windowsのアクセサリーにある電卓でも、表示メニューから『プログラマ』を選択すると、下図のように、入力した数値の表示形式を16進、10進、8進、2進のいずれかで表すことができる。
 

 
 ただ、それでも、IPv6では、文字数が多くなるので、もっとも多くのゼロが連続している所は『::』と略することが出来る。
 また、各文字列の先頭のゼロも省略できることになっている。
 例: 2001:0df8:c000:020a:0000:0000:0000:0001 → 2001:df8:c000:20a::1 と表記できる。
 例の左側の文字列で赤字で示している部分が右の省略表記では、略されている。 

3 IPv4のグローバルIPアドレスとローカルIPアドレス

 IPv4では、インターネットで利用する『グローバルIPアドレス』と家庭内や社内などの組織内部で利用するローカルなIPアドレスである『プライベートIPアドレス』を使い分けている。(以下、『IPアドレス』という用語を単に『アドレス』と表記している場合がある)
 この理由は、少なくとも2つあると思うが、それは、アドレスの『隠蔽』と『節約』である。
 隠蔽は、内部のネットワーク機器のアドレスをインターネットから隠すという意味がある。
 一方、前述のように、グローバルアドレスの絶対数が足りなくなって来ているため、組織内で一意であれば、他の組織と同一のアドレスでも差し支えなく、組織内で利用できるよう予め定められた範囲のアドレスがある。これを『プライベートIPアドレス』という。
 プライベートアドレスの範囲は、10.0.0.0~10.255.255.255、172.16.0.0~172.31.255.255、192.168.0.0~192.168.255.255、の3つの範囲である。
 このプライベートアドレスをグローバルアドレスに変換する仕組みがNATあるいはNAPTという機能であり、インターネット向けに置かれているルータで付け替えている。逆に、インターネットからの送信先アドレスは、グローバルアドレスとなっているため、これを内部のプライベートアドレスに付け替えて、内部に送り返している。
 なぜ、内部に複数のコンピューターがある場合でも、ルータには送り返すべきプライベートアドレスが分かるかというと、内部のコンピューターからインターネットに送信した際に、ルータのメモリーにどのプライベートアドレスからどのグローバルアドレスに送信したかを記録しておき、それに対する返答が返ってきたときに、そのメモリーの内容と照合して判断しているのだ。(細かくいうと、送信元ポート番号、送信先ポート番号というものがあって、それらも利用しているのだが、煩雑なため、簡単に説明した)
 このように、ルータを通してインターネットにアクセスする場合は、必ず、内部のコンピューターから開始する必要があるため、インターネットから開始される通信をブロックする役割も果たしている。ルータを使った方が安全であると言われるのは、この理由によるが、ウイルスに感染して内部から意図しない通信が開始された場合は、ルータでは、防げない。
 また、Web閲覧やメールをはじめとして、ウイルス対策ソフトやWindows Updateなども通常は、ユーザーが事前に承認している場合は、それ以降は、自発的に外部のサイトに接続して必要なファイルがあれば、ダウンロードされる。このような通信もルータを通るので、内部からの発信をすべてブロックすると言うわけにはいかない。
 なお、ルータには、DMZ(非武装地帯の意味:インターネットからの直接の通信が可能な場所)の機能があるものがあり、この機能をOn(組織内の特定のプライベートアドレスを指定)にしたときは、インターネットから、そのコンピューターへの通信を開始することが可能である。この機能は、既定では、Offになっているが、自宅のコンピューターをWEBサーバーにしたいとか、自宅のコンピューターの中身を自分が外からコントロールしたいなど、Onにする必要が出てくる。その場合、セキュリティ的に甘くなる可能性があるので、それなりの対策が必要だ。よく分からないまま、Onにしたりしないようにしたい。

4 IPv4のネットワーク部とホスト部

 これまでは、IPアドレスが、v4では、32個の2進数、v6では、128個の2進数で表せるということだけを説明してきた。
 しかし、実は、IPv4もIPv6もアドレスを2つの部分に分けて、管理している。以下、v4の場合を記載する。
 IPv4のアドレスは、『ネットワーク部』と『ホスト部』に分かれている。ネットワーク部は、組織を表し、ホスト部が、その中のひとつひとつの個体を表す。
 先頭から何ビットまでがネットワーク部を表すかを『/24』のように表記する約束になっている。
 IPv4で、/24の場合は、先頭から24ビットがネットワーク部であるので、32-24=8の8ビットで表せるのは、256台(0と255は特別な意味を持つので使えないので実際は、254台)のコンピューターを識別できることになる。
 なお、IPv4では、『サブネットマスク』という32ビットの2進数を併用して、このことを表す。
 よく見かける『255.255.255.0』は、24個の1が並び、その後ろは、0が8個並んでいるサブネットマスクを示す。IPアドレスの2進数とこのサブネットマスクの2進数の『AND』演算により、残るのは、ネットワーク部である。(ルータは、このようにして、ネットワーク部を計算する。)
 サブネットマスクは、/24(256個)以外では、/16(65536個)、/8(約1600万個)、がよく使われている。
 もちろん、/23(512)のように、8の倍数で無いものも可能であるが、わかりにくく、間違えやすい。
 このようにサブネットマスクで隠されているホスト部で表せる範囲をサブネットと呼ぶ。異なるサブネットに属するコンピューター同士は、直接、通信することが出来ず、ルータを介して通信を行う仕組みとなっている。

5 IPv4のグローバルIPアドレスの割り当て

 家庭や小規模企業などでは、インターネット上で通用する『グローバルIPアドレス』をプロバイダーから割り当ててもらう。
 この割り当てでは、一時的に割り当てを受ける場合と恒久的に同一のグローバルアドレスを受ける場合とがある。
 後者は、通常、追加費用が必要となる。何故、恒久的なグローバルIPアドレスが必要かというと、自社でWEBサーバーなどを運用して、インターネットで公開したい場合などで、DNS(ドメインネームシステム)で公開されているURLとIPアドレスとの対照表が一時的にIPアドレスを割り当ててもらう場合は、変わってしまうのを避けるためである。(グローバルアドレスの割り当ての費用や手間を節約するために『ダイナミックDNS』というサービスを利用する方法もある。この場合は、一時割り当てのIPアドレスでも支障が出ない)
 一方、一時的に割り当てを受けている場合は、プロバイダー側のコンピューター(のDHCP機能)により、プロバイダーが保有するグローバルアドレスを1個割り当てられる。この場合、同時刻には、同一のアドレスは、1つしか存在しないが、異なる時刻には、別の組織が同一のアドレスを使っていることもある。
 なお、一時的にせよ、恒久的にせよ、グローバルアドレスが割り当てられている機器は、インターネット回線に接続されている『ルータ』(のWAN側)となる。
 大きな企業などになると、複数のグローバルアドレスを保有していて、インターネットに公開しているWEBサーバー等に割り振っている。
 今、自分が現在利用しているグローバルIPアドレスを知る方法は、たとえば、当教室の「情報検索リンク集」にある『確認くん』(http://www.ugtop.com/spill.shtml)を見てもらえば、そこに表示されているので分かる。

6 IPv6のグローバルIPアドレスとローカルIPアドレス

 IPv6は、アドレス数が非常に大きいので、IPv4のように数を節約する意味では、ローカルなアドレスを使う必要は無く、大まかに言えば、IPv6のアドレスは、すべて『グローバルIPアドレス』と考えてもよい。
 正式名称は、『グローバル・ユニキャスト・アドレス』である。通常は、プロバイダーにIPv6の申込をした際に割り当ててもらえる。インターネット及び組織内部の通信の双方に使用できる。
 一方、IPv4のプライベートアドレスに相当するものは、『ユニークローカル・ユニキャスト・アドレス』と呼ばれる。
 ところが、非常に紛らわしいが、もう一つあって、『リンクローカル・ユニキャスト・アドレス』と呼ばれるアドレスだ。これは、ルータ越しの通信が出来ない。換言すれば、前者(ユニーク・ローカル・ユニキャスト・アドレス)は、ルータ越しの通信が出来る。家庭内LANや社内LANで、1台のルータしかなく、全体が一つのサブネットになっている場合は、使い勝手としては、同じ(アドレス部分の構成は異なるが)である。
 両者の違いが出てくるのは、LANが複数のサブネットに分かれている場合だ。 
 なお、家庭用ルータの設定画面には、「IPv6パススルー」や「IPv6有線/無線ブリッジ」などと呼ばれるIPv6通信のための有効/無効の切替ボタンがあり、ここで、有効とすれば、IPv6の通信が許可されることになる。出荷時の既定では、許可となっていることが多いが、単純に許可してよいのか、不安が残る。
 しかし、許可しないとIPv6の信号が通過できない。

7 IPv6のサブプレフィックスとインターフェースID

 IPv4では、32ビットのアドレスの分割は、/8、/16、/24などを含めて、様々なバリエーションがあった。
 しかし、IPv6では、/64がもっぱら推奨されている。このとき、128ビットの2進数を、半分ずつ使うことになる。
 前半のネットワーク部に相当する部分を『サブネットプレフィックス』、後半のホスト部に相当する部分を『インターフェースID』と呼ぶ。
 こうしてみてみると、やたら、カタカナ語が多いのは、コンピュータ関係だけではないけれど、元が英語名なので、カタカナ表記では、長くなる。
 すると、今度は、アルファベットの3~5文字程度で略称を付けてしまうので、余計にわかりにくい。
 これまで、出てきた、3種類のIPv6アドレスを含めて、以下にまとめてみた。

名称 サブネットプレフィックス  インターフェースID 
グローバル・ユニキャスト・アドレス
(GUA)
グローバル・ルーティング・プレフィックス
先頭3ビット=001、長さ48、56ビットなど可変
ブロバイダー等から割り当て
サブネットID(64-可変長分) 64ビット
ユニークローカル・ユニキャスト・アドレス
(ULA)
先頭8ビット=11111100または11111101
グローバルID(インターフェースID等から計算したハッシュ値の下位40ビット
64ビット
リンクローカル・ユニキャスト・アドレス
(LUA)
先頭10ビット=1111111010、続く54ビット=0・・0なので、fe80::と略記 64ビット 
ループバック 先頭から127ビットは、0で最後が1、::1と略記。IPv4の「127.0.0.1」に対応。

 
 前述のように『グローバル・ユニキャスト・アドレス』のみ、インターネットに接続可能なアドレスである。
 また、『ユニークローカル・ユニキャスト』は、ルータ越しの通信が可能。最後の『リンクローカル・ユニキャスト』は、ルータ越しの通信は出来ない。
 さて、IPv6を有効にしているとネットワークカードなどに対して、『グローバル』と『リンクローカル』は、同次に割り振り可能となっている。
 実験的に、試してみると、
 IPV6アドレス        = 2001:c90:8202:6b6e:ec51:6a0d:1f5b:9c91、
 一時IPv6アドレス      = 2001:c90:8202:6b6e:297a:1076:7225:d823、
 リンクローカルIPv6アドレス= fe80::ec51:6a0d:1f5b:9c91%10、
 のようなアドレスが、ネットワークカードに割り当てられた。
 このうち、『一時IPv6アドレス』は、はじめて、ここに登場したものである。インターネットには、本来、IPv6アドレスで接続するのだが、インターフェースIdの部分は、NICのMACアドレスと結びついて固定されているため、発信機器が特定されやすいという懸念が生まれた。そこで、最大24時間以上経過したとき、あるいは、再起動後に変化する『匿名アドレス』を生成して、それを元に、接続できることにしたのだそうだ。NIC又はコンピューターを再起動すると、一時IPv6アドレスの値は変化する。
 ちなみに、2001で始まるサブネットプレフィックスは、NTT東西のフレッツ網の場合のようだ。これは、GUA(グローバル・ユニキャスト・アドレス)の形であるが、フレッツ網の内部でのみ有効なアドレスのため、このGUAでインターネットには接続できない。
 なお、NICが複数ある場合など、%10のように、%がつくことがある。

8 フレッツユーザーのIPv6接続

 Bフレッツの場合にも、NTT東西より、IPv6のグローバル・ユニキャスト・アドレス(GUA)が配布されている。
 これが、前述のように、フレッツ網の中では、IPv6での接続に支障が無いものの、外部のインターネットとのIPv6通信が出来ない。そこで、現在は、フレッツ光ネクストでIPv6接続を行う方向へユーザーを移行することでIPv6化を推進しようとしている。
 なお、Bフレッツ等で、ユニークローカ・リンク・アドレス(ULA)を配布しなかった理由は、ユーザーのLAN内のIPv6アドレスと重複する可能性があるということらしい。また、そもそも、インターネットに接続できるIPv6アドレスにならなかったのは、NTT東西が日本国内へのサービスを提供するという使命を帯びていたからのようだ。
 さて、フレッツ光ネクストの場合、IPv6での接続方式が2つある。(2013/4/1現在)
 2方式のいずれかを選択すれば、インターネットにも、IPv6で接続できる。ただし、フレッツ光ネクストに対応しているプロバイダーでも、IPv6によるサービスを開始していない場合もあるので、プロバイダーのIPv6への対応状況の確認が必要だ。
 なお、フレッツウイルスクリアなど、NTT東西が提供するフレッツのサービスを利用するだけであれば、選択しなくてもよい。

名称 概要  付加的に必要となる機器  制限
IPv6 PPPoE  PPPoE接続の都度プロバイダーからIPv6アドレスが割り当て  IPv6 PPPoE対応アダプター 
(IPv6トンネル対応アダプタ)
対応プロバイダーが限定 
IPv6 IPoE  フレッツ網から接続事業者のIPv6アドレスがあらかじめ割り当て  なし
(フレッツ・v6オプションの申込が必要)
対応プロバイダーが限定

 

9 IPv6のセキュリティ

 IPv6は、一般にサービスが普及しつつあるものの、歴史が浅い。そのため、セキュリティについては、まだ、未知の部分が多いことも事実だ。
 また、IPv6によるインターネット接続が必須となるのは、インターネッ上で、IPv6接続でのみWEBページが閲覧可能だったり、IPv6のみのサービスが提供されていたりした場合だ。現状は、まだ、そこまでいっていないと思われる。
 そこで、会社等の場合は、社内LANでIPv6の通信を禁止してしまう方がリスクが少ないと思われる。

10 IPv6の無効化

 Windows XPのIpv6プロトコルは、既定で、無効であるが、VISTAを含めて、Windows 7、8及びWindows Server 2008では、既定で、有効である。
 そこで、IPv6を無効にするには、簡易には、それぞれのネットワーク接続のプロパティで、IPv6プロトコルの有効のチェックを外しておく。
 IPconfigでみるだけでは、IPv6の割り当ては行われなくなる。
 ただし、これだけでは、すべてのIPv6サービスを停止したことになはならない。
 すなわち、IPv6トンネリングアドレスやループバックアドレスは有効のままなので、レジストリを変更して無効にすることが出来る。
 実際には、マイクロソフトのFix Itのページに、
 http://support.microsoft.com/kb/929852/ja 、50409番があるので、比較的、簡単に、有効又は無効の設定が可能である。
 ただし、レジストリの変更は、重大な結果を招く可能性があるので、バックアップを取るなど、何らかの配慮が望ましい。いずれにしても、自己責任にて、お願いします。(Windows 8は、上記のFix Itの対象外である)
 なお、上のページには、Fix Itの50440番も掲載されていて、こちらは、IPv6を有効にするためのものである。安全のために、IPv6を無効にする前にダウンロードしておくとよいだろう。