IPv6を完全に無効化してIPv4のみに切り替える方法

IPv6はネットワークの未来とされており、長期的にはそうなるでしょう。しかし実際には、解決するより多くの問題を生むことがあります。トンネルの外に漏れるVPN、プロバイダのIPv6対応が不十分で遅くなる接続、対応できない古いソフトやNASなどです。こうした場合、IPv4のみに戻すと多くは数分で解決します。お使いのシステムに応じた正しい手順を紹介します。

IPv6を無効にする前に考えるべきこと

原則としてIPv6を無効化するのは良い選択ではありません。問題なく動いているなら有効のままにしましょう。インターネットの流れはそちらに向かっており、対応サービスも増え続けています。無効化が正当化される理由は具体的です。

  • VPNがIPv6を保護せず、本当のアドレスが漏れている(ipleak.netやdnsleaktest.comでのテストで確認可能)
  • IPv6をオフにすると消える遅延や接続エラーがある。プロバイダの実装に問題がある兆候
  • 古いネットワーク機器や特定のソフトウェアがIPv6に対応せず、競合を起こす
  • IPv6が導入されていない企業ネットワークを管理しており、不必要な攻撃面となっている

いずれにも当てはまらないなら、IPv6を無効化しても得るものはなく、将来何かを壊すリスクだけ残ります。

WindowsでIPv6を無効化する

Windows 10とWindows 11ではGUI操作が最も簡単です。ネットワーク接続を開きます。タスクバーのネットワークアイコンを右クリックし、「ネットワークとインターネットの設定」、次に「アダプターのオプションを変更する」をクリックします。

アクティブな接続(Wi-FiまたはEthernet)を右クリックし、「プロパティ」を選びます。一覧で「インターネット プロトコル バージョン 6(TCP/IPv6)」のチェックを外し、OKで確定します。

この方法はそのインターフェースだけでIPv6を無効化します。システム全体で完全に無効化するにはレジストリが必要です。レジストリエディター(Windowsキー + R、regeditと入力)を開き、次の場所に移動します。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters

新しいDWORD(32ビット)値DisabledComponentsを作成し、16進数でffを設定するとIPv6コンポーネントがすべて無効化されます。再起動して変更を適用します。

注意:Microsoftはレジストリ経由でIPv6を完全に無効化することを公式には推奨していません。一部のWindowsコンポーネントはIPv6の存在を前提に動作するためです。あとからネットワーク共有の不具合や起動の遅さなど挙動がおかしくなったら、DisabledComponentsを0に戻すかキーを削除してください。

MacでIPv6を無効化する

macOSでは数バージョン前からGUIにオプションがなく、ターミナルで無効化します。ターミナルを開き、まずネットワークサービス名を確認します。

networksetup -listallnetworkservices

通常は「Wi-Fi」と「Ethernet」が表示されます。Wi-FiでIPv6を無効化するには次を入力します。

sudo networksetup -setv6off Wi-Fi

Ethernetの場合:

sudo networksetup -setv6off Ethernet

管理者パスワードが求められます。後でIPv6を再有効化するには、-setv6offを-setv6automaticに置き換えます。

LinuxでIPv6を無効化する

多くのLinuxディストリビューション(Ubuntu、Debian、Fedora)ではsysctlを使うのがクリーンな方法です。設定ファイルを編集します。

sudo nano /etc/sysctl.conf

ファイル末尾に次の3行を追加します。

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

再起動なしで反映するには次を実行します。

sudo sysctl -p

この方法は可逆です。値を0に戻すか該当行を削除し、再度sysctl -pを実行するだけで戻せます。

ルーターでIPv6を無効化する

ネットワーク全体のIPv6を一度に切りたい場合はルーター側で行います。ブラウザにルーターのIPアドレス(多くの場合192.168.1.1)を入力し、管理画面にログインします。

ネットワーク設定またはWAN設定のIPv6セクションを探します。場所は機種によって異なりますが、「WAN」「インターネット」「詳細設定」の下にあるのが一般的です。オプションを無効にして保存します。ネットワーク上の各端末はDHCPリースの更新後または再起動後にIPv4に戻ります。

IPv6が本当に無効化されたか確認する

作業後は結果を確認します。最も簡単なのはipme.coを訪れることです。現在の接続がIPv4かIPv6かを表示してくれます。コマンドラインでも確認できます。

Windowsではコマンドプロンプトでipconfigと入力すると、「IPv6 アドレス」の行が表示されないはずです。MacとLinuxではifconfigまたはip aを実行し、アクティブなインターフェースでinet6から始まるアドレスが表示されなければ成功です。

fe80::で始まるIPv6アドレスがまだ残っていても気にしなくて大丈夫です。これはリンクローカルアドレスで完全に内部的なものです。インターネット接続には影響せず、一部のシステム層は常にこれを保持します。