Ubuntu avahi-daemon进程频繁register和withdraw ip

一、故障现象

基础环境介绍:系统Ubuntu 18.04桌面版
因为业务上发现有rabbitmq有链接不上的情况,查看syslog的日志如下:

Sep 15 12:10:15 SLE avahi-daemon[493]: Withdrawing address record for fe80::6b8e:42fd:f736:b860 on enp1s0.
Sep 15 12:10:15 SLE avahi-daemon[493]: Withdrawing address record for fe80::4e33:8415:3da5:9dcf on enp1s0.
Sep 15 12:10:15 SLE avahi-daemon[493]: Withdrawing address record for fe80::c21e:9bf8:7669:4b87 on enp1s0.
Sep 15 12:10:15 SLE avahi-daemon[493]: Withdrawing address record for 10.39.230.1 on enp1s0.
Sep 15 12:10:15 SLE avahi-daemon[493]: Withdrawing address record for ::1 on lo.
Sep 15 12:10:15 SLE avahi-daemon[493]: Withdrawing address record for 127.0.0.1 on lo.
Sep 15 12:10:15 SLE avahi-daemon[493]: Host name conflict, retrying with sle-7027
Sep 15 12:10:15 SLE avahi-daemon[493]: Registering new address record for fe80::6b8e:42fd:f736:b860 on enp1s0.*.
Sep 15 12:10:15 SLE avahi-daemon[493]: Registering new address record for fe80::
### avahi-daemon 服务的用途、配置与故障排查 #### 1. avahi-daemon 服务的用途 avahi-daemon 是一个实现 Zeroconf(零配置网络)协议的服务,主要用于在局域网中提供自动主机发现名称解析功能。它通过 mDNS(多播 DNS)协议让设备能够自动注册其主机名,并允许其他设备通过该主机名访问资源,而无需手动配置 IP 地址或 DNS 服务器[^1]。 #### 2. avahi-daemon 的基本配置 avahi-daemon 的配置文件通常位于 `/etc/avahi/avahi-daemon.conf`,以下是一些常见的配置项: - **host-name**: 设置主机名。 - **domain-name**: 设置域名后缀,默认为 `.local`。 - **browse-domains**: 指定需要浏览的额外域名。 - **allow-interfaces** **deny-interfaces**: 控制哪些网络接口可以使用 avahi。 示例配置文件片段: ```ini [server] host-name=k8s-node5 domain-name=local [wide-area] enable-wide-area=yes [publish] publish-addresses=yes publish-hinfo=no ``` 可以通过以下命令重启 avahi-daemon 以应用更改: ```bash sudo systemctl restart avahi-daemon ``` #### 3. 故障排查方法 当 avahi-daemon 出现问题时,可以按照以下步骤进行排查: - **检查服务状态**:使用 `systemctl status avahi-daemon` 查看服务是否正常运行。 - **查看日志信息**:通过 `journalctl -u avahi-daemon` 或直接查看 `/var/log/messages` 文件,寻找相关错误信息[^1]。 - **主机名冲突**:如果日志中出现类似 `Host name conflict` 的错误,可能是因为局域网中存在多个设备使用了相同的主机名。可以通过修改 `avahi-daemon.conf` 中的 `host-name` 参数解决[^1]。 - **网络接口问题**:确保 avahi-daemon 配置文件中的 `allow-interfaces` 包含正确的网络接口名称。如果不确定具体接口,可以暂时注释掉该配置项以测试。 - **防火墙规则**:确认防火墙未阻止 mDNS 流量(端口 5353)。可以通过以下命令开放端口: ```bash sudo firewall-cmd --add-port=5353/udp --permanent sudo firewall-cmd --reload ``` #### 4. 常见问题及解决方案 - **问题 1**: 主机名冲突导致服务异常。 - 解决方案:修改 `avahi-daemon.conf` 文件中的 `host-name` 参数,确保其唯一性[^1]。 - **问题 2**: 网络接口未被正确识别。 - 解决方案:检查 `allow-interfaces` 配置项,确保包含当前活动的网络接口。 - **问题 3**: 日志中无明显错误但服务不可用。 - 解决方案:尝试重启服务或重新加载配置文件,同时检查系统日志是否有隐藏问题。 ```bash sudo systemctl restart avahi-daemon sudo avahi-daemon --reload ``` ### 示例代码:修改主机名 以下是一个简单的脚本,用于修改 avahi-daemon 的主机名并重启服务: ```bash #!/bin/bash # 修改主机名 NEW_HOSTNAME="new-hostname" sed -i "s/^host-name=.*/host-name=$NEW_HOSTNAME/" /etc/avahi/avahi-daemon.conf # 重启服务 systemctl restart avahi-daemon ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值