Windows 8 で IPv4 を IPv6 に優先して使用する方法

プロキシ型ソフトウェアの一部にあっては IPv6 アドレスに対応していないものがあったりする. 歴史ある(≒古い)ソフトウェアにはよくある話だ. メールの自動分類ソフト POPFile にあってはインターフェースにアクセスするために localhost という URL を用いるのだが, アドレスを解決した結果, IPv4 アドレスの 127.0.0.1 ではなく, IPv6 アドレスの ::1 と解釈されてしまうとエラーになってしまう.

解決方法を探していたところ, ぼくんちのTV 別館に解決方法が提案されていたのでそれを利用してみた.作業が自動化できるようにバッチファイルにしておく. 変更時には管理者権限が必要 (設定の確認だけなら一般ユーザの権限でよい).

IPv4 優先にする

@echo off

REM 変更前設定確認
netsh interface ipv6 show prefixpolicies

REM 設定作業
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

REM 変更後設定確認
netsh interface ipv6 show prefixpolicies
pause

IPv6 優先に戻す

@echo off

REM 変更前設定確認
netsh interface ipv6 show prefixpolicies

REM 設定作業
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

REM 変更後設定確認
netsh interface ipv6 show prefixpolicies
pause

コメントを残す