网上找了两种方法,都已验证:


第一种:
1、编辑/boot/grub/grub.conf在以下行结尾加上ipv6.disable=1
kernel /vmlinuz-2.6.32-279.el6.x86_64 ro root=UUID=5bd71e9a-7b05-45f8-8928-ce88a2921fa0 rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet ipv6.disable=1

2、重启生效


第二种:
1、编辑/etc/sysconfig/network添加行:
NETWORKING_IPV6=no

2、修改/etc/hosts,把ipv6本地主机名解析的注释掉(可选):
#::1   localhost localhost6 localhost6.localdomain6

3、禁止系统加载ipv6相关模块,创建modprobe关于禁用ipv6的设定文件/etc/modprobe.d/disable_ipv6.conf(名字随便起)(RHEL6.0之后没有/etc/modprobe.conf这个文件),内容如下,三选其一(本次使用的第一种):
alias net-pf-10 off
options ipv6 disable=1

install ipv6 /bin/false

install ipv6 /sbin/modprobe -n -i ipv6
注意,如果你使用了网卡绑定(bond)技术,而且不希望用ipv6,那么你使用第一种,否则系统启动时,bonding模块可能会加载失败。

aliyun云服务器的配置:
alias net-pf-10 off
alias ipv6 off
options ipv6 disable=1
注:第二句,在有的版本的系统里,重启网络的时候,可能会出现如下错误(待验证):
FATAL: Module off not found.

4、重启生效
-------------------------------------------------------------------

重启生效后的检查命令:
[root@test ~]# lsmod | grep -i ipv6
[root@test ~]# ifconfig | grep -i inet6
如果上述2个命令执行的结果没有任何显示,那么说明ipv6已经被完全禁止了。

补充:

5、centos7没有那个文件

To verify if IPv6 is enabled or not, execute :
# ifconfig -a | grep inet6
        inet6 fe80::211:aff:fe6a:9de4  prefixlen 64  scopeid 0x20
        inet6 ::1  prefixlen 128  scopeid 0x10

操作如下,修改/etc/default/grub修改

1. Edit /etc/default/grub and add ipv6.disable=1 in line GRUB_CMDLINE_LINUX, e.g.:
GRUB_CMDLINE_LINUX="ipv6.disable=1 crashkernel=auto rhgb quiet"
# cat /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="ipv6.disable=1crashkernel=auto rhgb quiet"
GRUB_DISABLE_RECOVERY="true"

然后写入内核

2. Regenerate a GRUB configuration file and overwrite existing one:
# grub2-mkconfig -o /boot/grub2/grub.cfg

然后重启

3. Restart system and verify no line “inet6” in “ip addr show” command output.
# shutdown -r now