描述
本插件从本地网络读取 mDNS 记录,并根据这些记录对查询结果进行响应。
可通过标准 DNS 服务器访问,从而为非 mDNS 感知应用提供 mDNS 记录,非常有用。
语法
mdns example.com [minimum SRV records] [filter text] [bind address]
示例
此插件的使用需要有一个在本地网络上广播 mDNS 记录的系统。请注意,.local 域名将替换为已配置的域名。例如,在使用以下配置时,test.local
将变为 test.example.com
。
为记录指定域名。
example.com {
mdns example.com
}
使用 dig
进行测试
dig @localhost baremetal-test-extra-1.example.com
;; ANSWER SECTION:
baremetal-test-extra-1.example.com. 60 IN A 12.0.0.24
baremetal-test-extra-1.example.com. 60 IN AAAA fe80::f816:3eff:fe49:19b3
如果配置中指定了 minimum SRV records
,插件将在响应任何 SRV 记录之前等待,直到至少有该数量的 SRV 记录。minimum SRV records
的默认值为 3
。
example.com {
mdns example.com 2
}
这意味着,对于任何 SRV 记录,至少需要出现两个给定类型的 SRV 记录。如果仅找到一条记录,对该类型 SRV 记录的任何请求都将得不到结果。
如果配置中指定了 filter text
,插件将忽略其服务名称中不包含指定文本的任何 mDNS 记录。这允许在将 mDNS 服务用于非预期用途的环境中使用此插件。当 filter text
未被设置时,将处理所有记录。
example.com {
mdns example.com 3 my-id
}
此配置将忽略其服务名称中不包含字符串“my-id”的任何 mDNS 记录。
如果配置中指定了 bind address
,插件将只向相关接口发送 mDNS 流量。这防止在可能不希望发送多播数据包的接口上发送多播数据包。要在不设置过滤器的情况下使用 bind address
,将 filter text
设置为“”。
example.com {
mdns example.com 3 "" 192.168.1.1
}
此配置将仅向被分配了 192.168.1.1
地址的接口发送多播数据包。接口查找在发送 mDNS 查询时是动态的,因此,如果地址移至其他接口,插件将自动切换到该接口。