- 2013-03-18 (月) 10:19
- unix
この記事の所要時間: 約 4分1秒
CentOS 6.x で ipv6 を無効化する方法です。
Google で検索すると色々な方法が出てきますが、本家 wiki.centos.org に方法が書いてありました。
ipv6 モジュールは無効化しない
ipv6 モジュールを無効化すると SELinux など別の箇所で問題が出るようなので、これはやらない方が良いようです。
/etc/sysctl.conf で設定
/etc/sysctl.conf に以下の設定を追加します。追加した後は再起動もしくは /sbin/sysctl -p で設定を反映させます。
# ipv6 disable net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1
$ sudo /sbin/sysctl -p
/sbin/ifconfig で確認
設定が反映した後に /sbin/ifconfig -a を見ると ipv6 の情報が表示されていないことが分かります。
設定前は inet6 の行があります。
$ /sbin/ifconfig lo lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
設定後は inet6 の行が表示されません。
$ /sbin/ifconfig lo lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
ただ設定後も netstat an で見ると ipv6 で Listen しているポートがあったりするのが不思議だったりしますが。
$ netstat -an -A inet6 Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 :::111 :::* LISTEN tcp 0 0 :::22 :::* LISTEN tcp 0 0 :::50717 :::* LISTEN udp 0 0 :::855 :::* udp 0 0 :::111 :::* udp 0 0 :::38581 :::*