为什么Windows'Bonjour(Apple one)不能自动解析foo.bar.local,当Ubuntu和macOS可以?
而不是每个操作系统都会解决foo.local的问题。这是我的avahi-daemon.conf:
[server]
host-name=foo
domain-name=bar.local
...
This discussion提到Windows的Bonjour实现不支持别名,这是罪魁祸首吗?
this tool与我的解决方案有何不同?
编辑:我不想设置别名。 foo.bar.local与bar.local不同。 我只想在同一个“域”下拥有不同的主机名。 例如,foo.bar.local是192.168.0.8而foo1.bar.local是192.168.0.9。 我不会在同一个网络中拥有foo.local,bar.local和foo.bar.local。我将使用foo.bar.local,只有foo变化(* .bar.local)
答案 0 :(得分:0)
根据我目前的发现,这似乎是故意的。摘录自source code(mdnsNSP.c中的mDNSResponder-878.30.4,功能NSPLookupServiceBegin):
// <rdar://problem/4050633>
// Don't resolve multi-label name
// <rdar://problem/5914160> Eliminate use of GetNextLabel in mdnsNSP
// Add checks for GetNextLabel returning NULL, individual labels being greater than
// 64 bytes, and the number of labels being greater than MAX_LABELS
replyDomain = translated;
while (replyDomain && *replyDomain && labels < MAX_LABELS)
{
label[labels++] = replyDomain;
replyDomain = GetNextLabel(replyDomain, text);
}
require_action( labels == 2, exit, err = WSASERVICE_NOT_FOUND );
如果名称具有两个以上的标签,则返回错误,例如foo.bar.local。
在测试中,我只是删除了最后一行。使用新版本,它可以成功解析带有多个标签的名称。到目前为止,我还没有遇到任何副作用。
有人知道不解析多标签名称的意图吗?