15
7 月
2024

Ubuntu修改DNS方法(临时和永久修改DNS)

第一、永久修改DNS方法

1、修改 /etc/systemd/resolved.conf 文件

vi  /etc/systemd/resolved.conf

Select Code

Copy

这里我们可以看到这些参数:

# 指定 DNS 服务器,以空白分隔,支持 IPv4 或 IPv6 位置
DNS=8.8.8.8 114.114.115.115
# 备用 DNS 服务器
FallbackDNS=8.8.8.8
# 设置搜索域名
Domains=domain.com
# 设置 LLMNR 是否激活,可用的选项有 yes、no、resolve
LLMNR=yes
# 设置 MulticastDNS 是否激活,可用的选项有 yes、no、resolve
MulticastDNS=yes
# 设置 DNSSEC 是否激活,可用的选项有 yes、no、allow-downgrade
DNSSEC=yes
# 设置缓存是否激活,可用的选项有 yes、no、no-negative
Cache=no-negative

Select Code

Copy

根据需要修改 resolved.conf 文件中的DNS,然后保存。

2、重启 systemd-resolved 服务

systemctl restart systemd-resolved

Select Code

Copy

3、设置开机启动 systemd-resolved 服务

systemctl enable systemd-resolved

Select Code

Copy

4、备份 systemd-resolved 托管文件 resolv.conf

mv /etc/resolv.conf /etc/resolv.conf.bak

Select Code

Copy

重新生成。

ln -s /run/systemd/resolve/resolv.conf /etc/

Select Code

Copy

第二、临时修改DNS方法

如果我们临时使用的话,也可以临时修改DNS。

修改下面文件:

vi /etc/resolv.conf

Select Code

Copy

加入想要修改的DNS

nameserver 8.8.8.8
nameserver 8.8.4.4

Select Code

Copy

如果多个DNS,就一行一个,修改之后保存退出即可;此方法修改后即刻生效,但重启后失效。

第三 永久教程

通常我们知道,修改dns的几个途径

  • /etc/resolv.conf
  • /etc/netplan/01-netcfg.yaml

修改上面两个文件,一般情况下,可以解决,但是在一次使用新安装的ubuntu22.04的时候,发现,无论怎么修改,dig解析域名都是往127.0.0.53发送,哪怕在缓存中的已经生效

如何查看缓存中生效的配置呢cat /run/systemd/resolve/resolv.conf

解决方法

需要删掉或者修改 /etc/resolv.conf 文件名

先修改dns配置vim /etc/systemd/resolved.conf [Resolve] DNS=223.6.6.6 114.114.114.114

删除或者修改文件名mv /etc/resolv.conf /etc/resolv.conf.bak

将 /etc/systemd/resolved.conf 新建快捷方式为 /etc/resolv.confln -s /run/systemd/resolve/resolv.conf /etc/

最后重启网络systemctl restart systemd-resolved systemctl restart NetworkManager

You may also like...

发表回复

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