Avahi 似乎在一段时间后停止发布/刷新服务

Avahi 似乎在一段时间后停止发布/刷新服务

首先,我查阅了几个Q/A,我可以确保以下几点得到满足:

  • IGMP 侦听不会被交换机/路由器过滤。

  • Bonjour 服务 ( mDNSResponder.exe) 在防火墙上被授予并允许UDP端口5353(窗户一侧)。

  • Avahi 配置正确(并且禁用了 ipv6)并且nssitch.conf已完成所需的修改

    hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4

  • Avahi-daemon 以及 bonjour 服务正在运行。

  • Windows 端ipv6在活动网络接口上被禁用,avahi-daemon 也配置为不使用 ipv6: use-ipv6=no

Pi 的 mDNS 问题

一段时间后,从 Windows 发出 a 后,与树莓派对应的主机名.local不再解析ping pi.local,请注意,启动时它响应完美,并且重新启动 avahi-daemon 将在问题再次出现之前临时修复它。

就在 mdns 解析失败后,我在锉刀上执行了以下命令,avahi-resolve -n pi.local它显示了 ipv6 ( fe80::xxaa:yybb:zzde:ee),这很奇怪,因为正如我提到的,我有禁用 IPv6在 avahi 配置中,就在我这次重新执行相同的命令之后,我得到了 ipv4 作为答案

pi.local 192.168.1.7

ping 似乎也再次响应。

聚苯乙烯

  • 运行 Linux pi 4.4.38-v7+ #938

  • 使用 Windows v2.0.2 版 Bonjour 打印服务:https://support.apple.com/kb/DL999,并且它作为服务运行。

  • avahi-resolve -n pi.local仅禁用 ipv6命令的返回192.168.1.7而不是 ipv6,但问题仍然存在。

/var/log/messages与阿瓦希无关。

对问题的根源有什么想法吗?

avahi-daemon重新启动并发送上述解析命令一段时间后的 syslog :

18:21:47 pi systemd[1]: Stopping Avahi mDNS/DNS-SD Stack...

18:21:47 pi avahi-daemon[427]: Got SIGTERM, quitting.

18:21:47 pi avahi-daemon[427]: Leaving mDNS multicast group on
interface wlan0.IPv4 with address 192.168.1.7.

18:21:47 pi avahi-daemon[427]: avahi-daemon 0.6.31 exiting. 
18:21:47 pi systemd[1]: Starting Avahi mDNS/DNS-SD Stack...

18:21:47 pi avahi-daemon[1143]: Process 427 died: No such process;
trying to remove PID file. (/var/run/avahi-daemon//pid)

18:21:47 pi avahi-daemon[1143]: Found user 'avahi' (UID 105) and group
'avahi' (GID 110).

18:21:47 pi avahi-daemon[1143]: Successfully dropped root privileges.

18:21:47 pi avahi-daemon[1143]: avahi-daemon 0.6.31 starting up.

18:21:47 pi avahi-daemon[1143]: Successfully called chroot(). 
18:21:47 pi avahi-daemon[1143]: Successfully dropped remaining
capabilities. 
18:21:47 pi avahi-daemon[1143]: Loading service file
/services/multiple.service.

18:21:47 pi avahi-daemon[1143]: Loading service file
/services/udisks.service.

18:21:47 pi avahi-daemon[1143]: Joining mDNS multicast group on
interface wlan0.IPv4 with address 192.168.1.7.

18:21:47 pi avahi-daemon[1143]: New relevant interface wlan0.IPv4 for
mDNS.

18:21:47 pi avahi-daemon[1143]: Network interface enumeration
completed.

18:21:47 pi avahi-daemon[1143]: Registering new address record for
fe80::f2f:3b5b:ab5b:35c1 on wlan0.*.

18:21:47 pi avahi-daemon[1143]: Registering new address record for
192.168.1.7 on wlan0.IPv4.

18:21:47 pi avahi-daemon[1143]: Registering HINFO record with values
'ARMV7L'/'LINUX'.

18:21:47 pi systemd[1]: Started Avahi mDNS/DNS-SD Stack.

18:21:48 pi avahi-daemon[1143]: Server startup complete. Host name is
pi.local. Local service cookie is 2501181696. 

18:21:49 pi avahi-daemon[1143]: Service "pi"
(/services/udisks.service) successfully established.
18:21:49 pi avahi-daemon[1143]: Service "pi"
(/services/multiple.service) successfully established.

答案1

我有同样的问题,虽然我无法“修复”它,但我有一个巧妙的解决方法:在记录过期之前重新启动 avahi-daemon。它们的 TTL 似乎为 120 秒(根据dns-sd -G v4 pi.localmacOS 上的数据)

sudo crontab -e

# Add the following line to the crontab
*/1 * * * * systemctl restart avahi-daemon.service

# Save and exit

答案2

简而言之,在目标设备(即Raspberry Pi)上,首先通过暂时停止防火墙服务进行调试。如果这有帮助,那么这意味着你和我有同样的问题。仅允许 TCP/UDP 连接在目标设备上至端口 548、5353、5354。

我在超级用户上回答了同样的问题。请检查了解详情。

相关内容