
私は、Pi-hole 5.18.2 の一部として、Debian 11.0 ベースの Docker コンテナ内で dnsmasq 2.90 を実行しています。
ローカル アプリケーションに .local ドメインがハードコードされているため、複数のローカル ドメイン (.local と .subdomain.mydomain.com の両方) のローカル ホスト名のアドレスを提供するように dnsmasq を構成したいと思います。一度に動作させることができるのは 1 つのドメインのみです。
このコンテナは、ローカル ネットワークに DNS および DHCP サービスを提供しています。Pi-hole セットアップの一部として、にマウントされたファイル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 は、 にマウントされた個別の設定ファイルで指定されているようにdomain=subdomain.mydomain.com
、また でローカル ドメインとして設定されているように、DHCP 経由でローカル検索ドメインを提供します。dhcp-option=option:domain-search.subdomain.mydomain.com
/etc/dnsmasq.d
local=/subdomain.mydomain.com/
この検索ドメインと DNS サーバーの IP は、クライアントによって期待どおりに受け入れられ、実装されます。
❯ cat /etc/resolv.conf
…
search subdomain.mydomain.com
nameserver 192.168.2.2
nslookup
ホスト名のAaddn-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
.config ファイルに、と の別々のエントリがlocal=/subdomain.mydomain.com/local/
ある場合とない場合の両方で、 local を追加しようとしました。これによって動作は変更されないか、(2 つのエントリを追加した場合) nslookup は では機能しますが では機能しなくなります。domain=/subdomain.mydomain.com/local/
domain=subdomain.mydomain.com
domain=local
domain=
.local
.subdomain.mydomain.com
.local
dnsmasq がドメインの両方に対してホスト名 IP で応答するようにするにはどうすればよいですか.subdomain.mydomain.com
?
答え1
将来これを見つけた人にとっての答えは(よくあることですが)私が愚かだったということです。
.localはmDNS用に予約されていますそのため、dnsmasq デバイスに .local を解決して .local を解決できることを通知するように指示することで、mDNS を破壊していました。また、mDNS クエリを解決しない nslookup を使用して解決をテストしていました。
dnsmasq 内の .local への参照をすべて削除し、サービスを再起動して DHCP リースを更新し、ping を介して .local 解決をテストすると、動作します。