局域网如何搭建 ipv6 测试环境,并通过手机访问 ipv6 网站

2020-08-25 14:39:10 +08:00
 wandehul

现在一个支持 ipv6 的路由器。默认配置。有 linux 服务器,已监听 ipv6 地址,网卡有一个 fe80 的 ipv6 A 地址,跟它在同一个路由器下的 windows 也有一个 fe80 B 的地址,windows 可以通过 http://[A]地址访问 nginx 的网站。但是 iphone 连接到这个路由器上,看不见 ipv6 的地址。通过 safari 和 chrome 无法访问 nginx 服务.

请问,
1,路由器需要设置 ipv6 的 dhcp 地址池吗 。 应该设置什么段?
2,iphone 如何访问内网的 ipv6 nginx 。

3166 次点击
所在节点    程序员
7 条回复
qbqbqbqb
2020-08-25 15:27:46 +08:00
IPv6 里很多概念和 IPv4 有一些差异。

fe80 开头的地址比较特殊,不是通常意义上的地址,是链路本地地址,相当于 ipv4 里 DHCP 失败之后获得的 169.254.0.0/16 网段内的地址,仅在局域网里有效,而且操作系统有时会要求在使用 fe80 开头的地址的时候必须在地址后面附加网卡 ID (例如 fe80::1%eth0 ),App 不一定支持这种用法。所以说不是所有设备和 App 都支持通过 fe80 开头的地址通信。

IPv6“上网”和“局域网”用的是两种不同的地址。其中“上网”用的是 2 开头的由运营商分配的地址,一般的“支持 IPv6”的路由器也就只支持在接入了有 IPv6 的宽带以后通过 DHCP-PD 协议自动分配这种地址。
另外还有一种 fd 开头的 ULA 地址,即局域网专用地址,相当于 IPv4 里的 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 网段(但是因为 IPv6 没有 NAT,所以客户端不能用这个地址“上网”),一般的家用路由器不支持分配这种地址。

另外“DHCP 地址池”的说法也不准确,IPv6 里管理内网地址分配的主要协议是 RA (路由通告),RA 协议只通告当前网络的网段和网关信息,由客户端在网段内任意挑选一个地址(要求前缀长度必须等于 64,v6 前缀长度相当于 v4 的子网掩码)。DHCPv6 只是个辅助协议(用于分配 DNS 等次要设置,只有在极其罕见的情况下才用 DHCPv6 直接分配地址)。


回到你的问题,如果仅仅是局域网测试的话:
1. 接入了有 IPv6 的宽带且设备正常分配到了 2 开头的公网 IPv6 地址,可以直接拿公网地址做测试;
2. 外网无 IPv6,若路由器上可以设置"ULA 前缀",那么就设置一个 fd 开头的网段(有可能还需要开启一个“强制通告 ULA 前缀”的选项)
3. 外网无 IPv6,路由器也不支持设置 ULA,这种情况下路由器的 IPv6 功能一般是不起作用的,建议所有设备静态配置 fd 开头的地址进行测试。
knva
2020-08-25 15:28:23 +08:00
配一个 dhcpv6 然后自动分配。
qbqbqbqb
2020-08-25 15:49:30 +08:00
还有一种“歪门邪道”的玩法,找一张能获取 ipv6 地址的手机卡(现在手机卡一般都行),安卓手机开移动热点(必须安卓手机,请勿用其它设备代替),电脑连接热点即可获得 v6 公网地址。内网通信不耗流量。而且这样测试直接用公网地址拟真度最高。
wandehul
2020-08-26 14:23:26 +08:00
@qbqbqbqb 目前公司的网络是没有 ipv6 的,通过 https://www.jianshu.com/p/335f673e3994 网上一些 mac 连 iphone 分享网络的方式给手机分配 ipv6 的方式来做个简单的测试。 服务器也连接至 mac 分配了一个 2001 开头的地址。
2,低端家用路由器,只有配置 dhcpv6 的 16-64 位前缀,没有太多的参数。
3,fd 地址是在设备上静态配置的吗 ? 不可以在 dhcpv6 地址里填 fd 的地址段吗 ?
wandehul
2020-08-26 14:25:36 +08:00
@qbqbqbqb 用安卓的移动热点。应该还有 ipv4 地址吧 ,这个时候如何确保是通过 ipv6 进行通信呢
qbqbqbqb
2020-08-26 16:45:36 +08:00
@wandehul 家用路由器如果可以手动配置 64 位前缀的话应该也行。fd 前缀如果路由器里可以配就在路由器里配置,路由器不支持的话再用静态。

移动热点如果正确获取了 v6 地址的话,客户端如果用 v6 地址连接服务器的话(浏览器里用“中括号+v6 地址”访问)一定是走 v6 的。只有在绑了域名通过域名访问的情况下才会有优先级问题。
chouvel
85 天前
想学一些 ipv6 ,相关的知识,不知道从哪里开始,像问问有没有系统的学习课程

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/701285

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX