Ubuntu 18.04 LTS正确设置DNS服务器

在一台小鸡上DD了ubuntu 18.04, ssh连上去运行 apt update更新系统,发现一堆错误,软件源都连不上。
简单地ping了一下几个域名发现都无法解析,明显是DNS没有设置好。

运行 vi /etc/resolv.conf看了一下,发现DNS服务器被设置成127.0.0.53,改成1.1.1.1

然后apt就能更新系统了.

 

后来重启系统后,发现DNS解析又出现问题,重新检查 /etc/resolv.conf,发现nameserver又被改回了127.0.0.53
这个文件第一行写着
This file is managed by man:systemd-resolved(8). Do not edit.
表明这个文件是被systemd-resolvd服务自动修改的,所以一旦服务重启,就自动重置回127.0.0.53


要自行设定DNS服务器有两个方法

(1)关闭systemd-resolvd服务

systemctl stop systemd-resolvd
systemctl disable systemd-resolvd

这样对/etc/resolv.conf做出的修改都能保存下来。

 

sudo systemctl stop systemd-resolved
sudo systemctl disable systemd-resolved
sudo apt install unbound
sudo rm -rf /etc/resolv.conf
sudo vim /etc/NetworkManager/NetworkManager.conf

在[main]
下面添加
dns=unbound
将dns服务替换为unbound
reboot
重启电脑即可,开机查看resolve.conf发现nameserver自动配置

 

(2)修改systemd-resolv的设置

打开 /etc/systemd/resolved.conf,修改为

[Resolve]
DNS=1.1.1.1 1.0.0.1
#FallbackDNS=
#Domains=
LLMNR=no
#MulticastDNS=no
#DNSSEC=no
#Cache=yes
#DNSStubListener=yes

 

DNS=设置的是域名解析服务器的IP地址,这里分别设为1.1.1.1和1.0.0.1
LLMNR=设置的是禁止运行LLMNR(Link-Local Multicast Name Resolution),否则systemd-resolve会监听5535端口。

sudo systemctl restart systemd-resolved

 

你可能感兴趣的:(linux)