このページについて

IPv4の優先順位をIPv6より上にする設定の紹介。Microsoftが配布しているIPv6優先ツール、IPv6を部分的に無効にするツール、コマンドプロンプトからIPv6を優先にする方法の紹介です。

 プライバシーポリシー / 免責事項
更新履歴 [ 全て表示戻す ]
2017.06.27: ツール配布ページの変更に対応。

2015.07.09: MicrosoftもIPv6無効は非推奨な旨を追記。
2014.06.25: NTTフレッツ光で発生する問題の対処方法(別ページ)作成。リンク設置)


このサイトでは過去に、「IPv6の設定は、有効・無効どっちが良いの?」と題してインターネット接続に不具合の出るPC環境では「当面はIPv6の設定を無効化して利用しましょう」と解説していましたが、この提案もそろそろ古い情報になってきた感じです。

以下、IPv6の設定を有効にしつつ、IPv4の優先順位を上げる方法を紹介します。現時点では、以下のセッティングを行うのがベストだと思います。

その1:お手軽方法/Microsoftの Fix itツールを利用する

Microsoftの以下ページにて、IPv6とIPv4の優先順位を入れ替えるツールが配布されています。
ツール配布先:
Microsoft - Windows で IPv6 またはそのコンポーネントを無効にする方法
World IPv6 Day (2011 年 6 月 8 日) におけるインターネット接続の問題の解決
※2つめのリンク先はダウンロードファイルがどこにあるか分からなくなった

ダウンロードリンクはページ中段にあります。
IPv6とIPv4の優先順位を入れ替えるツール
▲クリックで拡大
通常は上図の赤矢印のツールを利用します。
上側は IPv4 を(IPv6より)優先させるツール、
下側は IPv6 を(IPv4より)優先させるツール(つまり元に戻すツール)
となっています。これ以外のツールは「 IPv6 の有効/無効 を切り替える」ツールです。

チェックポイント

IPv6 優先 / IPv4 優先を選ぶ場合

  • これが一番無難。
    まずは 「IPv6 優先 / IPv4 優先」両方の修正ツールを試し、自分のPC環境でネットを快適に利用できる方を選ぶのがベストかと思います。
  • 同じくらいに感じる場合は、今後の事を考えるとIPv6優先の方を選んでおく方が無難です。
  • プロバイダにNTTフレッツ光 または VPNサービスを利用しており、かつルータやアクセスポイントなどのデバイスが古い場合は、トラブルを避けるためにIPv4優先を選ぶ、もしくは右側にある「トンネルインターフェース/非トンネルインターフェースでIPv6 を無効/有効にする」を利用してみます。
    (ルータやアクセスポイントを最新の機器にした場合は、IPv6優先でも安定した通信が可能なようです。)

IPv6を部分的に無効にしたい場合

  • NTTフレッツ網を利用している、またはVPN接続を利用している場合で、利用しているルーターとの相性問題が発生している場合は、左端の 「IPv6 を無効/有効にする」を利用するよりも、右側の「トンネルインターフェース」別の「IPv6 無効/有効ツール」の方が 良い結果が出る場合がある。

トンネルインターフェースについて

  • PPPoE接続のたびにプロバイダーからIPv6アドレスが割り当てられる場合、IPv6 PPPoE対応アダプター (IPv6トンネル対応アダプタ)を利用している場合、「トンネル インターフェイスで IPv6 を無効/有効にする」を利用する。
  • VPN接続をしている場合も「トンネル インターフェイスで IPv6 を無効/有効にする」を利用する。
  • それ以外の場合は、「非トンネル インターフェイスで IPv6 を無効/有効にする」を利用する。

フレッツ光の接続方法 補足資料

スポンサー リンク

その2:手動で IPv6 と IPv4 の優先順位を入れ替える方法

恐らくですが、「その1:お手軽方法/Microsoftの Fix itツール」と同じ効果になると思われます。
IPv6 と IPv4 の優先順位を手動で切り替える場合は、以下の操作を行います。

管理者権限で起動したコマンドプロンプトを利用します。
コマンドプロンプトの起動方法
▲クリックで拡大
「プログラムとファイルの検索」で「cmd」と入力し、cmd.exeを右クリックして「管理者として実行」を選択します。

優先順位の確認
netsh interface ipv6 show prefixpoliciesと入力します。
netsh interface ipv6 show prefixpolicies
▲クリックで拡大
細かい説明は省きますが、「::/96」や「::ffff:0:0/96」より「::/0」が上にある場合は、IPv6の方が優先順位が高い状態です。

