私のFedoraシステムの1つはDNS解決に頻繁に失敗します。どちらもping host.ext
失敗しますnslookup host.ext
。代わりに/etc/resolv.conf
使用するように編集すると、nslookupは機能しますが、pingはまだ失敗します。ランタイムライブラリがにリストされているネームサーバーを使用しないのはなぜですか?nameserver 1.1.1.1
nameserver 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