我正在运行 18.04。我所在的网络运行着各种系统,但其理念非常苹果化。他们使用 Bonjour 进行发现。这在我的机器上不起作用。如果我 ping .local 名称,我会得到“名称或服务未知”的信息。如果我使用 avahi-browse -arl,它只会停留在那里,不会列出任何内容。
我查看了 nsswitch.conf 并尝试了 msdn 的各种组合,并且删除了失败时返回的子句。
我的适配器是一个桥接 Tap 接口,用于支持 kvm vm 实例。使用 Wireshark 观察,在 ping 时,我可以看到 mdns 为该地址发送了 3 个 qm 问题。我没有看到具体的响应。我可以看到网络上的其他设备正在使用 mdns 多播。
我不确定如何进一步排除故障。我猜想我的盒子发出的多播没有通过桥接到电线上,但我不确定。
答案1
Ubuntu 包含 Avahi 服务,该服务使用 .local 域作为多播 DNS 区域。例如,如果您的网络上有一个名为“ubuntu”的 Ubuntu 系统,则可以通过地址“ubuntu.local”访问它。为此,Avahi 会自动接管所有以“.local”结尾的 DNS 请求并阻止它们正常解析。如果您所在的网络有以 .local 结尾的现有 DNS 地址,例如 Windows Small Business Server 网络,则必须将 Avahi 的域从 .local 更改为其他域,然后 .local 地址才能正常解析。
单击应用程序菜单中的“终端”快捷方式启动终端窗口。在 Ubuntu 的默认桌面上,单击屏幕左上角的“Dash Home”图标,输入“终端”并按Enter。
在终端中输入以下文本,然后按Enter
sudo nano /etc/avahi/avahi-daemon.conf
在密码提示符下输入您的密码,然后按Enter。
使用箭头键向下滚动并找到
#domain-name=.local
下面的行[server]
。删除“#”符号并将“local”更改为“alocal”,使得该行显示为:
domain-name=.alocal
按Ctrl+O然后按下Enter在 Nano 中保存 Avahi 的配置文件。
按Ctrl+X退出 Nano。以 .local 结尾的地址现在将正确解析。