1
no1xsyzy 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 的呗 |
2
gridsah OP @no1xsyzy 设置 DNSStubListener=no 以后 /etc/resolved.conf 不再是一个 symlink,我删除 /etc/resolved.conf 后手动创建了 ln -s /run/systemd/resolve/resolved.conf /etc/resolved.conf 。目前倒是一切正常。
我就是不确定我一通操作干掉了些什么服务... |
3
no1xsyzy 2021-03-17 13:34:10 +08:00 1
那我觉得你需要看的是这个: https://wiki.archlinux.org/index.php/Domain_name_resolution
总之不带 @ 地 dig 一下,正常就是正常 话说,真的有只找 D-Bus resolve1 的程序吗? |
4
jim9606 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 自行发起查询。 |
6
jim9606 2021-03-22 22:15:05 +08:00
@julyclyde 不过既然是插件,算不上什么入侵吧,链接 libnss 的程序保持二进制兼容的。ubuntu 仓库还有一堆别的 nss 插件,我看比较实用的有 libnss-docker
|