/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
はどういう意味ですか?
ありがとう。
/etc/resolve.conf
はDNSクライアントのメイン構成ファイルであるため、その存在はDNSを実行していることを意味しませんサーバー。
その主な目的は、DNSサーバーのIPアドレスをリストすることです。
ネームサーバー127.0.0.53
nameserver
のエントリは、使用するDNSサーバーをホストに通知します。domain
のエントリ(存在する場合)は、それがどのドメインにあるかをシステムに通知します。これにより、ホスト名でアドレス指定できます。 (コメントへの追加:ホスト名はネットワーク内のコンピューターの名前です。多くのシステムでは、コマンドプロンプトでホスト名を確認できます。そうでない場合は、コマンドhostname
を使用して検索できます。 )search
(存在する場合)のエントリは、異なるドメインのコンピューターがそれぞれのホスト名で互いにアドレス指定できるようにします。現在、このファイルは通常NeteworkManager
(たとえば、私のシステムでは、「Generated by NetworkManager」で始まるファイル)またはsystemd-resolved
によって生成されます。
ローカルアプリケーションにネットワーク名解決を提供するシステムサービスです。キャッシングと検証のDNS/DNSSECスタブリゾルバー、およびLLMNRとMulticastDNSリゾルバーとレスポンダーを実装します。
また systemd-resolvedのマンページ によると、アドレス127.0.0.53
は「ローカルDNSスタブリスナー」です。関連するStack Exchangeサイトでは、ファイルが/etc/resolv.conf
が自動的に生成されるため、これを変更する方法についての質問がありました。例を見る
はい、最初の部分は、システムがネームサーバーがlocalhost
、この場合は127.0.0.53
をリッスンすることを期待していることを示しています。
2番目の部分は、ピリオド(.
)で終わらないすべての検索に追加される検索パスです。たとえば、ssh blah
を実行すると、DNSは最初にblah
の検索を試み、次にblah.fios-router.home
の検索を試みます。
search fios-router.home
部分は最後の解決可能なドメイン、つまりルーター(iirc Verizon)です。
127.0.0.53はネームサーバーのIPアドレスなので、想定は正しいです。
resolv.conf
は、ホスト名をIPアドレスに解決する標準的な方法の一部です。リゾルバライブラリの一部です。
ホスト名を解決するには、いくつかの方法があります。
/etc/hosts
)それらが使用されるシーケンスは/etc/nsswitch.conf
にあります。これは通常言う
hosts: files dns
つまり、リゾルバライブラリは最初に/etc/hosts
を検索し、見つからない場合はDNSを使用します。
これで、DNSはDNSサーバーを照会します。どちらが/etc/resolv.conf
によって決定されます。さらに、DNS解決を支援するために使用できるいくつかの追加パラメーターがあり、その中でsearch
(ホストに対して最初にこのドメインを試す)がおそらく最も使用されます。