本ページでは、CentOSのIPv6機能を無効化する設定方法を説明します。

CentOSのネットワーク機能では、IPv4とIPv6が使用できます。デフォルトでは両方の機能が有効化されています。IPv6を使用する設計のシステムであれば問題ありませんが、そうでない場合は、予期せぬIPv6通信が発生しトラブルの原因になる可能性があります。IPv6を明確に使用しないシステムでは、設定を変更しIPv6を無効化します。

事前確認

設定変更前のIPアドレスを確認します。inetがIPv4アドレス、inet6がIPv6アドレスを示します。

# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
(略)

IPv6の無効化

viなどのテキストエディタで、カーネルパラメータの設定ファイルを開きます。

# vi /etc/sysctl.conf

ファイルの末尾に、以下の2行を追加します。

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

以下のコマンドを実行し、カーネルパラメータをロードします。

# sysctl -p
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

設定変更後の確認

設定変更後のIPアドレスを確認します。IPv6の項目が消滅しています。

# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
(略)