最近在用 tailscale ,这虚拟组网工具配置起来超简单,太爱这样的工具了,在我所有的 windows 操作机和 Linux VPS 上安装都非常顺利,唯独在我的 Arch Linux 笔记本电脑上出了问题:启动 tailscale 后能连通虚拟网的 IP ,但是 DNS 有问题,无法使用 VPS 作为出口( exit node )。按照官网的说明调整了还是没用。
https://tailscale.com/kb/1188/linux-dns/#dhcp-dhclient-overwriting-etcresolvconf最后发现是 Arch Linux 的 dhcpcd 在自动更新 resolv.conf 导致的,最终解决方法如下:
#不要让 dhcpcd 接管 resolv.conf ,增加如下配置
vim /etc/dhcpcd.conf
nohook resolv.conf
systemctl reload dhcpcd
#不要让 NetworkManager 接管 resolv.conf
vim /etc/NetworkManager/NetworkManager.conf 文件:
[main]
dns=none
systemctl reload NetworkManager
#让 systemd-resolved 接管 resolv.conf
ln -rsf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
systemctl enable --now systemd-resolved
#重启 tailscaled
systemctl restart tailscaled
问题解决。
在 Linux 平台上,能设置系统 DNS 的程序,真是不少,看来以后要多注意了。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/902759
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.