Fedora 39 系统上主机名解析失败

Fedora 39 系统上主机名解析失败

我的 Fedora 系统之一经常无法进行 DNS 解析。两者都ping host.ext失败nslookup host.ext。当我编辑/etc/resolv.conf为 usenameserver 1.1.1.1而不是时nameserver 127.0.0.53,nslookup 可以工作,但 ping 仍然失败。为什么运行时库不使用中列出的名称服务器/etc/resolv.conf

/etc/nsswitch.conf包含

# Generated by authselect
# Do not modify this file manually, use authselect instead. Any user changes will be overwritten.
# You can stop authselect from managing your configuration by calling 'authselect opt-out'.
# See authselect(8) for more details.

# In order of likelihood of use to accelerate lookup.
passwd:     files sss systemd
shadow:     files
group:      files sss systemd
hosts:      files myhostname resolve [!UNAVAIL=return] dns
services:   files sss
netgroup:   files sss
automount:  files sss

aliases:    files
ethers:     files
gshadow:    files
networks:   files dns
protocols:  files
publickey:  files
rpc:        files

我该如何解决这个问题?如何说服本地命名将其请求转发到外部名称服务器?

Linux 已经获得了所有这些小“有用”模块,但在我看来它们只是混淆了诸如此类的情况。

答案1

修复很简单,但令人惊讶:

systemctl enable systemd-timesyncd

在默认状态下,Fedora 不会安装真正的 BIND 名称服务器,而是在 IP 地址 127.0.0.53 上运行存根名称服务器(其中真正的 BIND 实例位于 127.0.0.1)。当系统时间严重失调时,该存根服务器将无法工作。 Fedora 不运行完整的 NTP 服务,但 systemd 有一个简化版本。然而,该简化的 ntp 服务默认情况下并未启用,并且由于 Raspberry PI 似乎没有硬件时钟,因此它经常出现错误的时间。

应用上述修复后,我能够执行就地 Fedora 版本升级,这是我以前无法做到的。

dnf system-upgrade download --releasever=39
dnf system-upgrade reboot

相关内容