我有一个正在运行多个服务的树莓派(例如 Openhab、mosquitto...)。每个服务都应该可以通过本地子域进行本地访问(openhab.core.local、mosquitto.core.local,...)
这里我们进行mDNS发现。服务、端口和本地IP被正确识别。一切都在正确的网络客户端上进行到端口 80,其中 nginx(也尝试过 Traefik)反向代理容器等待路由请求。但我无法联系到服务。
我发现 FritzBox 中的 DNS 重新绑定保护不会回答解析到内部网络的 DNS 问题,好吧。我已经为所需的域名配置了例外。 (还尝试了几个子域的不同配置)如果我们已经有了 mDNS 条目,我不太明白为什么它需要 DNS 服务器响应,但没关系。
没有改变。
所以客户端知道home.pink-core.local
应该去 10.0.0.40:80 nginx 等待的地方。服务已启动并正在运行。但尽管 fritzbox 中已列入白名单,但客户端似乎发出了没有解析的 DNS 请求。至少服务无法访问。
如何找出原因并解决?
答案1
mDNS 使用本地链路多播 IP 地址(IPv4:224.0.0.251
、IPv6:ff02::fb
、UDP 端口 5353),TTL 固定为 1,因此不会被路由。您需要一个 mDNS 代理来宣布服务和设备的目标 IP 地址。
Raspberry Pi 或 OrangePi Zero 即可;可以找到说明这里(抱歉,只有德语)