Fedora 39 시스템에서 호스트 이름 확인에 실패했습니다.

Fedora 39 시스템에서 호스트 이름 확인에 실패했습니다.

내 Fedora 시스템 중 하나가 DNS 확인에 자주 실패합니다. 둘 다 ping host.ext실패합니다 nslookup host.ext. 대신 /etc/resolv.conf사용하도록 편집하면 nslookup은 작동하지만 ping은 여전히 ​​실패합니다. 런타임 라이브러리가 에 나열된 이름 서버를 사용하지 않는 이유는 무엇입니까 ?nameserver 1.1.1.1nameserver 127.0.0.53/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

관련 정보