我想通过互联网访问我的 Raspberry,互联网通过 DS-Lite 连接提供给我的 FritzBox。经过一番 IPv6 地址方面的努力后,我通过 MyFritz 服务让它工作起来,它为我提供了以下地址来访问我的 PI:
raspberrypi.71zpsngawonyba5d.myfritz.net
这样,我就可以从自己的网络以及通过手机的移动数据访问 PI。现在我想用自己的域名来访问 PI,事情开始变得奇怪了。我试图从上述域名收集所有 DNS 信息,但这些信息基本上只是一条AAAA
记录。由于我的 DNS 提供商仅支持子域名的 CNAME(不支持 CNAME 扁平化),因此我为我的域名创建了以下 DNS 设置:
@ TTL 3600 <PI IPv6 Address>
* TTL 3600 <PI IPv6 Address>
通过此设置,我可以通过手机上的移动网络连接到我的 PI,但不能通过家庭网络连接到 PI。当我尝试通过 Chrome 打开我的域名时,我收到以下错误消息:
DNS_PROBE_FINISHED_NXDOMAIN
我猜(我可能错了)DS-Lite 连接是这里的问题。我的请求可能是从我的互联网提供商的 NAT 发送的,因此它使用 IPv4,并且找不到A
要发送请求的记录。
我现在的问题是,为什么从 myfritz 子域可以进行访问?我是否遗漏了这里的 DNS 设置,或者他们4to6
在后台进行某种隧道传输?我还尝试使用 Cloudflare 进行 CNAME 扁平化,效果很好,所以我认为隧道传输在这里不是正确的选择。不幸的是,我想使用 HTTP 和 HTTPS 以外的其他端口,所以我不能使用他们的服务。
答案1
最终经过长时间的研究我终于让它发挥作用了:
问题实际上是我的 FritzBox 使用 DNS 重新绑定保护,这意味着它不允许解析私有 IP 地址。在 IPv4 时代这没有问题,因为您会使用 FritzBox 的公共 IP,但今天有了 IPv6,内部 IP 也是公共的。
你可以阅读这里(仅在德国,抱歉)如何启用它。该网站没有说明它是否还支持 Web 界面中的通配符输入。我会尽快更新此答案。