dnsmasqがローカルホスト名の複数のドメインを解決できるようにする

dnsmasqがローカルホスト名の複数のドメインを解決できるようにする

私はPi-hole 5.18.2の一部としてDebian 11.0ベースのDockerコンテナ内でdnsmasq 2.90を実行しています。

ローカルアプリケーションにハードコードされた.localドメインがあるため、ローカルホスト名で複数のローカルドメイン(.localと.subdomain.mydomain.com)のアドレスを提供するようにdnsmasqを設定したいと思います。一度に 1 つのドメインでのみ動作させることができます。

このコンテナは、私のローカルネットワークにDNSとDHCPサービスを提供します。 Piホール設定の一部としてインストールaddn-hosts=/etc/pihole/local.listに追加します。このリストには、ローカルおよびローカルでアクセス可能なサブネットの約30個のIPアドレスとホスト名のリストが含まれています。.conf/etc/dnsmasq.d

192.168.1.10 server01
192.168.2.20 server02
100.115.x.x server03

dnsmasqはにインストールされている別の設定ファイルで指定されているようにDHCPを介してローカル検索ドメインを提供しますdomain=subdomain.mydomain.comdhcp-option=option:domain-search.subdomain.mydomain.com/etc/dnsmasq.dlocal=/subdomain.mydomain.com/

この検索ドメインは、DNS サーバーの IP とともにクライアントに承認され、期待どおりに実装されました。

❯ cat /etc/resolv.conf
search subdomain.mydomain.com
nameserver 192.168.2.2

nslookupホスト名のAはaddn-hosts期待どおりに機能し、検索サフィックスを追加して正しい結果を返します。

❯ nslookup
> server01
Server:     192.168.2.2
Address:    192.168.2.2#53

Name:   server01.subdomain.mydomain.com
Address: 192.168.1.10

server01.localに対して同じIPを返したいです。

> server01.local
Server:     192.168.2.2
Address:    192.168.2.2#53

** server can't find server01.local: NXDOMAIN

別のエントリをlocal=/subdomain.mydomain.com/local/使用または使用せずに.configファイルにローカルを追加してみました。これは、動作を変更しない場合(またはこれら2つの項目を追加する場合)nslookupが 。domain=/subdomain.mydomain.com/local/domain=subdomain.mydomain.com domain=localdomain=.local.subdomain.mydomain.com

dnsmasqがドメインのホスト名IP.localで応答するようにするにはどうすればよいですか?.subdomain.mydomain.com

答え1

未来にこれを知る人がいれば(普通のように)私が愚かだという答えが出るでしょう。

.localはmDNS用に予約されています。だから私のdnsmasqデバイスで.localを解決しようとし、.localを解決できることを発表することでmDNSが壊れています。また、nslookupを使用して解析をテストしましたが、mDNSクエリを解析できませんでした。

dnsmasqから.localへのすべての参照を削除し、サービスを再起動し、DHCPリースを更新し、pingを介して.local検証をテストすると正常に動作します。

関連情報