MacでIPv6の設定をオフにする

MacWi-Fiの接続が頻繁に切れるようになった。検索してみると、ほとんどの記事で以下の2つを試してみるように、という内容。

  • Bluetoothをオフにする
  • IPv6の設定を「リンクローカルのみ」にする

Bluetoothをオフにすると、通信の干渉が起きている場合に効果があるため接続性が良くなる、という内容がAppleのサポートページでも見つかった。

ワイヤレス通信で干渉が起きている場合の症状
 
以下のいずれかの症状が認められる場合は、Wi-FiBluetooth の信号に影響を及ぼす干渉が起きていると考えられます。
・デバイスを接続できない、または接続が途切れる
・(以下略)
https://support.apple.com/ja-jp/HT201542

IPv6の設定もオフにすればいいのでは?と思ったが、ネットワーク環境設定の画面では「オフ」が選択肢に出てこない(環境は macOS 10.15.7 (Catalina))。 f:id:gumfum:20210102174658p:plain

IPv6の設定を「オフ」にするには、以下のようにコマンドを実行する必要がある。

1. IPv6をオフにしたいネットワークサービスを確認する
表示された一覧の中から、接続しているネットワークサービスの名前を確認する。

% networksetup -listallnetworkservices
An asterisk (*) denotes that a network service is disabled.
USB 10/100/1000 LAN
Wi-Fi
Bluetooth PAN
Thunderbolt Bridge

2. IPv6をオフにする
1.で確認したネットワークサービスの名前を指定し、IPv6をオフにする。

% networksetup -setv6off Wi-Fi

特にメッセージは出ないが、これで設定完了。確認してみると、IPv6: OFFになっている。

% networksetup -getinfo Wi-Fi       
DHCP Configuration
IP address: 192.168.4.106
Subnet mask: 255.255.255.0
Router: 192.168.4.1
Client ID: 
IPv6: Off
Wi-Fi ID: xx:xx:xx:xx:xx:xx

ネットワーク環境設定の画面を確認すると「オフ」の項目が増えており、無効になっていることが確認できた。 f:id:gumfum:20210102174446p:plain

「自動」と「リンクローカルのみ」の違いはハッキリと分かってはいないが、「リンクローカルのみ」にすると、同一サブネット内の通信のみに使用される「リンクローカルアドレス」のみを利用できる状態にするのだろうと思われる。
あとで分かったことだが、そもそも接続していたルータが古く、IPv6に対応していないものだった。そのため、「自動」にしていてもIPv6の設定は完了できず、リトライなどが走ってしまっていたのか...?と推測。この環境ではとりあえず「オフ」のままでも問題なさそう。