GNU/Linux >> Linux の 問題 >  >> Ubuntu

Resolv.confにネームサーバーを追加する必要がありますか?

ネットワークマネージャーを使用し、名前解決にsystemd-resolvedを使用するUbuntu 18.04(以前のバージョンからアップグレード)を実行しています。起動すると、イーサネット接続enp0s31f6 Network Managerによって起動され、DHCPを介して3つのネームサーバーアドレスが与えられます。10.1.13.1010.1.141.1010.1.13.36nmcliを実行しています は、「DNS構成」の下にある3つのネームサーバーを示しています。 systemd-resolve --statusを実行しています 「リンク2(enp0s31f6)」セクションの下にそれらを表示します。それぞれにpingを実行できます。他の接続はアクティブではありません。

testuser ☼ systemd-resolve --status
Global
          DNS Domain: (my org's domain)
          DNSSEC NTA: 10.in-addr.arpa
                      16.172.in-addr.arpa
                      168.192.in-addr.arpa
                      17.172.in-addr.arpa
                      18.172.in-addr.arpa
                      19.172.in-addr.arpa
                      20.172.in-addr.arpa
                      21.172.in-addr.arpa
                      22.172.in-addr.arpa
                      23.172.in-addr.arpa
                      24.172.in-addr.arpa
                      25.172.in-addr.arpa
                      26.172.in-addr.arpa
                      27.172.in-addr.arpa
                      28.172.in-addr.arpa
                      29.172.in-addr.arpa
                      30.172.in-addr.arpa
                      31.172.in-addr.arpa
                      corp
                      d.f.ip6.arpa
                      home
                      internal
                      intranet
                      lan
                      local
                      private
                      test

Link 3 (wlp4s0)
      Current Scopes: none
       LLMNR setting: yes
MulticastDNS setting: no
      DNSSEC setting: no
    DNSSEC supported: no

Link 2 (enp0s31f6)
      Current Scopes: DNS
       LLMNR setting: yes
MulticastDNS setting: no
      DNSSEC setting: no
    DNSSEC supported: no
         DNS Servers: 10.1.13.10
                      10.1.141.10
                      10.1.13.36
          DNS Domain: (my org's domain)

ただし、実際に名前を解決しようとすると、ネームサーバーの1つの名前であっても、dig 「接続がタイムアウトしました:サーバーに到達できませんでした」と主張しています。

testuser ☼ dig dcpdc001.(my org's domain)

; <<>> DiG 9.11.3-1ubuntu1.1-Ubuntu <<>> dcpdc001.(my org's domain)
;; global options: +cmd
;; connection timed out; no servers could be reached

この名前は10.1.13.10に解決される必要があることに注意してください 、最初のネームサーバー。

resolvconfを構成しました 動的更新を使用します。 /etc/resolv.conf /run/resolvconf/resolv.confを指します 。このファイルには(コメント以外の)のみが含まれています:

nameserver 127.0.0.53
search (my orgs local search domain)

nameserver 10.1.13.10を追加した場合 このファイルに手動で、突然dig は再び解決でき、ローカル名を確認する必要がある他のすべての問題も解決できます。ネームサーバーを削除すると、それが再び壊れます。

サーバーについてはよくわかりません。これらはWindowsベースのネットワークの一部ですが、resolv.confを編集すれば使用できます。 手動で行うので、それが問題になるとは思いません。これは、ドメインを使用するためにドメインに対して認証される必要がないことを意味します。 (Realmd / SSSDを使用してUbuntu経由でドメインに認証できますが、ドメインコントローラーを解決できない場合は認証できません…)

journalctl systemd-resolvedのエントリ 「DNSサーバー用の機能低下機能セットの使用」に関するメッセージをいくつか表示しますが、それらは3番目のネームサーバーのみを参照し、他のサーバーは参照しません。プライマリネームサーバーには何もありません。

resolv.confを手動で編集せずに、名前解決を機能させるにはどうすればよいですか。 起動するたびに?

resolv.confの内容を想定しています Network ManagerまたはSystemdで、ある種のローカルキャッシングリゾルバーが実行されていることを意味しますか?もしそうなら、それをバイパスすることで問題は解決しますか?

関連:リポジトリキーを追加できませんか?

systemd-resolvedのログレベルを上げました およびjournalctl -f -u systemd-resolved ショー:

Jul 20 10:33:23 heerij-ubuntu systemd-resolved[2352]: Got DNS stub UDP query packet for id 19836
Jul 20 10:33:23 heerij-ubuntu systemd-resolved[2352]: Looking up RR for dcpdc001.(org domain) IN A.
Jul 20 10:33:23 heerij-ubuntu systemd-resolved[2352]: Switching to DNS server 10.1.13.10 for interface enp0s31f6.
Jul 20 10:33:23 heerij-ubuntu systemd-resolved[2352]: Cache miss for dcpdc001.(org domain) IN A
Jul 20 10:33:23 heerij-ubuntu systemd-resolved[2352]: Transaction 12728 for <dcpdc001.(org domain) IN A> scope dns on enp0s31f6/*.
Jul 20 10:33:23 heerij-ubuntu systemd-resolved[2352]: Using feature level UDP+EDNS0+DO+LARGE for transaction 12728.
Jul 20 10:33:23 heerij-ubuntu systemd-resolved[2352]: Using DNS server 10.1.13.10 for transaction 12728.
Jul 20 10:33:23 heerij-ubuntu systemd-resolved[2352]: Sending query packet with id 12728.
Jul 20 10:33:23 heerij-ubuntu systemd-resolved[2352]: Processing query...
Jul 20 10:33:23 heerij-ubuntu systemd-resolved[2352]: Timeout reached on transaction 12728.

承認された回答:

Systemdには、systemd-resolvedという「スタブ」リゾルバーが付属しています。これによると、実際にはDNSサーバーとして使用することを意図したものではありません。

ええと、resolvedはDNSサーバーではなく、libcのようなDNSクライアントがそれらを解決できるように十分に優れているはずであり、ADビットを設定するのに十分な情報を持っています。

何らかの理由で、UbuntuはそれをDNSサーバーとして使用するように構成されており、実際には唯一のサーバーです。

バグ#1624320に関するコメントは、systemd-resolvedには3つの操作モードがあり、2番目のモードが私の問題を修正したことを指摘しています。つまり:

$ sudo rm -f /etc/resolv.conf
$ sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf

Ubuntu
  1. Ubuntu – Resolv.confを最新のLinuxディストリビューションで古い方法で機能させる方法は?

  2. Nameserver 127.0.1.1 Resolv.confで消えない!?

  3. Network Manager:Nmの更新/etc/resolv.confを停止する方法は?

  1. OpenvpnクライアントがDNS情報を取得していませんか?

  2. Ubuntu で resolv.conf を更新する方法

  3. resolv.conf を編集するにはどうすればよいですか?

  1. カスタムNameServer

  2. dnsmasq を再起動すると resolv.conf が上書きされ続け、dnsmasq が壊れる

  3. resolv.conf 内のネームサーバー エントリの数