# Ubuntu 18.04 更改 DNS

注意

本文仅适用于 Ubuntu 18.04 或更高版本

Ubuntu 系列的 Linux 发行版(仅支持 systemd) 会默认使用一个名为 systemd-resolved 的系统服务接管本机的 DNS 查询,它默认是启动的且监听 53 端口

注意

若需要使用 53 端口则必须停止或禁用该服务

停止并禁用服务

systemctl stop systemd-resolved
systemctl disable systemd-resolved

编辑配置文件

vi /etc/systemd/resolved.conf

取消 DNSLLMNR 的注释并更改 DNS 地址为自定义 DNS 服务器地址即可

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

保存退出并重启服务器即可

# 其他

为什么已经将 systemd-resolved 停止还要更改其配置文件?

因为系统已经弃用 /etc/resolv.conf 并且将其转移到 /etc/systemd/resolved.conf,无论 systemd-resolved 服务启用还是禁用

systemd-resolved 服务

启动时:/etc/resolv.conf 中会显示服务交给 systemd-resolved 处理 禁用后: /etc/resolv.conf 也会随之删除(重启后),使用 /etc/systemd/resolved.conf 配置文件