原因
我们都知道,编辑/etc/resolv.conf文件可以更改系统的DNS,但是很多时候重启之后更改又还原了,本文介绍的是一种永久设定DNS的方式。
通过安装resolvconf实现永久设置DNS
在Ubuntu或Debian中安裝resolvconf
首先通过以下命令检查是否安装resolvconf
sudo systemctl status resolvconf.service
如果提示如下,则说明没有安装:
Unit: resolvconf.service could not be found
如果提示如下,则说明已安装:
Active: active (exited)
通过如下命令来安装:
sudo apt update
sudo apt install resolvconf
安装完成之后通过如下命令检测resolvconf是否启动及设置自启动:
sudo systemctl status resolvconf.service
若没有启动或自启动,请通过如下命令设置:
sudo systemctl start resolvconf.service
sudo systemctl enable resolvconf.service
sudo systemctl status resolvconf.service
接下来配置/etc/resolvconf/resolv.conf.d/head文件:
sudo vim /etc/resolvconf/resolv.conf.d/head
按 i 键进入编辑模式,添加下面两行,这里使用的是Google的DNS:
nameserver 8.8.8.8
nameserver 8.8.4.4
按esc键退出编辑模式,并输入 :wq! 后回车保存文件。
输入下面的命令重启resolvconf服务:
sudo systemctl start resolvconf.service
我们需要更新resolv.conf以使用新的DNS。输入以下代码:
sudo resolvconf --enable-updates
sudo resolvconf -u
现在当我们查看/etc/resolv.conf文件时,新的DNS应该已经添加进去了,重启之后也不会改变。
nameserver 8.8.8.8
nameserver 8.8.4.4
另附上常用的DNS服务商
Google DNS
- 8.8.8.8
- 8.8.4.4
- 2001:4860:4860::8888
- 2001:4860:4860::8844
阿里云公共DNS
- 223.5.5.5
- 223.6.6.6
腾讯公共DNS
- 119.29.29.29
Cloudflare DNS
- 1.1.1.1