web-dev-qa-db-ja.com

`/ etc / resolv.conf`の形式をどのように理解すればよいですか?

/etc/resolv.confの形式を理解するにはどうすればよいですか?

$ cat /etc/resolv.conf
# This file is managed by man:systemd-resolved(8). Do not edit.
#
# This is a dynamic resolv.conf file for connecting local clients to the
# internal DNS stub resolver of systemd-resolved. This file lists all
# configured search domains.
#
# Run "systemd-resolve --status" to see details about the uplink DNS servers
# currently in use.
#
# Third party programs must not access this file directly, but only through the
# symlink at /etc/resolv.conf. To manage man:resolv.conf(5) in a different way,
# replace this symlink by a static file or a different symlink.
#
# See man:systemd-resolved.service(8) for details about the supported modes of
# operation for /etc/resolv.conf.

nameserver 127.0.0.53
search fios-router.home

/etc/resolve.confのマンページは言う

異なる構成オプションは次のとおりです。

   nameserver Name server IP address

          Internet address of a name server that the resolver should
          query...

では、nameserver 127.0.0.53は、ローカルマシンがIPアドレスが127.0.0.53のDNSサーバーを実行していることを意味しますか?どうすればそのプロセスを知ることができますか?

   domain Local domain name.

          Most queries for names within this domain can use short names
          relative to the local domain.  If set to '.', the root domain
          is considered.  If no domain entry is present, the domain is
          determined from the local hostname returned by gethostname(2);
          the domain part is taken to be everything after the first '.'.
          Finally, if the hostname does not contain a domain part, the
          root domain is assumed.

この部分はどういう意味ですか?上記は、何かに設定できる値について述べているだけで、/ etc/resolv.confのこの部分の意味を説明していません。 /etc/resolv.confにこの部分がないのはなぜですか?

   search Search list for Host-name lookup.

          The search list is normally determined from the local domain
          name; by default, it contains only the local domain name.

この部分はどういう意味ですか? /etc/resolv.confのsearch fios-router.homeはどういう意味ですか?

ありがとう。

2
Tim

/etc/resolve.confDNSクライアントのメイン構成ファイルであるため、その存在はDNSを実行していることを意味しませんサーバー

その主な目的は、DNSサーバーのIPアドレスをリストすることです。

ネームサーバー127.0.0.53

  • タイプnameserverのエントリは、使用するDNSサーバーをホストに通知します。
  • タイプdomainのエントリ(存在する場合)は、それがどのドメインにあるかをシステムに通知します。これにより、ホスト名でアドレス指定できます。 (コメントへの追加:ホスト名はネットワーク内のコンピューターの名前です。多くのシステムでは、コマンドプロンプトでホスト名を確認できます。そうでない場合は、コマンドhostnameを使用して検索できます。 )
  • タイプsearch(存在する場合)のエントリは、異なるドメインのコンピューターがそれぞれのホスト名で互いにアドレス指定できるようにします。

現在、このファイルは通常NeteworkManager(たとえば、私のシステムでは、「Generated by NetworkManager」で始まるファイル)またはsystemd-resolvedによって生成されます。

systemd-resolved

ローカルアプリケーションにネットワーク名解決を提供するシステムサービスです。キャッシングと検証のDNS/DNSSECスタブリゾルバー、およびLLMNRとMulticastDNSリゾルバーとレスポンダーを実装します。

また systemd-resolvedのマンページ によると、アドレス127.0.0.53は「ローカルDNSスタブリスナー」です。関連するStack Exchangeサイトでは、ファイルが/etc/resolv.confが自動的に生成されるため、これを変更する方法についての質問がありました。例を見る

5
Tsundoku

はい、最初の部分は、システムがネームサーバーがlocalhost、この場合は127.0.0.53をリッスンすることを期待していることを示しています。

2番目の部分は、ピリオド(.)で終わらないすべての検索に追加される検索パスです。たとえば、ssh blahを実行すると、DNSは最初にblahの検索を試み、次にblah.fios-router.homeの検索を試みます。

3
doneal24

search fios-router.home部分は最後の解決可能なドメイン、つまりルーター(iirc Verizon)です。

127.0.0.53はネームサーバーのIPアドレスなので、想定は正しいです。

2
Radu Chirovici

resolv.confは、ホスト名をIPアドレスに解決する標準的な方法の一部です。リゾルバライブラリの一部です。

ホスト名を解決するには、いくつかの方法があります。

  • ファイル(特に:/etc/hosts
  • dNS
  • NIS、NIS +またはyp

それらが使用されるシーケンスは/etc/nsswitch.confにあります。これは通常言う

hosts:      files dns

つまり、リゾルバライブラリは最初に/etc/hostsを検索し、見つからない場合はDNSを使用します。

これで、DNSはDNSサーバーを照会します。どちらが/etc/resolv.confによって決定されます。さらに、DNS解決を支援するために使用できるいくつかの追加パラメーターがあり、その中でsearch(ホストに対して最初にこのドメインを試す)がおそらく最も使用されます。

1
Ljm Dullaart