Ubuntu 18.04 手动修改 DNS 方法 - tuhaiyang/soft GitHub Wiki

有时候 Ubuntu 18.04 默认的 DNS 不太好用,需要手动修改成自己想用的 DNS ,
比如谷歌的 DNS 8.8.8.8 和 8.8.4.4 。
本文详细介绍 Ubuntu 18.04 如何手动修改 DNS 。
注意,以下操作是在 root 账号下进行的,非 root 账号需提升到 root 权限。

临时修改 DNS ,重启后失效
此方法为临时修改 DNS ,系统重启后设置的 DNS 将失效,会被重置为默认值。
使用如下命令修改 resolv.conf :

vim /etc/resolv.conf
修改 nameserver 后的地址为自己想用的 DNS 地址,如果使用谷歌的 DNS ,就将地址修改为 8.8.8.8 8.8.4.4 , 多个 DNS 使用空格分隔:

#Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
#127.0.0.53 is the systemd-resolved stub resolver.
#run "systemd-resolve --status" to see details about the actual nameservers.

nameserver 8.8.8.8 8.8.4.4
options timeout:2 attempts:3 rotate single-request-reopen

永久修改 DNS

vim /etc/systemd/resolved.conf

这个文件的默认配置如下:

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

将 DNS 前面的 # 去掉并填入新的 DNS 地址,本文以修改成谷歌 DNS 为例,修改后如下:

[Resolve]
DNS=8.8.8.8 8.8.4.4
#FallbackDNS=
#Domains=
#LLMNR=no
#MulticastDNS=no
#DNSSEC=no
#Cache=yes
#DNSStubListener=yes
修改完成后重启 system resolve 服务生效:

systemctl restart systemd-resolved.service

查询dns服务状态

systemd-resolve --status
通过该方法修改的 DNS 在系统重启后不会被还原,永久有效。