Linux发行版下禁用IPv6方法如下:
1、编辑文件/etc/sysctl.conf:
2、在该文件的末尾处填写下列几行:
3、保存文件,关闭文件。使用下列命令重启sysctl。
4、再次查看ifconfig的输出结果,没有ipv6地址了。
第一种方法:禁用IPv6
编辑文件/etc/sysctl.conf:
$ sudo gedit /etc/sysctl.conf
然后在该文件的末尾处填写下列几行:
# IPv6 disabled net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 net.ipv6.conf.lo.disable_ipv6 = 1
保存文件,关闭文件。
使用下列命令重启sysctl
$ sudo sysctl -p
再次查看ifconfig的输出结果,现在应该没有ipv6地址了。
$ ifconfig eth0 Link encap:Ethernet HWaddr 08:00:27:5f:28:8b inet addr:192.168.1.3 Bcast:192.168.1.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1346 errors:0 dropped:0 overruns:0 frame:0 TX packets:965 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1501691 (1.5 MB) TX bytes:104883 (104.8 KB)
要是这一招不管用,那么试试重启系统,再次查看ifconfig。
第二种方法:禁用IPv6,使用GRUB方法
还可以编辑grub配置文件,以此禁用IPv6。
$ sudo gedit /etc/default/grub
找到含有GRUB_CMDLINE_LINUX的这一行,编辑该行,如下所示。
GRUB_CMDLINE_LINUX="ipv6.disable=1"
同样还可以添加到名为GRUB_CMDLINE_LINUX_DEFAULT的变量的值,任何一种方法都管用。保存文件,关闭文件,重新生成grub配置。
$ sudo update-grub2
重启。现在,IPv6应该已被禁用了。
第三种方法:不禁用IPv6,设置IPv4的优先级高于IPv6
找到getaddrinfo(3)配置文件,也就是/etc/gai.conf,并去掉相应行的注释,让IPv4的优先级高于IPv6。
$ sudo gedit /etc/gai.conf
找到这一行,去掉其注释:
#precedence ::ffff:0:0/96 100
那样一来,它看起来就像这样:
precedence ::ffff:0:0/96 100
保存并退出文件。重启后一切都搞定了,因为现在优先处理的是IPv4。如果你要启用IPv6,但是在执行DNS查询之类的操作时优先处理IPv4,这是最佳方法。