まず、ローカルバインディングを使用し、DHCP提供のDNSをフォールバックとして使用するようにsystemd-resolvedを設定します。

まず、ローカルバインディングを使用し、DHCP提供のDNSをフォールバックとして使用するようにsystemd-resolvedを設定します。

私は毎日デスクトップコンピュータとしてFedora 36を使用しています。しかし、これの正しい設定を持つ人をオンラインで見つけることはできません。

systemd-resolvedデフォルトでは、すべてがタイトルにあります。ローカルバインドサーバーをDNSとして使用するための正しい構成を見つけたいのですが(これまでは複雑ではありません)。だけでなくDHCPが提供するDNSに置き換えます。

NetworkManagerこれまでに試したことは、まず次の設定を使用してDHCP提供のDNSでローカルバインドインスタンスを強制することです。

# /etc/dhcp/dhclient.conf
prepend domain-name-servers 127.0.0.1;
require subnet-mask, domain-name-servers;
# /etc/NetworkManager/conf.d/dhcp-client.conf
[main]
dhcp=dhclient

しかし、これはうまくいきません。systemd-resolvedローカルバインドサーバーより前にDHCPによって提供されたDNSを引き続き照会しています。

systemd-resolvedローカルバインドサーバーを照会する構成が見つかりました。

# /etc/systemd/resolved.conf
DNS=127.0.0.1 ::1
Domains=~.

ただし、DHCP提供のDNSに置き換えられるかどうかはわかりません。

答え1

独自のネームサーバーを実行している場合は、実際にはsystemd-resolved完全に無効にすることをお勧めします(とにかくDNSSECなどの特定のDNS機能を破壊することが知られています)。

systemctl disable systemd-resolved
systemctl stop systemd-resolved
systemctl mask systemd-resolved

その後、resolv.confファイルを制御するか、DHCPベースにすることができます。

rm -f /etc/resolv.conf
ln -s /run/NetworkManager/resolv.conf /etc/resolv.conf

関連情報