Centos6.5 httpd 開啟 IPV6 訪問
要通過 ipv6 訪問web頁面,必須在linux和window上配置局域網能互通的ipv6地址。
Centos6 開啟 IPV6
打開 IPV6 開關
[root@bogon ~]# vim /etc/sysconfig/network NETWORKING_IPV6=yes //添加此行 IPV6_AUTOCONF=no //關閉自動配置IP
配置 IP 地址
[root@bogon ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0 IPV6INIT=yes //ipv6初始化 IPV6ADDR=2001::a00:20ff:fea7:ccea/64 //ipv6地址 IPV6_DEFAULTGW=2001::a00:20ff:fea7:1 //ipv6網關
打開ipv6加載模塊文件
[root@bogon ~]# vim /etc/modprobe.d/ipv6off.conf #alias net-pf-10 off //注釋此行 options ipv6 disable=0 //1修改為0,表示開啟
重啟網卡
[root@bogon ~]# service network restart
重啟系統
[root@bogon ~]# reboot
Windows 開啟 IPV6
網絡中心-->本地連接--> 屬性--> TCP/IPv6
配置和linux局域網互通的IPV6地址即可。
ping6 測試
linux下ping6 windows 的ipv6地址,測試連通性
[root@bogon conf]# ping6 2001::a00:20ff:fea7:cceb PING 2001::a00:20ff:fea7:cceb(2001::a00:20ff:fea7:cceb) 56 data bytes 64 bytes from 2001::a00:20ff:fea7:cceb: icmp_seq=1 ttl=128 time=1.41 ms 64 bytes from 2001::a00:20ff:fea7:cceb: icmp_seq=2 ttl=128 time=0.234 ms 64 bytes from 2001::a00:20ff:fea7:cceb: icmp_seq=3 ttl=128 time=0.278 ms ^C --- 2001::a00:20ff:fea7:cceb ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2353ms rtt min/avg/max/mdev = 0.234/0.641/1.411/0.544 ms [root@bogon conf]#
注意:windows 下是 ping -6 2001::a00:20ff:fea7:cceb
Linux下Apache配置
2.0 版本以后的apache版本,都默認支持 ipv6,通過 netstat 確認是否開啟
下面表示ipv6的端口已經開始監聽,主要看::::80
[root@bogon conf]# netstat -anp | grep httpd tcp 0 0 :::80 :::* LISTEN 24538/httpd tcp 0 0 :::8018 :::* LISTEN 24538/httpd tcp 0 0 :::443 :::* LISTEN 24538/httpd tcp 0 0 :::8001 :::* LISTEN 24538/httpd [root@bogon conf]#
這樣就說明 ipv6 已經監聽80和443端口了
IPV6 測試頁面訪問
在 Apache 的訪問目錄下,新建 1.html 的測試頁面,內容如下:
<html> <body> <h1>hello world!</h1> </body> </html>
- 先瀏覽器 IPV4 訪問,正常情況,出現 hello world!
- 再瀏覽器 IPV6 訪問,正常情況,出現 hello world!但是 IPV6 卻提示 Timeout
解決方法:Wireshare 立馬抓包, 看訪問過程
wireshark ipv6 抓包過濾方法如下:
ipv6.addr == 2001::a00:20ff:fea7:ccea
注意:必須是 ipv6.addr
抓包發現:三次握手發送 SYN 時,直接返回地址不可達
icmpv6 Destinatioin unreachable(Administratively prohibited)
明明 IPV6 的80端口開啟監聽了,為啥地址不可達呢,根據經驗要檢查防火牆是否關閉
先關閉防火牆,一定要注意, IPV4 和 IPV6 的防火牆不一樣,否則,很容易只關閉了 IPV4,實際上IPV6的防火牆是開的。
[root@bogon html]# service iptables stop [root@bogon html]# service ip6tables stop
再次 web 訪問 IPV6 的測試頁面,發現已經能夠打印 hello world!
至此:說明 ipv6 的web訪問已經通了。