在現在的Linux上IPv6已經在預設安裝下被支援,但是對於一些對IPv6支援不是很好的應用伺服器來說,開啟了IPv6反而會影響伺服器的網路性
能,畢竟現在的網路交換裝置不是IPv6的。
在Linux下首先確認IPv6是否已經被啟用,可以從三個方面確定。
1.使用ifconfig查看自己的IP地址是否含有IPv6地址。
eth0 Link encap:Ethernet HWaddr 00:13:D4:05:B2:ED
inet addr:119.119.xxx.xx Bcast:119.119.115.255 Mask:255.255.255.0
inet6 addr: fe80::213:d4ff:fe05:b2ed/64
Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1054562 errors:0 dropped:0 overruns:0 frame:0
TX packets:538136 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:346189738 (330.1 MiB) TX bytes:246935731 (235.4 MiB)
Interrupt:209 Base address:0xd800
2.查看服務監聽的IP中是否有IPv6格式的地址。(netstat -tuln)
tcp 0 0 0.0.0.0:8100 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:843 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:81 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:113 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
tcp 0 0 :::8080 :::* LISTEN
tcp 0 0 :::22 :::* LISTEN
tcp 0 0 :::443 :::* LISTEN
udp 0 0 0.0.0.0:68 0.0.0.0:*
udp 0 0 0.0.0.0:837 0.0.0.0:*
udp 0 0 0.0.0.0:840 0.0.0.0:*
udp 0 0 0.0.0.0:111 0.0.0.0:*
udp 0 0 0.0.0.0:631 0.0.0.0:*
3.使用lsmod查看ipv6的模組是否被載入。
Module Size Used by
parport_pc 24577 1
lp 12077 0
parport 37129 2 parport_pc,lp
autofs4 24901 0
i2c_dev 11329 0
i2c_core 22081 1 i2c_dev
sunrpc 162597 1
loop 15817 2
dm_multipath 20681 0
button 6481 0
battery 8901 0
ac 4805 0
md5 4033 1
ipv6 234881 14
*****上面的黑體字部分為需要注意的地方*****
當確定IPv6已經開啟後就可以按照下面的方法將其關閉
1.使用vi編輯器,開啟/etc/modprobe.conf
2.在文檔中加入如下的兩條:
alias net-pf-10 off
alias ipv6 off
儲存退出,並且重新啟動系統。
重啟之後可以使用上面的三種方法去驗證IPv6支援是否已經被關閉。
其他linux系統關閉ipv6的方法:
Debian/ Ubuntu
在 /etc/modprobe.d/00local (如果沒有就建立)加入以下兩行:
alias net-pf-10 off
alias ipv6 off
另外一種:在 /etc/modprobe.d/aliases 中修改:
alias net-pf-10 ipv6為alias net-pf-10 off
CentOS/Fedora/Mandrake/RedHat
在 /etc/modprobe.conf 加入以下一行:
alias net-pf-10 off
在檔案/etc/sysconfig/network加入以下一行:
NETWORKING_IPV6=NO
從2.6.30開始
需要加入/etc/sysctl.conf
net.ipv6.conf.all.disable_ipv6=1
IPv6是預設支援的,所以當你要重新開起IPv6支援時,將/etc/modprobe.conf中的兩條指令注釋掉就可以了。