使用されるDNSサーバーを構成できる場所はたくさんありますが(IMHO、あまりにも多い)、互いにどのように関連しているのかわかりません。いくつかの質問は次のとおりです。条件付きでのみ照会される構成は何ですか(たとえば、私が正しく理解している場合、そのサービスが実行されていないとsystemd構成は照会されません)。どの構成がどの構成を上書きしますか? DNSを設定するための推奨される方法は何ですか?
DNSサーバーを構成できる場所(および他の情報について誤解がある場合は訂正してください)を提供するには、
- 再起動後も強制的に持続するように作成して
/etc/resolv.conf
使用しますchattr
(推奨されないようです)。 resolvconf
。各ファイルで設定します/etc/resolvconf/resolv.conf.d
。resolvconf -a
DNSを追加してresolvconf -u
更新するにはsystemd-resolve(d)
、1つの単位systemd
。 NETはそのアドレスを仮想DNSリゾルバとして/etc/systemd/resolvd.conf
使用します。実際のバージョンが存在します。最新バージョン(どのバージョン以降?)では、現在のDNSステータスを照会するために使用できます。127.0.0.53
/etc/resolv.conf
resolv.conf
/var/run/systemd/resolve/resolv.conf
systemd-resolve --status
/etc/network/interfaces
。これは一緒に行く/etc/systemd/system/network-online.target.wants/networking.service
Network-Manager
、GUIでネットワーク設定コンテキストメニューを駆動するコンポーネントです。インターフェイスがで設定されている場合は、GUIコンテキストメニューに示す/etc/network/interfaces
ように再管理を拒否します。not managed
Ubuntu 18.04 LTS
Unityデスクトップ環境を使用して実行されています。
答え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.conf
。 dns
を読む標準のglibcプラグインです/etc/resolv.conf
。
特に、resolve
以前にそのような経験があった場合、dns
これはまさにあなたが言うことですsystemd-resolved
。systemd-resolved
DNSサーバーが使用される前にDNSサーバーにアクセスしようとします/etc/resolv.conf
。
systemd-resolved
指摘したとおりに実行すると、どのDNSサーバーが照会できるかを確認できますsystemd-resolve --status
。
指摘したように、NetworkManagerメソッドは手動編集と互換性がないと予想されます/etc/resolv.conf
(NetworkManagerがファイル自体を編集するため)。もちろん、NetworkManagerが編集するのを防ぐと、/etc/resolv.conf
NetworkManagerメソッドは機能しません。