Ubuntuの「IPv6」を無効にする方法&有効に戻す方法

Linuxガイド

この記事では、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
sudoeditで起動するテキストエディタを「vim」や「gedit」などに変更する方法については、「「sudoedit」で安全で快適にLinuxの設定ファイルを編集しよう!」を参照してください。

エディタが開いたら、以下の行を見つけます。

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
/etc/sysctl.confを編集して設定することもできますが、上記の通り別ファイルに分けて設定しておけば、ファイルを削除するだけで元に戻すことができます。

その後、以下のコマンドを実行します。

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で内容が正しいことを確認

Linuxガイド
\シェアお願いします/
LFI

コメント

タイトルとURLをコピーしました