私は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.com
。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
ホスト名の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=local
domain=
.local
.subdomain.mydomain.com
dnsmasqがドメインのホスト名IP.local
で応答するようにするにはどうすればよいですか?.subdomain.mydomain.com
答え1
未来にこれを知る人がいれば(普通のように)私が愚かだという答えが出るでしょう。
.localはmDNS用に予約されています。だから私のdnsmasqデバイスで.localを解決しようとし、.localを解決できることを発表することでmDNSが壊れています。また、nslookupを使用して解析をテストしましたが、mDNSクエリを解析できませんでした。
dnsmasqから.localへのすべての参照を削除し、サービスを再起動し、DHCPリースを更新し、pingを介して.local検証をテストすると正常に動作します。