linux 禁用IPv 6

IPv6还没有完全普及,但是安装完系统之后IPv6是有效的,在一定程度上影响网络性能,所以在我们在完全不使用IPv6的情况下,最好关闭IPv6。其实在上一篇网络设置的文章中,我们提到过是否激活IPv6,但是只是那一点设置还是不能完全关闭IPv6,所以本文以完整的步骤叙述一下如何关闭它。


查看IP配置

#ifconfig 


eth0      Link encap:Ethernet  HWaddr 00:0C:29:CC:22:28  

          inet addr:192.168.2.253  Bcast:192.168.2.255  Mask:255.255.255.0

          inet6 addr: fe80::20c:29ff:fecc:2228/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:200403 errors:0 dropped:0 overruns:0 frame:0

          TX packets:5756 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000 

          RX bytes:18713209 (17.8 MiB)  TX bytes:2042418 (1.9 MiB)


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:65536  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 则表示启用了IPv6


方法一:

1.修改/etc/sysconfig/network,追加:

NETWORKING_IPV6=no

2.修改/etc/hosts,把ipv6的那句本地主机名解析的也注释掉:

#::1   localhost localhost6 localhost6.localdomain6

3.让系统不加载ipv6相关模块,这需要修改modprobe相关设定文件,为了管理方便,我们新建设定文件/etc/modprobe.d/ipv6off.conf,内容如下,三种方式,总有一款适合你:

alias net-pf-10 off

options ipv6 disable=1

或者

install ipv6 /bin/true

或者

install ipv6 /sbin/modprobe -n -i ipv6

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

4.重启系统,然后确认:

[root@test ~]# lsmod | grep -i ipv6

[root@test ~]# ifconfig | grep -i inet6

如果上述2个命令执行的结果没有任何显示,那么说明ipv6已经被完全禁止了。

后记:

在第三步不加载ipv6模块的方法里,可能有人会有类似这样的设置方法:

alias net-pf-10 off

alias ipv6 off

options ipv6 disable=1

虽然这样在系统重启后,ipv6的确没被加载,但是因为第二句,在有的版本的系统里,当我们重启网络的时候,会出现如下错误:

FATAL: Module off not found.


方法二:

(不需重启系统)

编辑/etc/sysctl.conf 

#vim /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 -p


查看

#ifconfig 

eth0      Link encap:Ethernet  HWaddr 00:0C:29:CC:22:28  

          inet addr:192.168.2.253  Bcast:192.168.2.255  Mask:255.255.255.0

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:200717 errors:0 dropped:0 overruns:0 frame:0

          TX packets:5898 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000 

          RX bytes:18742847 (17.8 MiB)  TX bytes:2064730 (1.9 MiB)


lo        Link encap:Local Loopback  

          inet addr:127.0.0.1  Mask:255.0.0.0

          UP LOOPBACK RUNNING  MTU:65536  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)


本文出自 “技术vs” 博客,请务必保留此出处http://yuj0607.blog.51cto.com/2330331/1613563

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。