可能なさまざまなネームサーバー構成間の関係

可能なさまざまなネームサーバー構成間の関係

使用されるDNSサーバーを構成できる場所はたくさんありますが(IMHO、あまりにも多い)、互いにどのように関連しているのかわかりません。いくつかの質問は次のとおりです。条件付きでのみ照会される構成は何ですか(たとえば、私が正しく理解している場合、そのサービスが実行されていないとsystemd構成は照会されません)。どの構成がどの構成を上書きしますか? DNSを設定するための推奨される方法は何ですか?

DNSサーバーを構成できる場所(および他の情報について誤解がある場合は訂正してください)を提供するには、

  1. 再起動後も強制的に持続するように作成して/etc/resolv.conf使用しますchattr(推奨されないようです)。
  2. resolvconf。各ファイルで設定します/etc/resolvconf/resolv.conf.dresolvconf -aDNSを追加してresolvconf -u更新するには
  3. systemd-resolve(d)、1つの単位systemd。 NETはそのアドレスを仮想DNSリゾルバとして/etc/systemd/resolvd.conf使用します。実際のバージョンが存在します。最新バージョン(どのバージョン以降?)では、現在のDNSステータスを照会するために使用できます。127.0.0.53/etc/resolv.confresolv.conf/var/run/systemd/resolve/resolv.confsystemd-resolve --status
  4. /etc/network/interfaces。これは一緒に行く/etc/systemd/system/network-online.target.wants/networking.service
  5. Network-Manager、GUIでネットワーク設定コンテキストメニューを駆動するコンポーネントです。インターフェイスがで設定されている場合は、GUIコンテキストメニューに示す/etc/network/interfacesように再管理を拒否します。not managed

Ubuntu 18.04 LTSUnityデスクトップ環境を使用して実行されています。

答え1

DNSを設定するための推奨される方法は何ですか?

...

Unityデスクトップ環境を使用してUbuntu 18.04 LTSを実行しています。

可能な場所、以下を使用することをお勧めします。

5. GUIでネットワーク構成コンテキストメニューを駆動するコンポーネントであるNetwork-Manager。

たとえば、公式のUbuntuデスクトップガイドには次のようなものがあります。これが最新であることを確認していませんが、疑う理由はありません。

https://help.ubuntu.com/lts/ubuntu-help/net-manual.html.en

ネットワークがコンピュータにネットワーク設定を自動的に割り当てない場合は、手動で設定を入力する必要があります。このトピックでは、使用する正しい設定を既に知っていると想定しています。そうでない場合は、ネットワーク管理者に連絡するか、ルーターまたはネットワークスイッチの設定を確認する必要があります。

ネットワーク設定を手動で設定するには:

...

7. DNSセクションで...


ほとんどのシステムではコンテンツのみを表示できます/etc/resolv.conf。 (しかし、このファイルの内容を編集するさまざまなシステムがあるかもしれません。)

Patrickが指摘したように、一部のシステムでは優先順位の高いプラグインがありますgrep '^hosts:' /etc/nsswitch.confdnsを読む標準のglibcプラグインです/etc/resolv.conf

特に、resolve以前にそのような経験があった場合、dnsこれはまさにあなたが言うことですsystemd-resolvedsystemd-resolvedDNSサーバーが使用される前にDNSサーバーにアクセスしようとします/etc/resolv.conf

systemd-resolved指摘したとおりに実行すると、どのDNSサーバーが照会できるかを確認できますsystemd-resolve --status

指摘したように、NetworkManagerメソッドは手動編集と互換性がないと予想されます/etc/resolv.conf(NetworkManagerがファイル自体を編集するため)。もちろん、NetworkManagerが編集するのを防ぐと、/etc/resolv.confNetworkManagerメソッドは機能しません。

関連情報