SuperAPI AI 工具集

avahi

部署与运维

查看项目

更新于 10-16 06:22

技能介绍

用途:管理 Avahi mDNS/zeroconf 守护进程,实现局域网 .local 主机名解析、服务发现与服务注册。

主要能力:查看守护进程状态与已发布服务,解析 .local 主机名或反查 IP,查看本机发布内容,运行前台调试模式,按接口禁用,检查 nsswitch.conf 的 mDNS 配置,用 xmllint 校验 .service XML 文件;还覆盖常见故障(解析失败、systemd-resolved 抢占 5353 端口、防火墙拦截多播、服务不显示等)的排查思路。

关键用法:守护进程为 avahi-daemon,服务单元 avahi-daemon.service,配置位于 /etc/avahi/avahi-daemon.conf,服务定义在 /etc/avahi/services/,端口 5353/UDP、多播地址 224.0.0.251。安装命令:apt install avahi-daemon avahi-utils 或 dnf install avahi avahi-tools;.local 解析还需 libnss-mdns(Debian/Ubuntu)或 nss-mdns(Fedora)。常用命令包括 systemctl status avahi-daemon、avahi-browse --all --resolve --terminate、avahi-resolve --name hostname.local、avahi-publish-service "My Service" _http._tcp 8080。

适用场景:局域网内无需 DNS 的主机名互访与服务发现、临时发布服务、排查解析延迟或服务不可见问题。

限制与注意:nsswitch.conf 中 hosts 行必须在 dns 前加入 mdns4_minimal [NOTFOUND=return],否则解析失败或有 2–5 秒延迟;需避免与 systemd-resolved 同时占用 5353;防火墙需放行 5353/UDP 及多播;.service XML 格式严格,出错会被静默拒绝;默认会发布 HINFO 等主机信息,可用 publish-hinfo=no、publish-workstation=no 关闭。参考资料还包含 avahi-config.md 与 docs.md。