在玩海外 VPS(如 ClawVPS)时,默认的 DNS 往往由机房提供。但在实际使用中,切换到 阿里云公共 DNS 往往能获得更稳定的解析速度,特别是在处理国内 API 调用或资源请求时。

本文将介绍在现代 Linux 系统中(基于 systemd-resolved)修改 DNS 的标准做法。


🌐 为什么不直接修改 /etc/resolv.conf?

在现代 Linux 发行版(如 Ubuntu 20.04+、Debian 11+)中,/etc/resolv.conf 只是一个软链接。

如果你直接修改它,系统重启或网络重启后,你的修改会被自动覆盖。因此,我们需要通过修改 systemd-resolved 的配置文件来从根源解决问题。


1️⃣ 编辑 systemd-resolved 配置文件

使用 root 权限打开配置文件:

1
sudo nano /etc/systemd/resolved.conf

[Resolve] 下方取消注释并填入阿里 DNS。这里的 100.100.2.136 是阿里典型的内网/公共解析地址,具有极高的稳定性。

1
2
3
4
[Resolve]
DNS=100.100.2.136 100.100.2.138
FallbackDNS=223.5.5.5 8.8.8.8
DNSStubListener=yes
  • DNS:首选阿里 DNS。
  • FallbackDNS:备用 DNS,当首选不可用时,系统会尝试阿里公共 DNS (223.5.5.5) 或 Google DNS。

2️⃣ 应用配置并重启服务

修改完配置文件后,需要重启解析服务来应用更改:

1
2
3
4
5
# 重启服务
sudo systemctl restart systemd-resolved

# 设置开机自启(如果未开启)
sudo systemctl enable systemd-resolved

3️⃣ 验证修改结果

执行以下命令查看当前生效的 DNS 服务器:

1
resolvectl status

在输出结果的 Global 或对应的网卡条目下,你应该能看到:
DNS Servers: 100.100.2.136 100.100.2.138


🚀 进阶:一键修改脚本(懒人专用)

如果你有大量机器需要修改,可以保存以下脚本直接运行:

1
2
3
4
5
6
7
8
cat <<EOF | sudo tee /etc/systemd/resolved.conf
[Resolve]
DNS=100.100.2.136 100.100.2.138
FallbackDNS=223.5.5.5 8.8.8.8
EOF

sudo systemctl restart systemd-resolved
echo "DNS 修改完成!"

⚠️ 常见问题排查

  1. 修改后无法解析域名?
    请检查是否开启了严格的防火墙规则。确保 UDP/TCP 53 端口 允许出站流量。
  2. Ping 不通 100.100.2.136?
    部分非阿里生态的 VPS 无法访问其内网 DNS,此时请将 DNS 更换为阿里的公共地址:223.5.5.5223.6.6.6
  3. 生效慢?
    执行 sudo systemctl daemon-reload 后再重启 systemd-resolved

🎉 总结

DNS 是网络访问的“指路牌”。通过将 ClawVPS 的 DNS 迁移至阿里云,可以有效降低解析延迟,并规避部分海外 DNS 对国内域名解析不准的问题。


网站由 Polarisiu © 2026使用 Stellar 主题创建

总访问次 · 总访客人 · 本页访问
已发布博客8篇 · 总计5.9k字

全部都是博主用心学编写的啊!不是ai啊 只要保留原作者姓名并在基于原作创作的新作品适用同类型的许可协议,即可基于非商业目的对原作重新编排、改编或者再创作。

:YOURNAME