Nishiakashi’s Blog

徒然なるままに。。教えられること多し。

IPv4をIPv6より優先させる

 以前から気にはなっていたのだが、回線(ネット接続)が遅い。
 Windows8.1にしたからなのか…、Firefoxブラウザの設定か…、いろいろ調査した結果、劇的に改善しました。以下の操作はNTT光回線(IPv4)に対して有効です。
 (環境:Windows8.1 64bit)

 Windows7以降、デフォルトではIPv6IPv4より優先される設定になっています。これをIPv4を上位にして最優先させるというもの。

 まず現状の設定を確認します。
 コマンドプロンプト(管理者権限で起動)から、

  netsh interface ipv6 show prefixpolicies


  50 0 ::1/128  (ループバックアドレス
  40 1 ::/0    (IPv6通信全般)
  35 4 ffff:0:0/96  (IPv4互換)
  30 2 2002::/16  (IPv6toIPv4)
   5 5 2001::/32  (Teredo
   3 13 fc00::/7  (ユニークローカルアドレス
   1 11 fec0::/10  (サイトローカルアドレス 廃止)
   1 12 3ffe::/16  (IPv6試験用)
   1 3 ::/96

 ここで、"ffff:0:0/96"(IPv4互換)プロトコルを、他のIPv6プロトコルより最上位に持ってくればいいわけです。

  netsh interface ipv6 set prefixpolicy ::ffff:0:0/96 55 4
  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 2001::/32 5 5
  netsh interface ipv6 set prefixpolicy fc00::/7 3 13
  netsh interface ipv6 set prefixpolicy fec0::/10 1 11
  netsh interface ipv6 set prefixpolicy 3ffe::/16 1 12
  netsh interface ipv6 set prefixpolicy ::/96 1 3

 これで完了。再起動後、もう一度設定確認コマンドを打って再確認です。
 設定を元に戻すには、

  netsh interface ipv6 reset