DHCPを持つ複数のネットワークカードがある場合、DebianはどのようにDNSサーバーを選択しますか?

DHCPを持つ複数のネットワークカードがある場合、DebianはどのようにDNSサーバーを選択しますか?

最近、仮想マシンの1つに別のネットワークカードを追加する必要があり、いくつかの問題が見つかりました。 NIC2 は、NIC1 の dhcp サーバーから取得した DNS 設定を上書きすることがわかりました。明らかに静的にすることもできますが、そうすることは本当に避けたいと思います。あるネットワークカードを他のネットワークカードより優先する方法はありますか? Debian は DNS 設定をインポートする DHCP サーバをどのように決定しますか?

事前にありがとう

答え1

DHCPクライアントがファイルを直接上書きするように構成されている場合は、/etc/resolv.conf最後に作成されたDNSアドレスセットが優先され、インターフェイスが失敗した場合に設定が適用されます。特定のインターフェイスを設定する前にインターフェイスの終了順序がインターフェイスの起動順序とまったく逆でない場合、予期しない結果が発生する可能性があります。

(私の考えでは、DHCPはもともと構成するNICが1つしかない「シンプル」クライアント用に設計されているようです。 =異なるネットワーク上の複数のNICの場合、通常は静的IPアドレスを割り当てるのに十分です。

このresolvconfパッケージを使用してDNS設定を一元管理する場合、どのインターフェイスがどのDNS設定を提供するのかを覚えてすべてマージし、インターフェイスが無効になると、無効な設定インターフェイスを含まずに再マージされます。おそらくほとんどの場合、正しいことでしょう。

ただし、このコマンドを使用してのみ実際のDNSサーバー設定を表示および管理できsystemd-resolvedますresolv.conf。グローバルおよびリンクごとのDNS設定を理解し、既存のDNS設定よりも一般的です。nameserver 127.0.0.53resolvectlsystemd-resolved

たとえば、ネットワーク構成管理システムを使用している場合は、そのNetworkManagerすべての上に別のレイヤーが追加されます。


resolv.confクラシックベースのDNS設定(パッケージを含めるか除く)を使用している場合、DNSリゾルバライブラリは、リストされているすべてのネームサーバが交換可能であり、それによって同じ情報を使用できると想定しますresolvconf/etc/resolv.confしたがって、リゾルバーが最初に構成されたDNSサーバーから「この名前は存在しません」という応答を受け取った場合〜しないだろう別の構成のサーバーに2番目のコメントを依頼してください。 DNSでは、「対応する名前/情報はありません」はエラー条件ではなく、クエリに対して可能な有効な応答です。

resolv.conf特定のドメインに属する名前のクエリをあるDNSサーバーセットに送信し、別のクエリを別のサーバーセットに渡す設定が必要な場合は、これはクラシックDNS設定に基づいて実行できる操作ではないことに注意してください。もの。systemd-resolvedこれは「ルーティングドメイン」設定を使用して行うことができ、クラシックが必要な場合は適切な転送ルールで設定できる他のローカルDNSプロキシがresolv.conf必要です。dnsmasq

関連情報