转载:学习下并mark下
这里我们使用简单的 httpd 服务进行测试。
实验环境
![](https://img.haomeiwen.com/i9636954/f3d26621af0a08b0.png)
测试IPv6访问
在机器 3 上安装 httpd,配置监听 IPv4 和 IPv6 的 80 端口。
文件:/etc/httpd/conf/httpd.conf
Listen10.144.85.73:80
Listen[fd88:5110:a240::886:f252]:80
在 1 上通过 curl 访问:
curl10.144.85.73:80
IPv4 可以正常访问,返回数据较长,这里不再展示。
#curl-g[fd88:5110:a240::886:f252]:80
curl: (7)Failedconnecttofd88:5110:a240::886:f252:80;Connectionrefused
IPv6 地址无法访问到 httpd 服务。IPv6 访问不稳定,有时可以正常返回数据。
机器 1 上抓包来看,数据包发送出去了:
23:42:52.924028IP6epic1.52564>fd88:5110:a240::886:f252.http:Flags[S],seq480439591,win28800,options[mss 1440,sackOK,TS val 17786404 ecr 0,nop,wscale 7],length0
23:42:52.924033ethertypeIPv6,IP6epic1.52564>fd88:5110:a240::886:f252.http:Flags[S],seq480439591,win28800,options[mss 1440,sackOK,TS val 17786404 ecr 0,nop,wscale 7],length0
23:42:52.924035ethertypeIPv6,IP6epic1.52564>fd88:5110:a240::886:f252.http:Flags[S],seq480439591,win28800,options[mss 1440,sackOK,TS val 17786404 ecr 0,nop,wscale 7],length0
23:42:52.937267ethertypeIPv6,IP6fd88:5110:a240::886:f252.http>epic1.52564:Flags[R.],seq0,ack480439592,win0,length0
23:42:52.937270ethertypeIPv6,IP6fd88:5110:a240::886:f252.http>epic1.52564:Flags[R.],seq0,ack1,win0,length0
23:42:52.937271IP6fd88:5110:a240::886:f252.http>epic1.52564:Flags[R.],seq0,ack1,win0,length0
此时机器 3 上抓不到包。
HAproxy 代理测试
在机器 1 上安装 HAproxy。
IPv6 代理 IPv4
我们配置 机器 1 的 IPv6 地址来代理 机器 3 的 IPv4 地址,配置如下:
![](https://img.haomeiwen.com/i9636954/8c6407ac705fb958.png)
另外,配置了 HAproxy 的管理页面,这里不再赘述。
理论上,可以在浏览器中输入http://[fd88:5110:a240::886:f250]:8080/,来测试。
由于公司环境,VPN 没有代理 IPv6 地址,所以只能通过 curl 的方式测试。
在机器 3 上访问:
curl -g [fd88:5110:a240::886:f250]:8080
数据可以正常返回,返回用时不稳定,大部分情况下返回结果用时很长,用时近 15s。也有访问无返回的情况。
通过 机器 2 访问时,一切正常!返回速度也很快!
IPv4 代理 IPv6
现在机器 3 的 httpd 服务无法通过 IPv6 正常访问,我们只能采用迂回的方式来做这个测试了。
既然,在机器 2 上可以通过 IPv6 访问 HAproxy 代理的服务,那我们在机器 2 上再做一层 HAproxy。
机器 2 的 HAproxy 配置:
![](https://img.haomeiwen.com/i9636954/7c0174e5af292f02.png)
这里的后端 http1 的地址使用的是机器 2 上的 HAproxy 的对外地址。
这里,可以通过浏览器访问http://10.144.91.125:18080/:
![](https://img.haomeiwen.com/i9636954/89abc91b79b68842.png)
正常访问
结论
1、通过 HAproxy可以实现 IPv4 代理 IPv6,IPv6 代理 IPv4;
2、地址转换时感觉还是有些问题,不确定是否是 httpd 服务的问题还是机器;
3、下一步需要部署真实服务再进行验证;
作者:hoxis
链接:https://www.jianshu.com/p/09e62aa8caff
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
网友评论