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。