从 16.04 升级到 17.04 后,我不明白主机名解析系统应该如何配置。
首先,我注意到升级后搜索域从中消失了/etc/resolv.conf
。在我删除/etc/resolv.conf
符号链接并重新启动 NetworkManager 后,它们又回来了。但随后内容变成了如下内容:
# Generated by NetworkManager
search mydomain1 mydomain2
nameserver 127.0.1.1
好的,搜索域在那里。但是为什么名称服务器 127.0.1.1 在那里?没有进程正在监听该地址,因此名称解析不起作用。
据我所知,127.0.1.1 是 dnsmasq 的硬编码监听地址,未在以下位置配置/etc/NetworkManager/NetworkManager.conf
:
[main]
plugins=ifupdown,keyfile
[ifupdown]
managed=false
[logging]
level=DEBUG
实际上,升级后甚至没有安装 dnsmasq。安装 dnsmasq 并将该行添加dns=dnsmasq
到 后NetworkManager.conf
,一切正常,但我想知道我是否做错了什么,或者是 NetworkManager 或其他地方的错误。
所以我的问题是,是否可以使用 systemd-resolved 代替 dnsmasq?如果不行,那么改用 systemd-resolved 的目的是什么?