如何让 NetworkManager 对所有接口使用 systemd-resolved 的全局 DNS 设置?

如何让 NetworkManager 对所有接口使用 systemd-resolved 的全局 DNS 设置?

我使用的是 Ubuntu 22.04

/etc/systemd/resolved.conf我在(systemd-resolved)中设置了一些自定义 DNS 服务器

我也在使用网络管理器。

/etc/systemd/resolved.conf中设置的服务器是1.1.1.1和1.0.0.1

现在的输出sudo resolvectl status看起来像:

Global
         Protocols: -LLMNR -mDNS +DNSOverTLS DNSSEC=no/unsupported
  resolv.conf mode: stub
Current DNS Server: 1.0.0.1
       DNS Servers: 1.0.0.1 1.1.1.1

Link 2 (enp8s0)
    Current Scopes: DNS
         Protocols: +DefaultRoute +LLMNR -mDNS +DNSOverTLS DNSSEC=no/unsupported
Current DNS Server: 192.168.0.1
       DNS Servers: 192.168.0.1 192.168.0.2

如何使enp8s0接口的 DNS 服务器(来自 DHCP)消失或显示全局部分中的 DNS 服务器?

到目前为止,我已经尝试了多种解决方案(例如设置ignore-auto-dns,如:nmcli conn modify "WiredETH" ipv4.ignore-auto-dns yes和),但没有一个改变此接口nmcli conn modify "WiredETH" ipv6.ignore-auto-dns yes的输出。sudo resolvectl status

谢谢

答案1

/run/systemd/resolve/stub-resolv.conf按照建议写入 dns 配置Arch Linux 维基。然后创建符号链接。

sudo ln -rsf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
sudo systemctl restart systemd-resolved.service

相关内容