順位を入れ替えるコマンド
netsh interface ipv6 set prefixpolicy ::ffff:0:0/96 50 0
netsh interface ipv6 set prefixpolicy ::1/128 40 1
netsh interface ipv6 set prefixpolicy ::/0 30 2
netsh interface ipv6 set prefixpolicy 2002::/16 20 3
netsh interface ipv6 set prefixpolicy ::/96 10 4
上記5つのコマンドを、上から順に1行ずつ、コマンドプロンプトに入力します(コピペでOKです)

コマンド入力中のスクリーンショット
コマンド入力中のスクリーンショット
▲クリックで拡大
コマンド入力後に「OK」と表示されていれば大丈夫です。
コマンド入力の際、ネットワークの設定変更に数秒~十数秒ほどかかる場合があります。

再び優先順位の確認
ここで再びnetsh interface ipv6 show prefixpoliciesと入力します。
再び優先順位の確認
▲クリックで拡大
「::/0」より「::ffff:0:0/96」の優先順位が上になりました。
これで、IPv4接続が可能な場合は、IPv6よりIPv4を優先してインターネット接続され、IPv4接続が出来ないサイトのみIPv6接続されるようになります。
(ここで念のため、PCを再起動しておきましょう。)

現時点では、上記のような設定にしておくのがベストのような気がします。
数年経つ頃には、元に戻した方が良い結果になるかもしれません。
(元に戻す際のコマンド)
netsh interface ipv6 set prefixpolicy ::1/128 50 0
netsh interface ipv6 set prefixpolicy ::/0 40 1
netsh interface ipv6 set prefixpolicy 2002::/16 30 2
netsh interface ipv6 set prefixpolicy ::/96 20 3
netsh interface ipv6 set prefixpolicy ::ffff:0:0/96 10 4

その2(手動で行う手順)についてもう少し詳しく知りたい場合

IPv4 を IPv6 より優先にする - MURA's Home Page
▲上記サイトの解説が、比較的分かりやすく、かつ丁寧に解説しています。

IPv6無効化は、すでに Microsoftでも非推奨

  • IPv6無効化は、すでに Microsoftでも非推奨です
    Microsoft - Windows で IPv6 またはそのコンポーネントを無効にする方法
    重要 IPv6 (Internet Protocol version 6) は Windows Vista 以降のバージョンの必須の部分です。IPv6 またはそのコンポーネントを無効にすることは推奨されません。無効にすると一部の Windows コンポーネントが機能しなくなる場合があります。さらに、DisabledComponents レジストリ設定を値 0xfffffff に誤って設定することで IPv6 を無効にした場合は、システムの起動にかかる時間が 5 秒間長くなります。正しい値は 0xff です。
  • このページの情報は、かなり古いものになりました。2015年時点では、上記のMicrosoftのページからFixitをダウンロードし利用するのが良いかと思います。
  • このページはWindows Vista と Windows 7 専用のページです。
    XPやWindows8では、このページの情報をそのまま利用することは出来ません。
    (応用は可能です)
  • NTT フレッツ光回線で発生する速度低下や通信断の問題は、このページの情報では改善しません。別の方法をとる必要があります。→ Windows Vista/7+NTTフレッツ光で ネットが重くなる場合の対処方法

あとがき: 注意1(XPの場合)

Windows XPは、初期設定ではIPv6は無効になっています。
XPでIPv6を有効にしたい場合は
 ・Windows XP IPv6 プロトコルに関する FAQ (microsoft)
 ・Windows XP IPv6インターネットの設定|Yahoo! BB
などを参考にして下さい。

また、IE7、IE8はIPv6に対応していません。
 ・IPv6 環境におけるインターネット利用のための技術情報-Interoperability
XPユーザーでIPv6の利用を考えている方はFirefoxやGoogle Chromeなど別ブラウザを使うようにしましょう。

あとがき: 注意2(Windows8の場合)

Windows8では、初期設定でIPv6よりIPv4の方が優先順位が高くなっている様で、このページ内の情報を気にする必要は無い感じです。

ただし、一部の環境ではIPv4が優先となっている事が原因で、何やらトラブルが発生している感じです。
Windows8でIPv6とIPv4の両方が有効の時にIPv6を優先する方法-マイクロソフト コミュニティ

あと、Win8マシンとWin7マシンを共有したら上手く作動しない・・・みたいな情報もありますよね。私は複数台のPCでネットワーク構築する話題は苦手分野なので、イマイチ原因が分かっていません。
しかし、このページ内の情報を元にWin7/8のIPv6/4の優先順位を揃える事でWin8/7マシンの共有問題が解決出来るかもしれないですねえ。
(これはテキトーな予想&投げっ放し)