「CentOS7」でIPv6を無効化する方法です。
IPv6無効化の注意点
「CentOS7」ではIPv6を無効化することは、SELinuxやその他のコンポーネントで影響があるため推奨されていないとCentOSのWikiに記述がありますので、その点についてはご理解をしてから設定を行ってください。
[CentOS Wiki] 5. How do I disable IPv6?
一時的にIPv6を無効化する方法
この方法でIPv6を無効化した場合、サーバの再起動やネットワークの再起動を行うとIPv6が有効化されてしまします。
# echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6 # echo 1 > /proc/sys/net/ipv6/conf/default/disable_ipv6
その他の方法として「sysctl -w」コマンドを使用して一時的にIPv6を無効化させる方法もあります。
# sysctl -w net.ipv6.conf.all.disable_ipv6=1 net.ipv6.conf.all.disable_ipv6 = 1 # sysctl -w net.ipv6.conf.default.disable_ipv6=1 net.ipv6.conf.default.disable_ipv6 = 1
IPv6無効化の確認
「ip a」コマンドでIPv6のアドレスが表示されないことを確認してください。
IPv6が有効化されている状態
IPv6が有効化されている状態では「inet6」という項目があり、IPv6が有効化されていることが確認できます。
# ip a 1: lo:mtu 65536 qdisc noqueue state UNKNOWN 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 2: eno16777736: mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:0c:29:13:ae:a2 brd ff:ff:ff:ff:ff:ff inet 192.168.56.129/24 brd 192.168.56.255 scope global dynamic eno16777736 valid_lft 1725sec preferred_lft 1725sec inet6 fe80::20c:29ff:fe13:aea2/64 scope link valid_lft forever preferred_lft forever 3: eno33554960: mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:0c:29:13:ae:ac brd ff:ff:ff:ff:ff:ff inet 192.168.1.130/24 brd 192.168.1.255 scope global eno33554960 valid_lft forever preferred_lft forever inet6 fe80::20c:29ff:fe13:aeac/64 scope link tentative dadfailed valid_lft forever preferred_lft forever
IPv6が無効化された状態
IPv6が無効化されている状態では、「inet6」という項目が表示されておらず、IPv6が無効化されていることが確認できます。
# ip a 1: lo:mtu 65536 qdisc noqueue state UNKNOWN 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 2: eno16777736: mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:0c:29:13:ae:a2 brd ff:ff:ff:ff:ff:ff inet 192.168.56.129/24 brd 192.168.56.255 scope global dynamic eno16777736 valid_lft 1373sec preferred_lft 1373sec 3: eno33554960: mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:0c:29:13:ae:ac brd ff:ff:ff:ff:ff:ff inet 192.168.1.130/24 brd 192.168.1.255 scope global eno33554960 valid_lft forever preferred_lft forever
恒久的にIPv6を無効化する方法
「/etc/sysctl.d」ディレクトリに「disable_ipv6.conf」といった設定ファイルを作成して、IPv6無効化用の設定を記述します。
こちらの方法でIPv6を無効化すると、サーバの再起動やネットワークの再起動を行ってもIPv6は無効化されたままとなります。
設定ファイル作成
# vi /etc/sysctl.d/disable_ipv6.conf
※設定ファイルの名前は「ファイル名.conf」という形式であれば、ほかの名前でも良いです。
設定内容
net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1
設定反映
「sysctl -pファイル名」コマンドで設定した内容を反映させます。
# sysctl -p/etc/sysctl.d/disable_ipv6.conf
IPv6無効化の確認
「ip a」コマンドでIPv6のアドレスが表示されないことを確認してください。
# ip a 1: lo:mtu 65536 qdisc noqueue state UNKNOWN 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 2: eno16777736: mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:0c:29:13:ae:a2 brd ff:ff:ff:ff:ff:ff inet 192.168.56.129/24 brd 192.168.56.255 scope global dynamic eno16777736 valid_lft 1373sec preferred_lft 1373sec 3: eno33554960: mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:0c:29:13:ae:ac brd ff:ff:ff:ff:ff:ff inet 192.168.1.130/24 brd 192.168.1.255 scope global eno33554960 valid_lft forever preferred_lft forever
NetWorkManagerでIPv6無効化設定
システム側でのIPv6無効化設定が完了しましたら、今度はNIC側で有効化されているIPv6の設定を無効化します。
そのためには、NICの設定ファイルである「/etc/sysconfig/network-scripts/ifcfg-xxx」(xxx部分は環境によって変わります)に記述されている、「IPV6INIT=yes」の部分を「IPV6INIT=no」に変更する必要があります。
直接設定ファイルを編集するという方法もあるのですが、「CentOS7」では直接設定ファイルを編集することは推奨されていませんので、今回は「nmtui」を使用して設定を変更していきます。
# nmtui
「NetworkManager TUI」が起動してくるので、方向キー(カーソルキー)で操作をして「接続の編集」を選択し「Enter」キーを押下します。
NICの選択画面が表示されるので、設定を行うNICを選択してから「編集」を選択して「Enter」キーを押下します。
NICの設定を行う画面が表示されるので、画面の下部にある「IPv6設定」の部分を「無視する」に変更してから「OK」を選択して「Enter」キーを押下します。
これで「IPV6INIT=no」に設定が変更されます。
NIC選択画面がに戻りますので、すべてのNICに対して同様の設定を行います。
設定作業が完了しましたら「終了」を選択して「Enter」キーを押下して作業を完了します。
設定確認
念のため、設定作業が完了しましたらNICの設定ファイル「/etc/sysconfig/network-scripts/ifcfg-xxx」で「IPV6INIT=no」に設定されていることを確認してください。
設定反映
NetworkManagerとnetwork再起動して設定を反映させます。
# systemctl restart NetworkManager # systemctl restart network
コメント