228 字
1 分钟
删除 Ubuntu 由 DHCP 下发的 DNS 服务器

确认 DNS 地址来源#

查看文件 /etc/netplan/50-cloud-init.yaml 查看系统获取 DNS 服务器获取方式

从 DHCP 获取 DNS 服务器#

从 DHCP 获取 DNS 服务器

固定 DNS 服务器#

从 DHCP 获取 DNS 服务器

确认 Netplan 生成的网络配置名称#

Terminal window
ls /run/systemd/network/

通常会看到一个类似于 10-netplan-eth0.network 的文件。


创建 Override (覆盖) 目录#

在系统的网络配置目录 /etc/systemd/network/ 下,创建一个与上述文件名同名,并以 .d 结尾的目录。假设文件名为 10-netplan-eth0.network

Terminal window
sudo mkdir -p /etc/systemd/network/10-netplan-eth0.network.d

编写 override.conf 忽略 DHCP DNS#

新目录下创建一个 override.conf 文件:

Terminal window
sudo nano /etc/systemd/network/10-netplan-eth0.network.d/override.conf

文件内容为:

[DHCPv4]
UseDNS=false
[DHCPv6]
UseDNS=false

编写 override.conf 忽略 固定 DNS#

新目录下创建一个 override.conf 文件:

Terminal window
sudo nano /etc/systemd/network/10-netplan-eth0.network.d/override.conf

文件内容为:

[Network]
DNS=
Domains=

重启网络服务使其生效#

Terminal window
sudo systemctl restart systemd-networkd
sudo systemctl restart systemd-resolved
删除 Ubuntu 由 DHCP 下发的 DNS 服务器
https://blog.echopath.one/posts/erase-dns-for-systemd-resolve/
作者
Lucien Noir
发布于
2026-05-02
许可协议
CC BY-NC-SA 4.0