标签: avahi

.local、.home 和 .lan 之间有什么区别?

如何可靠地寻址网络上的不同机器?

我以前一直使用.local后缀与本地网络上的计算机交谈。但是,使用新路由器.local很少(尽管有时)起作用。我发现,.home.lan两个平时工作,但并非总是如此。

.-------.   .--------.                 .-----.
| modem |---| router |))))))(wifi))))))| foo |
.-------.   .--------.         v       .-----.
   ||            |             v
 /_^_^_\         |             \))))))).-----.
/ cloud \        |                     | bar |
 \-_-_-/      .-----.                  .-----.
              | baz |
              .-----.
Run Code Online (Sandbox Code Playgroud)

因此,从终端上foo,我可以尝试:

ssh bar.local
ssh bar.home
ssh bar.lan

ssh baz.local
ssh baz.home
ssh baz.lan
Run Code Online (Sandbox Code Playgroud)

有时这些后缀中的一些有效,一些无效,但我不知道如何预测哪个或何时。

foo, bar, 和baz都是现代 Linux 或 Android 系统,并且 Linux 机器都安装了(或可以安装)avahi-daemon 或其他合理可用的软件包

(我不想设置静态 IP 地址:我想继续为每台机器使用 DHCP(来自路由器),即使我对静态地址没问题,我也希望能够在其中输入主机名无根 …

networking avahi

32
推荐指数
1
解决办法
3万
查看次数

在 RHEL 7 服务器上使用 avahi 的目的是什么?

使用 CentOS 7 运行服务器机器,我注意到 avahi 服务默认运行。

我有点想知道它的目的是什么。

它似乎做的一件事(在我的环境中)是随机禁用 IPv6 连接,在日志中看起来像这样:

Oct 20 12:23:29 example.org 
  avahi-daemon[779]: Withdrawing address record for fd00::1:2:3:4 on eno1
Oct 20 12:23:30 example.org
  Withdrawing address record for 2001:1:2:3:4:5:6:7
Oct 20 12:23:30 example.org
  Registering new address record for fe80::1:2:3:4 on eno1.*.
Run Code Online (Sandbox Code Playgroud)

(后缀1:2:3...是编的)

事实上,在此之后,公共2001:1:2:3:4:5:6:7IPv6 地址将不再可访问。

因此,我通过以下方式禁用了 avahi 服务:

# systemctl disable avahi-daemon.socket avahi-daemon.service
# systemctl mask avahi-daemon.socket avahi-daemon.service
# systemctl stop avahi-daemon.socket avahi-daemon.service
Run Code Online (Sandbox Code Playgroud)

到目前为止,我还没有注意到任何限制。

因此,我的问题是关于服务器系统上 avahi 的用例。

rhel centos avahi ipv6

22
推荐指数
2
解决办法
5万
查看次数

avahi 守护进程是什么?

我刚刚学习守护进程,那时我开始了解 avahi 守护进程,您能详细解释一下 avahi 守护进程以及为什么 linux 有一个 avahi 用户吗?

linux avahi daemon

14
推荐指数
1
解决办法
3万
查看次数

avahi-daemon 和“.local”域问题

我有一个基于Ubuntu 16.04的 HTPC/媒体服务器,它运行24/7。据我记得使用官方 Ubuntu 发行版,我一直对avahi-daemon有问题。这个问题在网上经常讨论。有些人决定只删除守护程序,但是,我实际上需要它,因为我正在运行 CUPS 服务器并使用 Kodi 作为我的 AirPlay 接收器。

问题

mDNS/DNS-SD 本质上与单播 DNS 区域 .local 不兼容。我们强烈建议不要在这样的网络设置中使用 Avahi 或 ?nss-mdns。注意:nss-mdns 通常不与 Avahi 捆绑在一起,需要单独下载和安装。(avahi.org)

症状很简单 - 在大约 2-4 天的正常运行时间后,网络连接将中断,这将被记录

Mar 17 18:33:27 15 avahi-daemon[1014]: Withdrawing address record for 192.168.1.200 on enp3s0.
Mar 17 18:33:27 15 avahi-daemon[1014]: Leaving mDNS multicast group on interface enp3s0.IPv4 with address 192.168.1.200.
Mar 17 18:33:27 15 avahi-daemon[1014]: Interface enp3s0.IPv4 no longer relevant for mDNS.
Run Code Online (Sandbox Code Playgroud)

如果您以物理方式重新连接以太网插头,或者重新连接软件端,网络将 …

linux dns avahi

13
推荐指数
2
解决办法
3万
查看次数

avahi-daemon 从我的网络接口中提取 IP 地址

我在本地网络中运行 Arch Linux 服务器。它运行着 avahi-daemon 来宣传一些服务(如打印服务器)。

现在我的服务器不再可用,这是第二次发生。经过一番调查,我发现它的 IPv4 地址已从网络接口中删除,日志中包含以下消息:

Feb 04 22:36:34 edeltraud avahi-daemon[389]: Withdrawing address record for 192.168.168.23 on enp0s25.
Feb 04 22:36:34 edeltraud avahi-daemon[389]: Leaving mDNS multicast group on interface enp0s25.IPv4 with address 192.168.168.23.
Feb 04 22:36:34 edeltraud avahi-daemon[389]: Interface enp0s25.IPv4 no longer relevant for mDNS.
Run Code Online (Sandbox Code Playgroud)

IP 地址由 DHCP 使用 systemd-networkd 配置。这是/etc/systemd/network/enp0s25.network

[Match]
Name=enp0s25

[Network]
DHCP=ipv4
IPForward=ipv4
DNS=85.214.20.141
DNS=213.73.91.35
DNS=2001:470:20::2

[DHCP]
UseDNS=false
Run Code Online (Sandbox Code Playgroud)

这可能是什么原因?

linux arch-linux dhcp avahi systemd-networkd

12
推荐指数
1
解决办法
1万
查看次数

多播多个 mdns 名称

我想要的是使用 avahi-daemon 多播一个名称。这样我就可以使用 domainA.local domainB.local 连接到它。

然后,我可以使用 nginx 将这些地址重新路由到不同应用程序的不同 Web 界面。

是否可以以多播多个名称的方式配置 avahi-daemon?

PS 使用 avahi-daemon 不是必需的。如果有另一个具有此功能的程序,我很乐意切换。

研究和结果

所以按照咕噜的建议,我首先尝试了 avahi-aliases。它在存储库中,但它似乎没有正确安装在我的系统上。根据说明应该在/etc/init.d/中安装了一个脚本,但没有。

然后我给了咕噜建议尝试的另一个链接,这立即奏效。它确实依赖于 python-avahi 并且只是需要在后台运行的 python 脚本的一个例子。我现在可以广播 domainA.local、domainB.local 和 domainC.local,并与 nginx 结合使用,这会导致机器上的不同 Web 界面,但都可以在端口 80 上访问。

更新

在对两者进行了更多的摆弄之后,我还发现 avahi-aliases 只能广播子域。因此,如果您的计算机名称是 elvispc,那么 avahi-aliases 只能广播 subdomainA.elvispc.local 和 subdomainB.elvispc.local,其中 python 脚本将广播任何名称。

avahi mdns

10
推荐指数
1
解决办法
6515
查看次数

与 Docker 容器之间的 mDNS

我制作了一个 Docker 容器,它运行一个forked-daapd(通过 mDNS 发布的 DAAP 服务器,使用单个端口 3689 用于 HTTP 请求)并将端口正确公开给主机操作系统:

sudo docker run -it --rm -v /home/naftuli/Music:/srv/music -p 3689:3689 \
    daapd /sbin/my_init
Run Code Online (Sandbox Code Playgroud)

问题是这个服务永远不会正确发布到 mDNS,因为它的 IP 地址(一些内部 Docker IP 范围)实际上不起作用。我可以用 运行它--net=host,但这可能非常危险,因为我基本上是将我的网络适配器交给容器。

有没有办法让我发布此服务并按计划进行映射工作?

avahi docker mdns

9
推荐指数
1
解决办法
7161
查看次数

如何从 iPad 打印到 CUPS?

我想从 iPad2 打印到在 CUPS 上运行的办公室打印机。遵循几个食谱样式的备忘单后,从 iPad 打印仍然无法正常工作。iPad 看到我创建的打印机条目并将其作为选项提供,但队列中没有任何显示,也没有打印机输出。服务器上的本地打印作业有效,因此 CUPS 可以识别打印机并与打印机配合使用。Avahi-discover 列出打印机并将转储相关的 XML 文件。服务器是 Ubuntu 10.10。

此处概述了所使用的程序。

这个页面有一个更简单的食谱。

任何提示表示赞赏。

编辑:

今天,我禁用了服务器上的防火墙。现在,当尝试打印时,此消息会重复出现在 CUPS error_log 中:

E [13/Jul/2011:10:17:15 -0400] Request from "192.168.x.y" using invalid Host: field "server.local"
Run Code Online (Sandbox Code Playgroud)

服务器的名称是 server.local,可以使用该名称访问它。地址“192.168.xy”是 iPad 的地址。

linux printing cups avahi

8
推荐指数
1
解决办法
5428
查看次数

如何在不卸载的情况下禁用 avahi-daemon

我正在运行 Kali 2.0 64 位,最近我注意到 avahi-daemon 在启动时启动,监听几个 udp 端口​​。

如何在不清除软件包本身的情况下完全禁用它?

我试过了 sudo rcconf --off avahi-daemon

但是有一个警告: 服务“avahi-daemon”已经关闭。跳过...

然后我尝试 sudo update-rc.d -f avahi-daemon remove

它不会产生任何错误或警告,但 avahi-daemon 在启动时仍然存在。

然后我尝试通过添加来编辑/etc/default/avahi-daemon文件AVAHI_DAEMON_START = 0

但这也行不通。

我终于使用了 UPSTART 手动覆盖 -->> echo manual | sudo tee /etc/init/avahi-daemon.override

而且还是不行。

请帮忙,

我已经无计可施了!

谢谢你。

debian avahi kali-linux

8
推荐指数
3
解决办法
5万
查看次数

avahi-browse -a 不显示任何结果

avahi-daemon在 Debian 9.1 服务器上运行;但是,avahi-browse -a在我的家庭网络(由单个网络组成)中不显示任何服务192.168.178.0/24

我可以访问所有客户端(ping在适用的情况下使用 和进行测试ssh)并且

server# tcpdump port 5353
Run Code Online (Sandbox Code Playgroud)

给出了我的客户的大量输出,例如,

15:30:07.206879 IP Client-OSX.fritz.box.mdns > 224.0.0.251.mdns: 0 [20a] [9q] PTR (QM)? _services._dns-sd._udp.local. PTR (QM)? _http._tcp.local. PTR (QM)? _ipp._tcp.local. PTR (QM)? _pdl-datastream._tcp.local. PTR (QM)? _printer._tcp.local. PTR (QM)? _scanner._tcp.local. PTR (QM)? _privet._tcp.local. PTR (QM)? _http-alt._tcp.local. PTR (QM)? _ssh._tcp.local. (847)
Run Code Online (Sandbox Code Playgroud)

但是,我的客户端看不到我的服务器,反之亦然,但客户端可以看到彼此的服务,例如,

client1# avahi-browse -a
+ enp0s25 IPv6 client2      SSH Remote Terminal  local
+ enp0s25 IPv4 my-printer   _privet._tcp         local
...
Run Code Online (Sandbox Code Playgroud)

/etc/avahi/avahi-daemon.conf:

[server] …
Run Code Online (Sandbox Code Playgroud)

networking debian avahi

7
推荐指数
2
解决办法
1万
查看次数