|  |      1no1xsyzy      2021-03-17 12:10:42 +08:00 昨天刚碰到没设置好 resolved 导致 gpg 连不上任何服务器的问题…… 你看下你的 /etc/resolv.conf 是不是一个 symlink,可能通过 symlink 的方式被 resolved 接管了。 没有劫持,根据 resolved 的 manpage,它暴露三个接口:D-Bus, getaddrinfo, 127.0.0.53 不过通常会建议用 symlink 接管 /etc/resolv.conf 不清楚 AdGuard 是否有对应的接管方式,不然就照着 /usr/lib/systemd/resolv.conf 写一个指向 AdGuard 的呗 | 
|      2gridsah OP @no1xsyzy 设置 DNSStubListener=no 以后 /etc/resolved.conf 不再是一个 symlink,我删除 /etc/resolved.conf 后手动创建了 ln -s /run/systemd/resolve/resolved.conf /etc/resolved.conf 。目前倒是一切正常。 我就是不确定我一通操作干掉了些什么服务... | 
|  |      3no1xsyzy      2021-03-17 13:34:10 +08:00  1 那我觉得你需要看的是这个: https://wiki.archlinux.org/index.php/Domain_name_resolution 总之不带 @ 地 dig 一下,正常就是正常 话说,真的有只找 D-Bus resolve1 的程序吗? | 
|  |      4jim9606      2021-03-17 16:50:52 +08:00  2 1. DNSStubListener 开关让 resolved 监听 127.0.0.53:53 提供 DNS 解析 2. /etc/resolv.conf 链接至 /run/systemd/resolve/stub-resolv.conf,该配置指定了 nameserver 127.0.0.53 3. 应该不开会好点 大部分链接 glibc 的程序会使用 Name Service Switch (libnss)解析域名,由 /etc/nsswitch.conf 控制,通常是通过 libnss-resolve 插件走 D-Bus 访问 resolved 查询。 不链接 glibc 的程序(例如原生 go 程序)通过读 /etc/resolv.conf 自行发起查询。 | 
|  |      6jim9606      2021-03-22 22:15:05 +08:00 @julyclyde 不过既然是插件,算不上什么入侵吧,链接 libnss 的程序保持二进制兼容的。ubuntu 仓库还有一堆别的 nss 插件,我看比较实用的有 libnss-docker |