在 VPS 上修改 DNS 主要取决于你使用的 Linux 发行版以及网络管理工具(如 systemd-networkd、NetworkManager 或 netplan),以下是几种常见情况的修改方法,请根据你的 VPS 系统选择对应的步骤。
适用于快速测试,不会永久保存。
直接修改 /etc/resolv.conf(部分系统为只读) echo "nameserver 1.1.1.1" > /etc/resolv.conf echo "nameserver 8.8.8.8" >> /etc/resolv.conf
方法 A:使用 systemd-resolved(Ubuntu 18.04+、Debian 10+ 等)
这是最常见的现代 Linux 发行版 DNS 管理方式。
1、编辑配置文件:
sudo nano /etc/systemd/resolved.conf
2、添加或修改以下内容:
[Resolve] DNS=1.1.1.1 8.8.8.8 FallbackDNS=8.8.4.4 如果需要,取消下面行的注释以启用高级选项 #Domains=
3、重启服务:
sudo systemctl restart systemd-resolved
4、如果/etc/resolv.conf 未自动更新,可手动创建软链接:
sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf
方法 B:使用 netplan(Ubuntu 18.04+ 默认)
许多云 VPS(如 DigitalOcean、Linode、Vultr)使用 netplan 管理网络。
1、找到配置文件(通常为/etc/netplan/ 下的.yaml 文件):
ls /etc/netplan/ 输出类似:01-netcfg.yaml 或 50-cloud-init.yaml
2、编辑该文件(例如sudo nano /etc/netplan/01-netcfg.yaml),在对应接口下添加 DNS:
network:
version: 2
ethernets:
eth0: # 你的网卡名称,可能是 ens3 或 eth0
dhcp4: true # 通常为 true,但需保留
nameservers:
addresses:
- 1.1.1.1
- 8.8.8.83、应用配置:
sudo netplan apply
方法 C:使用 NetworkManager(CentOS、Fedora、老版 Ubuntu)
如果你的 VPS 使用了 NetworkManager(查看systemctl status NetworkManager):
首先查看当前连接名称 nmcli con show 修改指定连接的 DNS,例如连接名为 "System eth0" nmcli con mod "System eth0" ipv4.dns "1.1.1.1 8.8.8.8" 应用修改 nmcli con up "System eth0"
方法 D:直接编辑接口配置文件(CentOS 7/8、RHEL 传统方式)
1、编辑/etc/sysconfig/network-scripts/ifcfg-eth0(网卡名称可能不同):
sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0
2、添加或修改 DNS 行:
DNS1=1.1.1.1 DNS2=8.8.8.8 PEERDNS=no # 避免被 DHCP 覆盖
3、重启网络服务:
sudo systemctl restart network 或对于老系统:service network restart
检查当前 DNS 服务器 cat /etc/resolv.conf 或使用 dig dig +short example.com 或使用 nslookup nslookup google.com 查看 systemd-resolved 状态 systemd-resolve --status # 新版本: resolvectl status
云厂商自定义网络:部分云平台(如阿里云、腾讯云)在 VPS 重启后可能会通过 DHCP 或 cloud-init 覆盖/etc/resolv.conf,此时需要检查是否使用了dhclient 或cloud-init,并修改对应的配置模板(例如/etc/dhcp/dhclient.conf 或/etc/cloud/cloud.cfg)。
安全加固:如果你的 VPS 需要防 DNS 劫持,建议使用加密 DNS(DNS over HTTPS/TLS),但上述方法仅针对传统 UDP 53 端口的 DNS。
推荐公共 DNS:
- Cloudflare:1.1.1.1,1.0.0.1
- Google:8.8.8.8,8.8.4.4
- 阿里云国内:223.5.5.5,223.6.6.6
- 腾讯云国内:119.29.29.29
选择适合你系统的方法修改后,请测试ping 或curl 外部域名确认网络正常,如果修改后无法上网,请检查防火墙或通信是否被云服务商安全组拦截。
文章摘自:https://idc.huochengrm.cn/dns/25546.html
评论