この記事では、Ubuntuの「IPv6」を無効にする方法と、有効に戻す方法を解説します。
IPv6は標準で「有効」
Ubuntuは、Windows 10やmacOSと同様、標準でIPv6に対応しています。現在、IPv6がネットワークインタフェースに割り当てられているかどうかは、以下のコマンドで確認できます。
ip -6 a
以下のように、割り当てられたIPv6アドレスが確認できます。この例では複数のIPv6アドレスが割り当てられていますが、IPv6に対応していないネットワークに接続している場合、出力されるアドレスの数は少なくなります。
通常、IPv6を無効化する必要はありません。しかし、接続しているネットワークによっては、IPv6を有効化していると通信が始まるまでに時間がかかったり、まったく通信できなかったりします。また、企業や教育機関などでは、各端末にIPv6アドレスを割り当てるより、従来どおりプライベートIPv4アドレスだけを割り当てたいといったこともあるでしょう。
そのような場合、「GRUBで無効化する方法」と「sysctlで無効化する方法」のいずれかでUbuntuのIPv6を無効化できます。以下で、それぞれの方法を詳しく紹介します。
GRUBでIPv6を無効化する方法
GRUBでIPv6を無効化するには、root権限で/etc/default/grubを編集します。sudoeditで編集するなら、以下のコマンドを実行します。
sudoedit /etc/default/grub
エディタが開いたら、以下の行を見つけます。
GRUB_CMDLINE_LINUX=""
次のように変更します。
GRUB_CMDLINE_LINUX="ipv6.disable=1"
ファイルを保存してエディタを終了し、以下のコマンドを実行します。
sudo update-grub
Ubuntuを再起動し、ログインしなおします。以下のコマンドを実行し、IPv6アドレスが表示されなければ、問題なく無効化できています。
ip -6 a
IPv6を有効に戻すには?
再度IPv6を有効にするには、/etc/default/grubの編集した行を、以下の通り元に戻します。
GRUB_CMDLINE_LINUX=""
ファイルを保存してエディタを終了し、以下のコマンドを実行します。
sudo update-grub
Ubuntuを再起動し、ログインしなおします。以下のコマンドを実行し、IPv6アドレスが表示されれば、IPv6が有効になっています。
ip -6 a
sysctlでIPv6を無効化する方法
何らかの理由でGRUBを設定する方法がうまくいかない場合、sysctlで無効化することもできます。
以下の内容で/etc/sysctl.d/60-ipv6-disable.confを作成します。root権限が必要なので、sudoeditなどを用いてください。
net.ipv6.conf.all.disable_ipv6=1
net.ipv6.conf.default.disable_ipv6=1
net.ipv6.conf.lo.disable_ipv6=1
その後、以下のコマンドを実行します。
sudo systemctl restart procps
以下のコマンドを実行し、IPv6アドレスが表示されなければ、問題なく無効化できています。
ip -6 a
再起動後もIPv6を無効化するには、/etc/rc.localを以下の内容で作成します。こちらもroot権限が必要です。
#!/bin/bash
systemctl restart procps
exit 0
以下のコマンドで、ファイルモードを変更しておきます。
sudo chmod 755 /etc/rc.local
これで、再起動後もIPv6が無効になります。
IPv6を有効に戻すには?
IPv6を有効に戻すには、作成した/etc/sysctl.d/60-ipv6-disable.confと/etc/rc.localを削除します。
sudo rm /etc/sysctl.d/60-ipv6-disable.conf
sudo rm /etc/rc.local
その後、以下のコマンドを実行します。
sudo systemctl restart procps
以下のコマンドを実行し、IPv6アドレスが表示されれば、IPv6が有効になっています。
ip -6 a
念のため、再起動後もIPv6が有効になることを確認しておきましょう。
更新履歴
2020-07-07 Ubuntu 20.04 LTSで内容が正しいことを確認
2020-07-07 Ubuntu 18.04 LTSで内容が正しいことを確認
コメント