openWrt启动mDNS服务

本文详述了openWrt启动mDNS服务的步骤和问题解决过程。通常,mDNS服务应自动启动,但作者遇到未启动的情况。mDNS是一种局域网设备发现协议,使用UDP的224.0.0.251和5353端口。在openWrt中,mDNS服务由umdns包提供,但作者发现缺少该包,选择使用avahi包作为替代方案。安装并配置avahi后,成功启用了mDNS服务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

openWrt启动mDNS服务

引言:一般情况下,openwrt会自动启动mDNS服务的,但由于我刷写的镜像的问题,我的openWrt并没有启动mDNS这个守护进程。在解决这个问题的过程中遇到一些问题,在此记录一下。

mDNS网络协议

DNS(Domain Name System,域名系统)是因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过域名,最终得到该域名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP协议之上,使用端口号53。

在局域网中,设备和设备之前相互通信需要知道对方的ip地址的。然而,大多数情况,设备的ip不是静态ip地址,而是通过dhcp 协议动态分配的ip 地址,如何发现局域网的设备呢?

现在物联网设备和app之间的通信,要么app通过广播,要么通过组播,发一些特定信息,感兴趣设备应答,实现局域网设备的发现。但是,使用mDNS比这方便多了。

mdns 即多播dns(Multicast DNS),mDNS主要实现了在没有传统DNS服务器的情况下使局域网内的主机实现相互发现和通信,使用的端口为5353,遵从dns协议,使用现有的DNS信息结构、名语法和资源记录类型,并且没有指定新的操作代码或响应代码。

mDNS是基于UDP协议的,使用的组播地址为:224.0.0.251 (ipv6: FF02::FB) 端口为5353。mdns 是用于局域网内部的,并且主机的域名为.local 结尾,每个进入局域网的主机,如果开启了mDNS服务的话,都会向局域网内的所有主机组播一个消息,我是谁(域名),和我的IP地址是多少。然后其他有mdns服务的主机就会响应,也会告诉你,它是谁(域名),它的IP地址是多少。 当然设备需要服务时,就是使用mdns 查询域名对对应的ip地址,对应的设备收到该报文后同样通过组播方式应答,此时其他主机设备也是可以收到该应答报文,其他

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值