zeroconf和avahi

Zeroconf
Zero configuration networking(zeroconf)零配置网络服务规范,是一种用于自动生成可用IP地址的网络技术,不需要额外的手动配置和专属的配置服务器。

“零配置网络服务”的目标,是让非专业用户也能便捷的连接各种网络设备,例如计算机,打印机等。整个搭建网络的过程都是通过程式自动化实现。如果没有zeroconf,用户必须手动配置一些服务,例如DHCP、DNS,计算机网络的其他设置等。这些对非技术用户和新用户们来说是很难的事情。

Zeroconf规范的提出者是Apple公司.


Avahi
Avahi 是Zeroconf规范的开源实现,常见使用在Linux上。包含了一整套多播DNS(multicastDNS)/DNS-SD网络服务的实现。它使用的发布授权是LGPL。Zeroconf规范的另一个实现是Apple公司的Bonjour程式。Avahi和Bonjour相互兼容(废话,都走同一个规范标准嘛,就象IE,Firefox,chrome都能跑HTTP1.1一样)。

Avahi允许程序在不需要进行手动网络配置的情况下,在一个本地网络中发布和获知各种服务和主机。例如,当某用户把他的计算机接入到某个局域网时,如果他的机器运行有Avahi服务,则Avahi程式自动广播,从而发现网络中可用的打印机、共享文件和可相互聊天的其他用户。这有点象他正在接收局域网中的各种网络广告一样。

Linux下系统实际启动的进程名,是avahi-daemon

 

 

 

很多Linux发行版都默认安装该服务,当系统无法连接DHCP server的时候,就会尝试通过ZEROCONF来获取IP。

在CentOS5.x中,ZEROCONF的路由项是在下面的启动脚本被添加到路由表的。
/etc/init.d/network会调用 /etc/sysconfig/network-scripts/ifup-eth 脚本,ifup-eth 脚本会添加ZEROCONF路由项,代码如下:

  1. # Add Zeroconf route.
  2. if [ -z "${NOZEROCONF}" -a "${ISALIAS}" = "no" -a "${REALDEVICE}" != "lo" ]; then
  3. ip route replace 169.254.0.0/16 dev ${REALDEVICE}
  4. fi

那有没有办法禁用ZEROCONF呢?
可以通过在 "/etc/sysconfig/network" 文件中增加一行“NOZEROCONF=yes”来达到这个目的。
其实,给 NOZEROCONF 赋任意值都是同样的效果,从上面的代码就可以看出,它只检测 NOZEROCONF 是否为空。
当然,修改完 "/etc/sysconfig/network" 之后,必须重启网络才能生效:/etc/init.d/network restart
Avahi是一个开源的实现了Zeroconf协议的软件,它可以让你的Linux系统自动发现和连接到其他设备和服务。avahi-daemon是Avahi的守护进程,它运行在后台并提供了Zeroconf服务的功能。 以下是一个简单的Avahi Daemon教程示例,演示了如何使用avahi-daemon来发布和发现服务: 1. 安装Avahi 在Ubuntu和Debian系统上,你可以使用以下命令来安装Avahi: ``` sudo apt-get install avahi-daemon ``` 2. 发布服务 使用Avahi Daemon,你可以轻松地发布你的服务,让其他设备和服务能够发现它。以下是一个发布Web服务器服务的示例: ``` sudo nano /etc/avahi/services/http.service ``` 将以下内容粘贴到文件中: ``` <?xml version="1.0" standalone='no'?> <!DOCTYPE service-group SYSTEM "avahi-service.dtd"> <service-group> <name replace-wildcards="yes">%h</name> <service> <type>_http._tcp</type> <port>80</port> </service> </service-group> ``` 保存并关闭文件。然后,重新启动avahi-daemon服务: ``` sudo service avahi-daemon restart ``` 现在,你的Web服务器服务已经发布了,其他设备和服务可以通过Zeroconf协议来发现它。 3. 发现服务 使用Avahi Daemon,你可以轻松地发现其他设备和服务,以便连接到它们。以下是一个发现Web服务器服务的示例: ``` avahi-browse -a ``` 这将列出所有可用的服务和设备,包括你刚才发布的Web服务器服务。 以上是一个简单的Avahi Daemon教程示例,演示了如何使用avahi-daemon来发布和发现服务。你可以使用类似的方法来发布和发现其他类型的服务,例如打印机和文件共享服务。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值