在 VPS 上更改 DNS 通常指的是修改 VPS 操作系统的 DNS 解析器设置,让它使用您指定的公共 DNS(如1.1.1.1
、8.8.8.8
)而不是网络提供商默认的 DNS。
这与修改域名所在注册商的 DNS 记录是完全不同的两回事,如果您是想修改域名的解析服务器,通常是在您的域名注册商或 DNS 服务商(如 Cloudflare)的后台进行操作。
这种方法只会在当前会话生效,VPS 重启后就会恢复为原来的设置,适合临时测试。
1、通过 SSH 连接到您的 VPS。
2、 编辑 resolv.conf 文件:
sudo vim /etc/resolv.conf
或
sudo nano /etc/resolv.conf
3、 将文件内容修改为您想要的 DNS 服务器地址,使用 Cloudflare 和 Google 的 DNS:
nameserver 1.1.1.1 nameserver 8.8.8.8
4、 保存并退出编辑器。
Vim: 按ESC
,然后输入:wq
,再按回车。
Nano: 按Ctrl + X
,然后按Y
确认,再按回车。
注意:在某些现代 Linux 系统中,/etc/resolv.conf
文件是由系统服务(如 systemd-resolved)自动生成的,直接修改可能会被覆盖,我们更推荐下面的永久修改方法。
永久修改的方法取决于您的 Linux 发行版和使用的网络管理工具,以下是两种最常见的情况。
情况 1:使用systemd-resolved
(常见于 Ubuntu 18.04+、Debian 10+ 等)
这是目前最主流的方式。
1、通过 SSH 连接到您的 VPS。
2、 编辑 systemd-resolved 的配置文件:
sudo vim /etc/systemd/resolved.conf
或
sudo nano /etc/systemd/resolved.conf
3、 找到[Resolve]
部分,取消注释(删除行首的#
)并修改DNS
和FallbackDNS
行:
[Resolve] DNS=1.1.1.1 8.8.8.8 #FallbackDNS=1.0.0.1 8.8.4.4 Domains=~.
4、 保存并退出编辑器。
5、 重启 systemd-resolved 服务以使更改生效:
sudo systemctl restart systemd-resolved.service
6、 确保/etc/resolv.conf
是指向 systemd-resolved 的存根文件(通常是一个符号链接):
ls -lh /etc/resolv.conf
正常情况应该显示类似:
lrwxrwxrwx 1 root root 39 Feb 1 2023 /etc/resolv.conf -> ../run/systemd/resolve/stub-resolv.conf
如果不是,可以手动创建链接:
sudo ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
情况 2:使用Netplan
(Ubuntu 18.04+ 的默认网络配置工具)
1、通过 SSH 连接到您的 VPS。
2、 找到 Netplan 的配置文件,通常在/etc/netplan/
目录下,文件名可能是01-netcfg.yaml
、50-cloud-init.yaml
等。
ls /etc/netplan/
3、 编辑该 YAML 文件(请使用您的实际文件名):
sudo vim /etc/netplan/50-cloud-init.yaml
4、 在正确的网络接口下(通常是eth0
或ens3
)添加nameservers
部分,配置文件内容大致如下:
network: version: 2 ethernets: eth0: # 你的网卡名称,可能不同 dhcp4: true nameservers: addresses: [1.1.1.1, 8.8.8.8]
或者,如果您是静态 IP 配置:
network: version: 2 ethernets: eth0: addresses: [192.168.1.100/24] gateway4: 192.168.1.1 nameservers: addresses: [1.1.1.1, 8.8.8.8]
5、 保存并退出编辑器。
6、 应用新的网络配置:
sudo netplan apply
情况 3:修改/etc/network/interfaces
(较老的 Debian/Ubuntu 系统)
1、 编辑网络接口配置文件:
sudo vim /etc/network/interfaces
2、 在您的接口配置(如iface eth0 inet dhcp
或iface eth0 inet static
)部分后面添加dns-nameservers
行:
iface eth0 inet dhcp dns-nameservers 1.1.1.1 8.8.8.8
3、 保存文件并重启网络服务或重启 VPS。
无论使用哪种方法,修改后都请使用以下命令验证:
cat /etc/resolv.conf
输出应该显示您新设置的 DNS 服务器地址。
您也可以使用nslookup
或dig
命令来测试 DNS 解析是否正常工作:
nslookup google.com
或
dig google.com
查看命令输出中的SERVER
行,它应该显示为您设置的 DNS 服务器 IP。
Cloudflare:1.1.1.1
和1.0.0.1
(速度快,注重隐私)
Google:8.8.8.8
和8.8.4.4
(非常稳定)
OpenDNS:208.67.222.222
和208.67.220.220
(提供一些安全过滤功能)
Quad9:9.9.9.9
(注重安全,自动屏蔽恶意域名)
对于大多数较新的 VPS(尤其是 Ubuntu 20.04+),首选方法是修改/etc/systemd/resolved.conf
文件。 如果不确定,可以先检查您的系统是否在使用systemd-resolved
。
文章摘自:https://idc.huochengrm.cn/dns/13889.html
评论