这似乎是每个人都想要的东西,但我很惊讶地发现我的问题没有解决方案(我能找到的)。我想要的是运行本地 DNS 服务器(已完成)并向.local
avahi 发送上游请求。我不明白为什么这么简单的事情似乎完全不可能。我的动机是能够从任何其他设备(例如 Android 设备)通过名称访问我网络上的任何节点。
难道没有一个服务能够充当所有可用名称解析方法的 DNS 聚合器吗?WINS、mDNS、普通 DNS、从 dhcp 扩展主机名...
答案1
遇到了同样的问题,并采取了以下措施:
(0)安装和配置avahi-daemon
(1)安装libnss-mdns
(2)在 中/etc/nsswitch.conf
,按如下方式配置您的hosts
线路:
hosts: files mdns4_minimal [NOTFOUND=return] dns
(3)在 中dnsmasq.conf
,确保您没有该no-hosts
选项,因为我们想要在系统 NSS 上进行后端处理。然后,将其设置.local
为您的默认域:
local=/local/
domain=local
expand-hosts
(4)重新启动dnsmasq
,DNS查询现在应该可以回退到mDNS。
答案2
我最终也将我的 DNS 服务器 pihole 用作 DHCP 服务器。如果您为 DHCP 客户端提供本地域名和固定名称的 IPS,您将能够使用该名称 + 本地域名来访问它们。例如,从我的 Mac 上我使用,octopi.local
但从我的 Android 手机上我可以使用它,octopi.home
这.home
是我的本地域名,也是octopi
我为与我的 octopi 服务器相对应的固定 DHCP 条目指定的名称。不像 avahi 那样自动,但至少它可以工作。