Questions tagged «avahi»

5
主机名中可以有点吗?
我在Linux机器的主机名中使用了像a.alpha这样的名称,但是它暗示这些名称不能完全使用。主机名外壳命令的响应是正确的(a.alpha)。但是在我的用户帐户之后打印的名称是“ user @ a”,而不是“ user@a.alpha”。使用avahi时,可以(按主机名)访问a.alpha,但不能访问b.alpha。那是正常的吗?

1
在iPad上的DreamPlug Ubuntu上使用Avahi
在DreamPlug(这是运行Ubuntu Jaunty的即插式计算机)上使用Avahi时,我遇到以下非常特殊的问题。 花了几天时间之后,我认为我已经设法缩小了问题的范围。 DreamPlug充当WiFi接入点,具有主机名plug和IP地址192.168.1.1(在/etc/hosts和中设置/etc/hostname),并运行lighttpd。 现在,我的Mac可以直接http://plug.local在Chrome中访问,但是如果我尝试http://plug.local在iPad上加载,它将无法正常工作。就是说,直到我将页面加载到桌面上,它才起作用。 由于某种原因,iPad永远无法解析主机名,直到在Mac上首先解析主机名为止。相同的访问点(DreamPlug)。 因此,请再次澄清一下:http://plug.local除非我http://plug.local在Mac上访问,运行ping plug.local,执行ssh root@plug.local或基本上执行任何其他可解析主机名的操作,否则iPad上的Safari浏览器将在访问时挂起(直到报告浏览失败),此时iPad会立即解析该主机名。主机名,它开始正常工作。 如果我的理解是正确的,则在连接iPad时,它们会广播的解析请求plug.local。无论出于何种原因,DreamPlug都会忽略此请求(或者永远不会收到它)。但是,Mac 确实可以广播其请求。它广播一个解析请求,然后DreamPlug brodcast返回结果plug.local-> 192.168.1.1。然后,iPad收到此结果(该结果确实是Mac的),然后可以成功解析。 我很乐意根据要求提供我的avahi-daemon.conf配置文件或其他配置文件。 更新:我现在设法使用Wireshark,发现iPad确实确实向网络广播了一个请求。 我捕获了DID导致Avahi做出响应的数据包,以及没有得到的数据包。 它们看起来完全相同,唯一的区别是,失败的记录指定了其他类型的RR OPT...我不知道OPT记录是什么。难道是Avahi不喜欢OPT出于某种原因附有RR的DNS查询吗? 这是Wireshark的两个屏幕截图。第一个显示了从台式计算机发送的“良好” mDNS请求(在这种情况下,该设备称为runway.local)。此查询工作正常,服务器(位于192.168.1.1)立即响应: 这是从返回的响应的示例runway.local: 同时,这是第二个DNS查询,该查询已从iPad发送给相同的主机名runway.local。在这种情况下,该请求似乎被简单地忽略了(无论如何,此DNS查询始终没有收到响应): 尝试查找导致问题的iPad请求中的内容,这两个数据包几乎相同,从台式机(运行OS X)和iPad发送的mDNS查询之间唯一的区别是iPad附加了OPT在DNS请求底部的资源记录。 问题是:资源记录的意义是什么-是-还是其他原因-导致该DNS请求被Avahi忽略。 更新这可能是我一直在寻找的突破: 我一直在使用--debug标志运行avahi-daemon,并且注意到很多“无效的查询数据包”。消息。这导致我转到此页面:http : //avahi.org/ticket/284,这似乎是一个已知问题(尽管应该解决)。 特别: 一个tcpdump使我相信这是由于Mac OS 10.6使用RFC2671在DNS查询的其他数据部分中添加了信息。具体来说,它提供“ UDP有效负载大小”(在我的情况下为1440)作为响应包最大大小的提示。[...] Avahi认为带有非空附加数据节的查询无效,在此之前,Avahi会在生成无效查询数据包消息之前检查AVAHI_DNS_FIELD_ARCOUNT!= 0。

1
有没有办法设置Avahi在LAN上实现“任意播名称解析”?
首先,有一些背景知识:我们有一个实验室,其中包含一些在隔离的LAN上运行的专用Linux服务器。所有服务器都运行相同的OS(Debian Linux)和相同的专有服务器软件,并且服务器进程相互通信以保持其数据同步。这意味着就任何客户端而言,客户端连接到哪个服务器都没有关系-任何服务器都将返回与其他服务器相同的数据。 这些Linux服务器都运行avahi-daemon为其自身发布mDNS主机名,这意味着客户端可以输入“ http://linux-server-1.local”。进入他的Web浏览器并连接到Linux服务器1,依此类推。 一切都很好,除了这意味着坐在客户端计算机(通常是安装了Bonjour的Mac或Windows笔记本电脑)上的用户必须知道(或弄清楚)哪些Linux服务器当前在线,并且他必须确保他连接到其中之一。例如,如果服务器#2今天离线,并且客户端输入“ http://linux-server-2.local”。进入他的网址栏,他不会得到回应。当然,这还不是世界末日,但对于希望一切都能“正常运行”的新手用户而言,这很烦人,而且这会使健壮的客户端脚本的开发变得更加复杂(因为客户端脚本将需要知道如何明确处理离线服务器)。 考虑到这一点,我的问题是:是否可以将Avahi配置为发布任意播样式mDNS主机名别名?目标是任何人都可以坐在笔记本电脑上,输入“ http://any-linux-server.local”。(或类似),并连接到当前在线的一台服务器(再次,哪一台都没有关系)。 请注意,这需要在不对客户端便携式计算机进行任何特殊配置的情况下进行,因为我们无法控制它们(除了要求他们安装Bonjour之外)。 还要注意,我们不能依赖于单独的名称服务器或代理服务器,也不可以依赖于任何特定的Linux服务器,因为那样会引入单点故障,我们试图避免这种情况。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.