【ipv6】如何检测一个web站点是否支持ipv6访问?
IPv6是“Internet Protocol Version 6”的缩写,是由国际互联网标准化组织IETF设计的用于替代现行版本IPv4的下一代互联网核心协议。
与有42亿个IP地址的IPv4相比,IPv6理论上可提供的IP地址数量达2的128次方,几乎可以“为全世界的每一粒沙子编上一个网络地址”。
同一个主机名是可以同时解析到 IPv4(A 记录)、IPv6(AAAA 记录),用户本地网络 IPv6 访问优先时,会自动解析、访问到 IPv6 地址,否则会解析到 IPv4 地址。
我们国家互联网起步比较晚,因此13个ipv4 DNS根服务器没有一个在中国.
虽然错过了ipv4的13个根服务器,但ipv6 DNS根服务器中,中国拥有4台服务器,其中,一台为主根,其他三台为辅根。
a.root-servers.net. 518400 IN A 198.41.0.4
b.root-servers.net. 518400 IN A 199.9.14.201
c.root-servers.net. 518400 IN A 192.33.4.12
d.root-servers.net. 518400 IN A 199.7.91.13
e.root-servers.net. 518400 IN A 192.203.230.10
f.root-servers.net. 518400 IN A 192.5.5.241
g.root-servers.net. 518400 IN A 192.112.36.4
h.root-servers.net. 518400 IN A 198.97.190.53
i.root-servers.net. 518400 IN A 192.36.148.17
j.root-servers.net. 518400 IN A 192.58.128.30
k.root-servers.net. 518400 IN A 193.0.14.129
l.root-servers.net. 518400 IN A 199.7.83.42
m.root-servers.net. 518400 IN A 202.12.27.33
a.root-servers.net. 518400 IN AAAA 2001:503:ba3e::2:30
a.root-servers.net. 518400 IN AAAA 2001:503:ba3e::2:30
b.root-servers.net. 518400 IN AAAA 2001:500:200::b
c.root-servers.net. 518400 IN AAAA 2001:500:2::c
d.root-servers.net. 518400 IN AAAA 2001:500:2d::d
e.root-servers.net. 518400 IN AAAA 2001:500:a8::e
f.root-servers.net. 518400 IN AAAA 2001:500:2f::f
g.root-servers.net. 518400 IN AAAA 2001:500:12::d0d
h.root-servers.net. 518400 IN AAAA 2001:500:1::53
i.root-servers.net. 518400 IN AAAA 2001:7fe::53
j.root-servers.net. 518400 IN AAAA 2001:503:c27::2:30
k.root-servers.net. 518400 IN AAAA 2001:7fd::1
l.root-servers.net. 518400 IN AAAA 2001:500:9f::42
m.root-servers.net. 518400 IN AAAA 2001:dc3::35
image.png
image.png
方式1:
客户端 ------->网络负载设备---->nginx ---->Backend
网络人员将系统域名 (如 www.example.com) 解析的 ipv6地址绑在网络负载设备上,从外部接入是ipv6的地址,内部是ipv4, 需要网络设备实现ipv6转ipv4。
NAT-PT 是一种将 IPv6 首部转换为 IPv4 首部的一种技术。
通过 NAT-PT ,IPv6 的主机能够和 IPv4 主机进行通信,同时某些 IPv4 的服务也能够让 IPv6 的主机使用。
注意这里的 IPv6 只能转换为 IPv4 ,不能反向转换,那么要实现双向通信,该如何做呢?
支持 NAT-PT 的路由器要 DNS-ALG 的支持来实现 IPv4 向 IPv6 的转换。
方式2:
客户端 ------->nginx ----->Backend
网络人员将系统域名(如 www.example.com)解析的 ipv6地址绑在一台nginx服务器上,外部的的请求直接转发到内部的分配给nginx的ipv6地址,nginx配置增加监听的80、 443端口绑定在ipv6上。
对nginx,在配置中ipv4的基础上增加listen行:
# http块
listen 80;
listen [::]:80;
# https 块
listen 443 ssl http2;
listen [::]:443 ssl http2;
fe80开头就像169.254.x.x,是这个网段里没人给你分ip,自动协商的地址,其地址不能在网络上路由,也就是说,通常无法用于上网。
现在各大运营商用的ipv6:
电信是240e开头的(240e::/20)
移动是2409开头的(2409:8000::/20)
联通是2408开头的(2408:8000::/20)
其他一些标记有teredo也不是原生ipv6。
检测
站点ipv6测试工具:
https://www.china-ipv6.cn/#/checkTools
image.png参考
NAT 协议
https://mp.weixin.qq.com/s/ZPHjrX0fkdDgXDldFHmH9Q
Nginx 开启 IPv6
https://ipw.cn/doc/ipv6/server/nginx_ipv6.html
http://nginx.org/en/docs/http/ngx_http_core_module.html#listen
IPv6 工具箱使用文档
https://ipw.cn/doc
致力于普及 IPv6 ,推进 IPv6 规模部署和应用
https://ipw.cn
IPV4/IPV6 连通性测试
https://v6t.ipip.net
IPv6网站检测
https://ipw.cn/ipv6webcheck
ipv6在线检测
http://www.ipv6-test.com/validate.php
本地网络IPV6检测
http://test-ipv6.com/
目标站点IPV6检测
https://www.boce.com/ipv6/
如何测试在WAF中配置的源站IP是IPv6地址?
https://support.huaweicloud.com/waf_faq/waf_01_0161.html
IPV4 IPV6 根域名服务器地址
https://blog.51cto.com/u_4981212/5791446
电子监听、全国断网,棱镜门背后,中国如何从末路狂奔到世界之巅
https://www.bilibili.com/video/BV1i14y157YV