Linux 下开启和关闭IPv6的方法

在现在的Linux上IPv6已经在默认安装下被支持,但是对于一些对IPv6支持不是很好的应用服务器来说,开启了IPv6反而会影响服务器的网络性能,毕竟现在的网络交换设备不是IPv6的。

在Linux下首先确认IPv6是否已经被启用,可以从三个方面确定。
1.使用ifconfig查看自己的IP地址是否含有IPv6地址。
[root@localhost ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:EA:01:09:73:AB
inet addr:113.107.xx.xx  Bcast:113.107.42.255  Mask:255.255.255.0
inet6 addr: fe80::2ea:1ff:fe09:73ab/64 Scopeink
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:75967 errors:0 dropped:0 overruns:0 frame:0
TX packets:43331 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:7847346 (7.4 MiB)  TX bytes:159737697 (152.3 MiB)
Interrupt:169

2.查看服务监听的IP中是否有IPv6格式的地址
[root@localhost ~]# netstat -lnpt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name
tcp        0      0 127.0.0.1:199               0.0.0.0:*                   LISTEN      2165/snmpd
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      2372/mysqld
tcp        0      0 113.107.xx.xx:53            0.0.0.0:*                   LISTEN      2397/named
tcp        0      0 127.0.0.1:53                0.0.0.0:*                   LISTEN      2397/named
tcp        0      0 127.0.0.1:953               0.0.0.0:*                   LISTEN      2397/named
tcp        0      0 :::22                    :::*                        LISTEN      2182/sshd
tcp        0      0 :::80                       :::*                        LISTEN      2517/(squid)

3.使用lsmod查看ipv6的模块是否被加载
[root@localhost ~]# lsmod | grep ipv6
ipv6                  435105  274 cnic
xfrm_nalgo             43333  1 ipv6

当确定IPv6已经开启后就可以按照下面的方法将其关闭
1.使用vi编辑器,打开/etc/modprobe.conf
2.在文档中加入如下的两条:
alias net-pf-10 off
alias ipv6 off
保存退出,并且重新启动系统。
重启之后可以使用上面的三种方法去验证IPv6支持是否已经被关闭。

IPv6是默认支持的,所以当你要重新开起IPv6支持时,将/etc/modprobe.conf中的两条指令注释掉就可以了。

标签