Xubuntu 22.04:PXE/覆盖启动后没有 DNS

Xubuntu 22.04:PXE/覆盖启动后没有 DNS

我在服务器上使用 dnsmasq 通过 PXE(传统 BIOS 和 UEFI)启动我们的客户端;NFS 根目录是只读的,客户端使用覆盖根目录。这对于 Xubuntu 18.04 客户端来说效果很好。

升级到 22.04 后,生成的客户端系统没有 DNS 解析:我可以 ping 一个 IP 地址,但ping google.com给出错误“名称解析暂时失败”。

我已经使用全新 22.04 安装重现了该问题(使用提供的 iso 进行最低安装https://xubuntu.org/release/22-04/加上 overlayroot 包)。

我使用了以下诊断:

$ resolvectl  Global
       Protocols: -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported resolv.conf mode: stub

Link 2 (enp0s3) Current Scopes: none
     Protocols: -DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported

$ nmcli d show
GENERAL.DEVICE:                         enp0s3
GENERAL.TYPE:                           ethernet
GENERAL.HWADDR:                         08:00:27:52:C3:FC
GENERAL.MTU:                            1500
GENERAL.STATE:                          100 (connected (externally))
GENERAL.CONNECTION:                     enp0s3
GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/ActiveConnection/1
WIRED-PROPERTIES.CARRIER:               on
IP4.ADDRESS[1]:                         192.168.8.2/24
IP4.GATEWAY:                            192.168.8.100
IP4.ROUTE[1]:                           dst = 0.0.0.0/0, nh = 192.168.8.100, mt = 0
IP4.ROUTE[2]:                           dst = 192.168.8.0/24, nh = 0.0.0.0, mt = 0
IP4.ROUTE[3]:                           dst = 169.254.0.0/16, nh = 0.0.0.0, mt = 1000
IP6.ADDRESS[1]:                         fe80::a00:27ff:fe52:c3fc/64
IP6.GATEWAY:                            --
IP6.ROUTE[1]:                           dst = fe80::/64, nh = ::, mt = 256

GENERAL.DEVICE:                         lo
GENERAL.TYPE:                           loopback
GENERAL.HWADDR:                         00:00:00:00:00:00
GENERAL.MTU:                            65536
GENERAL.STATE:                          10 (unmanaged)
GENERAL.CONNECTION:                     --
GENERAL.CON-PATH:                       --
IP4.ADDRESS[1]:                         127.0.0.1/8
IP4.GATEWAY:                            --
IP6.ADDRESS[1]:                         ::1/128
IP6.GATEWAY:                            --
IP6.ROUTE[1]:                           dst = ::1/128, nh = ::, mt = 256

我找到了两种解决方法:

  1. 手动启动 dhclient:$ sudo dhclient

  2. 在 nm-connection-editor 中更改配置:启动编辑器时,我有一个名为“enp0s3”的最近使用的配置条目。在“IPv4 设置”选项卡上:将方法从“手动”更改为“自动(DHCP)”

dhclient 运行后,resolvectl 会显示有效的 DNS 配置:

$ resolvectl 
Global
       Protocols: -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
resolv.conf mode: stub

Link 2 (enp0s3)
    Current Scopes: DNS
         Protocols: +DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
Current DNS Server: 192.168.8.100
       DNS Servers: 192.168.8.100
        DNS Domain: my.domain

这两种解决方案似乎都不能完全令人满意...有人可以帮忙找到问题的根本原因并以稳定的方式(甚至可能是上游)修复它吗?

相关内容