- Published on
修复 systemd resolved DNS 配置
- Authors
- Name
- ttyS3
solution
其实是升级后 tailscale 提示我的.
❯ tailscale status
# Health check:
# - dns-manager: systemd-resolved and NetworkManager are wired together incorrectly; MagicDNS will probably not work. For more info, see https://tailscale.com/s/resolved-nm
# - dns-os: setLinkDNS: Could not activate remote peer.
# - dns: setLinkDNS: Could not activate remote peer.
/etc/resolv.conf
的内容虽然是正常的 nameserver 127.0.0.53
, 但是这个文件并不是指向 systemd-resolved stub 的一个符号链接.
tailscale 检测出了这一问题. 其实产生这个问题的原因是, 我这台机器的 systemd-resolved 这个服务没有被启用 (有可能是突然断电造成的问题).
参考它的方法 https://tailscale.com/kb/1188/linux-dns/ 还不够. 我们需要启用 systemd-resolved
这个服务:
# 以下操作均以 root 身份的执行
systemctl enable --now systemd-resolved
ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
systemctl restart systemd-resolved
systemctl restart NetworkManager
systemctl restart tailscaled
misc
MagicDNS 是 tailscale 推出的一个很方便的功能, 可以让你使用域名访问你的内网资源. 而不是 IP.
❯ resolvectl status tailscale0
Link 6 (tailscale0)
Current Scopes: DNS
Protocols: -DefaultRoute -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
Current DNS Server: 100.100.100.100
DNS Servers: 100.100.100.100
DNS Domain: xxxxxxxxxxxxxxxxxxxx (此处为敏感信息)
可以看到 tailscale0
的 DNS 在启用了 MagicDNS 后, 变成了 100.100.100.100
, 它会负责解析 tailscale 相关的域名 (比如 hostname.xxxx.ts.net)