前言: 众所周知,ubuntu 20.04下如果你看一下netstat -tupln, 就会发现一个名为127.0.0.53:53的奇怪IP,这就是恶名昭著的systemd-resolve,属于systemd服务,用于dns解析。今天我们就用开源dns解析器unbound替换它!

1.安装第三方开源dns解析器unbound

输入:sudo apt update-;y sudo apt install unbound -y

2.进行现有的配置文件备份

输入:sudo cp /etc/resolv.conf /etc/resolv.conf.bk;sudo cp /etc/systemd/resolv.conf /etc/systemd/resolv.conf.bk

3.停止systemd-resolve解析服务,并允许安装第三方解析器

3.1 停止systemd-resolve解析服务,输入:sudo systemctl disable systemd-resolved --now

3.2 输入sudo vim /etc/systemd/resolved.conf,其中DNSStubListener=no是禁止systemd-resolve对53端口的侦听;MulticastDNS=no是禁止多dns解析;FallbackDNS可自行设置为可用dns解析地址,作为备用。具体内容如下:

[Resolve]
DNS=127.0.0.1
#FallbackDNS=114.114.115.115
#Domains=
#LLMNR=no
MulticastDNS=no
#DNSSEC=no
#DNSOverTLS=no
#Cache=no-negative
DNSStubListener=no
#ReadEtcHosts=yes

3.3 输入sudo vim /etc/resolv.conf,修改如下:

nameserver 127.0.0.1 #原systemd-resolve下的地址为127.0.0.53
options edns0 trust-ad

4.重启,生效

重启后,输入netstat -tupln,应该看到,unbound替代了systemd-resolved:

image-20220901113817761

Avatar photo

sontjer

For the amatuer tech nerds & life maniacs.

0 条评论

发表回复

Avatar placeholder

您的电子邮箱地址不会被公开。 必填项已用*标注