TLDが指定されていない場合、getentがデフォルトで.stationを使用するのはなぜですか?

TLDが指定されていない場合、getentがデフォルトで.stationを使用するのはなぜですか?

現在の設定では、dnsmasqホームサーバー(Void Linux)で1つのインスタンスが実行されており、これをプライマリDNSとして使用する3つのGNU / Linuxデバイス(1 Manjaro、1 Arch、1 Linux Mint 20.1)があります。

関連性がないと思われる質問に対してmdnsを使用して名前解決をテストしていますがgetent、ログを表示して実行して、dnsmasqまだ指定されていない最上位ドメインが自動的に追加されることstrace getentを発見しました。getent.station

getent hosts home-server明らかにする

dnsmasq[24671]: query[AAAA] home-server.station from 192.168.0.6
dnsmasq[24671]: forwarded home-server.station to 9.9.9.9
dnsmasq[24671]: query[AAAA] home-server.station from 192.168.0.6
dnsmasq[24671]: forwarded home-server.station to 9.9.9.9
dnsmasq[24671]: query[AAAA] home-server.station from 192.168.0.6
dnsmasq[24671]: forwarded home-server.station to 9.9.9.9
dnsmasq[24671]: forwarded home-server.station to 95.216.24.230
dnsmasq[24671]: forwarded home-server.station to 89.233.43.71
dnsmasq[24671]: forwarded home-server.station to 78.46.244.143
dnsmasq[24671]: forwarded home-server.station to 146.255.56.98
dnsmasq[24671]: forwarded home-server.station to 78.46.244.143
dnsmasq[24671]: forwarded home-server.station to 146.255.56.98
dnsmasq[24671]: forwarded home-server.station to 78.46.244.143
dnsmasq[24671]: forwarded home-server.station to 146.255.56.98
dnsmasq[24671]: forwarded home-server.station to 45.90.57.121
dnsmasq[24671]: forwarded home-server.station to 80.67.169.40
dnsmasq[24671]: forwarded home-server.station to 104.244.78.231
dnsmasq[24671]: reply home-server.station is NXDOMAIN
dnsmasq[24671]: query[AAAA] home-server from 192.168.0.6

dnsmasqログと

socket(AF_INET, SOCK_DGRAM|SOCK_CLOEXEC|SOCK_NONBLOCK, IPPROTO_IP) = 4
setsockopt(4, SOL_IP, IP_RECVERR, [1], 4) = 0
connect(4, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("192.168.0.100")}, 16) = 0
poll([{fd=4, events=POLLOUT}], 1, 0)    = 1 ([{fd=4, revents=POLLOUT}])
sendto(4, "\2\17\1\0\0\1\0\0\0\0\0\0\vhome-server\7station"..., 37, MSG_NOSIGNAL, NULL, 0) = 3

getentに電話してくださいstrace

.stationTLDに関する情報が見つかりません。

getentこの基本的な動作が存在する理由と.stationそのソースを知っている人はいますか?

/etc/nsswitch.conf hostsManjaroの私の道

hosts: files mymachines mdns4_minimal [NOTFOUND=return] resolve dns mdns4 myhostname

ミント

hosts: files mdns4_minimal [NOTFOUND=return] dns myhostname

答え1

getent hostshosts実行ラインはnsswitch.conf何をすべきかを教えてくれます。straceユニキャストDNSクエリを192.168.0.100に送信していることを示します。

resolveユニキャストDNSを使用できる2つのホスト名解決サービスがありますdns。これらのいずれかまたは両方がstationDNSプライマリドメインとして使用されるように設定されています(おそらくDHCPクライアントによって)。

の場合をresolve実行しますresolvectl status。の場合をdns実行しますcat /etc/resolv.conf。これにより、どのDNS解決サービスstationにドメインが設定されているかを知らせます。

(通常のDNSを使用しないように設定しない限り、2resolveつを組み合わせて使用​​することはベルト構成と似ています。通常、どちらか一方のみが必要です。)resolvedns

NetworkManagerを使用してネットワークインターフェイスを設定し、DHCPを使用している場合は、最新のファイル(*.leaseまたはそれに対応するファイル、これはNetworkManagerが使用するように設定されているDHCPクライアントによって異なる場合があります)を見て、/var/lib/NetworkManager実際にIPアドレスを提供したDHCPサーバーを確認できます。あります。追加のDHCPオプションも付属しています。

DHCPサーバーによって提供されるDHCPオプションを表示するもう1つの方法は、実行して構成されnmcli c showた接続をリストし、アクティブな接続の名前を見つけて使用することですnmcli c show <name of active connection> | grep DHCP..OPTION

Vodafone Power Stationはルーターなので、ホームネットワークのDHCPサーバーとしても機能する可能性が高いです。.stationこれは、すべてのDHCPクライアントに伝播されるDNSドメインの工場出荷時の設定でもあります。ルータの設定で変更できます。

答え2

関係のない質問のために最終的に確認してみると、クライアントとして使用するすべてのディストリビューションで作成されました/etc/resolv.confNetworkManager

search station@ Kusalanandaの提案によると、Vodafone Power Stationはネットワーク管理者がIPアドレスを持つファイルにDNSサーバーとしてオプションを追加するように思われます。この行を削除すると、http://vodafone.stationFirefoxで名前解決が失敗します。サイトのDNSによって解決されました)

関連情報