2024/01/06(土) [n年前の日記]
#1 [windows][linux] Windows10でIPv4とIPv6の優先度を変更
Windows10 x64 22H2 + MobaXterm 23.6 build 5186 Personal Edition で、SFTP接続ができない症状で悩んでしまったけれど、ホスト名に相手先のIPv4アドレスを指定すればSFTP接続ができる、というところまでは分かった。
ということは、Windows10側で、IPv6 より IPv4 のほうが優先して使われるように設定すれば、ホスト名にPC名を入力してもSFTP接続もできるようになるのではないかと閃いた。
ググってみたら、IPv4 と IPv6 の優先度を変更する方法はあるらしい。
_Windows 10でIPv4とIPv6の優先度を変更する方法 - 4thsight.xyz
_Windowsで、IPv6 より IPv4 を優先に設定 - chinaz.org
_「IPv6無効設定」はもう古い?IPv6を有効にしたままIPv4の優先順位を上げる設定 - ぼくんちのTV 別館
一応そのあたり試してみた。
ということは、Windows10側で、IPv6 より IPv4 のほうが優先して使われるように設定すれば、ホスト名にPC名を入力してもSFTP接続もできるようになるのではないかと閃いた。
ググってみたら、IPv4 と IPv6 の優先度を変更する方法はあるらしい。
_Windows 10でIPv4とIPv6の優先度を変更する方法 - 4thsight.xyz
_Windowsで、IPv6 より IPv4 を優先に設定 - chinaz.org
_「IPv6無効設定」はもう古い?IPv6を有効にしたままIPv4の優先順位を上げる設定 - ぼくんちのTV 別館
一応そのあたり試してみた。
◎ 状態の確認 :
ping localhost と打った際の結果で状態が分かる。
「::1」と表示されたら、IPv6 が優先される状態になっている。
管理者権限で cmd.exe を開いて状態を確認。
> ping localhost MAINPCNAME [::1]に ping を送信しています 32 バイトのデータ: ::1 からの応答: 時間 <1ms ::1 からの応答: 時間 <1ms ::1 からの応答: 時間 <1ms ::1 からの応答: 時間 <1ms ::1 の ping 統計: パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、 ラウンド トリップの概算時間 (ミリ秒): 最小 = 0ms、最大 = 0ms、平均 = 0ms
「::1」と表示されたら、IPv6 が優先される状態になっている。
管理者権限で cmd.exe を開いて状態を確認。
netsh interface ipv6 show prefixpolicies
> netsh interface ipv6 show prefixpolicies アクティブ状態を照会しています... 優先順位 ラベル プレフィックス ---------- ----- -------------------------------- 50 0 ::1/128 40 1 ::/0 35 4 ::ffff:0:0/96 30 2 2002::/16 5 5 2001::/32 3 13 fc00::/7 1 11 fec0::/10 1 12 3ffe::/16 1 3 ::/96この並びになってる場合は、IPv6 が優先して使われる状態になっている。らしい。
◎ 優先度を変更 :
「::ffff:0:0/96」が一番上になれば、IPv4 が優先された状態になるとのこと。以下を打ち込めば設定を変更できる。
状態を確認してみる。「::ffff:0:0/96」が一番上になってればヨシ。
ping localhost の結果も変わる。
「127.0.0.1」が出てきたら、IPv4の優先度が高くなってる。
netsh interface ipv6 set prefixpolicy ::ffff:0:0/96 60 4
> netsh interface ipv6 set prefixpolicy ::ffff:0:0/96 60 4 OK
状態を確認してみる。「::ffff:0:0/96」が一番上になってればヨシ。
> netsh interface ipv6 show prefixpolicies アクティブ状態を照会しています... 優先順位 ラベル プレフィックス ---------- ----- -------------------------------- 60 4 ::ffff:0:0/96 50 0 ::1/128 40 1 ::/0 30 2 2002::/16 5 5 2001::/32 3 13 fc00::/7 1 11 fec0::/10 1 12 3ffe::/16 1 3 ::/96
ping localhost の結果も変わる。
> ping localhost MAINPCNAME [127.0.0.1]に ping を送信しています 32 バイトのデータ: 127.0.0.1 からの応答: バイト数 =32 時間 <1ms TTL=128 127.0.0.1 からの応答: バイト数 =32 時間 <1ms TTL=128 127.0.0.1 からの応答: バイト数 =32 時間 <1ms TTL=128 127.0.0.1 からの応答: バイト数 =32 時間 <1ms TTL=128 127.0.0.1 の ping 統計: パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、 ラウンド トリップの概算時間 (ミリ秒): 最小 = 0ms、最大 = 0ms、平均 = 0ms
「127.0.0.1」が出てきたら、IPv4の優先度が高くなってる。
◎ MobaXtermでの結果 :
IPv4 の優先度を高くしてみたけれど、MobaXterm は相変わらず SFTP接続できなかった…。効果無し…。
設定を元に戻そう…。
設定を元に戻そう…。
◎ 状態のリセット :
以下を打てば状態をリセットできる。
netsh interface ipv6 reset上記の設定後、OSの再起動が必要。
[ ツッコむ ]
以上です。