蒙国造博客

centos4/5/6开启关闭ipv6

ipv6虽然未来将是主流,不过目前还是ipv4的天下。开启ipv6后有很多很烦的事情,而又由于现在用不到ipv6,所以就决定将其disabled掉。具体操作方法总结如下。

一、查看状态

ifconfig |grep inet6
lsmod |grep ipv6

有结果输出,表示已经启用了ipv6。

二、关闭ipv6

根据操作系统的版本不同,关系的方法也不尽相同。现以主流centos为例,具体操作方法如下。

1、centos 4

echo "alias net-pf-10 off" >> /etc/modprobe.conf

设置完成后,reboot生效。

2、centos 5

chkconfig ip6tables off
echo "NETWORKING_IPV6=no" >> /etc/sysconfig/network
cat >> /etc/modprobe.conf <<EOF
alias ipv6 off
alias net-pf-10 off
EOF

另一种更简单的方法:

touch /etc/modprobe.d/disable-ipv6
echo "install ipv6 /bin/true" >> /etc/modprobe.d/disable-ipv6

3、CentOS 5.4

由于centos 5.4升级了 symbol/ipv6 模块,所以按照上面的方法会出现内核模块failing to load,使用如下方法:

touch /etc/modprobe.d/disable-ipv6
echo "options ipv6 disable=1" >> /etc/modprobe.d/disable-ipv6

4、centos 6

echo "net.ipv6.conf.all.disable_ipv6=1" >> /etc/sysctl.conf
echo "blacklist ipv6" >> /etc/modprobe.d/blacklist.conf
chkconfig ip6tables off
cat >> /etc/sysconfig/network <<EOF
NETWORKING_IPV6=no
IPV6_AUTOCONF=no
EOF

三、如何停用在用的IPv6

引用:http://wiki.centos.org/zh/FAQ/CentOS6

一些推荐不要停用 ipv6 模块,因为这样会导致 SELinux 及其它组件出现问题。你可改而在 /etc/sysctl.conf 加入:

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

要在运作中的系统停用它:

echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6
echo 1 > /proc/sys/net/ipv6/conf/default/disable_ipv6
# 或
sysctl -w net.ipv6.conf.all.disable_ipv6=1
sysctl -w net.ipv6.conf.default.disable_ipv6=1

要是你在停用 IPv6 的系统上转接 X 时遇到问题,请编辑 /etc/ssh/sshd_config 及作出以下一组改动:

a、更改这一行

#AddressFamily any
AddressFamily inet

(inet 指定 ipv4;inet6 指定 ipv6)

或者

b、删除这行行首的井号(#)

#ListenAddress 0.0.0.0

然后重启ssh。

退出移动版