Centos6.5 httpd 开启 IPV6 访问

Posted bookyao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Centos6.5 httpd 开启 IPV6 访问相关的知识,希望对你有一定的参考价值。

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>

  

  1. 先浏览器 IPV4 访问,正常情况,出现 hello world!
  2. 再浏览器 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访问已经通了。

以上是关于Centos6.5 httpd 开启 IPV6 访问的主要内容,如果未能解决你的问题,请参考以下文章

CentOS6.5禁用IPv6

Centos6.5 下搭建LAMP环境

centos6.5关闭ipv6

linux配置禁用启用IPv6

在centos6.5上编译安装LAMP

CentOS6.5下源码编译安装httpd2.4.23