Zesty DNS 解析不再接受来自 DHCP 的搜索域设置

Zesty DNS 解析不再接受来自 DHCP 的搜索域设置

顺便说一下,这是在 Ubuntu Gnome 17.04(完全更新)上......

众所周知,Zesty 的名称解析已从 dnsmasq(通过 NetworkManager)更改为 systemd-resolved。一个副作用(显然 17.10 已经修复)是本地名称(即非 fqdn)的 DNS 解析仅使用本地 MDNS,而不是使用 DHCP 的 DNS 服务器。

经过大量阅读,我意识到这里的问题是由于 systemd-resolved 的默认行为造成的。但是,我发现的所有补救措施都提到创建一个具有特定内容的 .network 文件(见下文),将其放入 /etc/systemd/network,然后重新启动。

这是我目前所做的:

# cat /etc/systemd/network/usedomains.network
[Match]
Name=en*

[DHCP]
UseDomains=yes

现在,我尝试了带和不带 [Match] 部分以及特定的以太网接口名称、MAC 地址等。没有成功。在任何情况下,解析器都不会从 DHCP 中获取域设置。

不用说,我还有其他旧盒子,没有这样的问题。

我认为问题与使用 NetworkManager 继续管理网络堆栈有关,而不是使用 systemd-networkd - 因此显然是 NetworkManager“不知何故”未能告诉 systemd-resolved 它应该使用 DHCP 域。

我一直不愿意切换到 systemd-networkd 的原因是我不想过多地摆弄默认的 Ubuntu 布局。特别是,我不想破坏与 GUI 相关的东西(我能说什么呢?我最近变得懒惰了 :D)。

这是当前的行为(其中不使用 DHCP 配置的 DNS 服务器,并且不使用 DHCP 配置的域名作为本地名称的搜索域):

# dig +short some-local-hostname
(no record found)

这是所需的行为(使用 DHCP 配置的 DNS 服务器,并且使用 DHCP 配置的域名作为本地名称的搜索域):

# dig +short some-local-hostname
192.168.XXX.XXX

那么...有人想参与吗?关于如何解决这个烦人的小问题,您有什么想法吗?

答案1

我有 U17.04 zesty,我的 IP 是静态的。此网络没有 DHCP 服务器或 DHCP 服务器的 IP 助手,Ubuntu 的全局 DNS 服务器是 Google 的公共 8.8.8.8 和 8.8.4.4。/etc/systemd/resolved.conf 文件指示这些是 #FallbackDNS 设置。我能够将我的更改为本地 DNS 服务器,删除 #,然后重新启动并解析我的本地主机名(不在此广播域中)。

此外,我的 systemd-resolve --status 指示 MulticastDNS 设置已禁用,LLMNR/IPv4 和 LLMNR/IPv6 LLMNR 设置已启用,因此您和我的情况略有不同(静态与动态 IP),但 systemd-resolve 默认值显然相反。您可以修改 /etc/systemd/resolved.conf 文件以启用 LLMNR。随后,systemd-resolve 的 Man 指示默认情况下,查找是通过所有适合查找的协议完成的。

嘿,谢谢你发帖“众所周知,Zesty 的名称解析从 dnsmasq(通过 NetworkManager)更改为 systemd-resolved。”这对我很有帮助。

相关内容