首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Linux的多播(mDNS)

Linux的多播(mDNS)
EN

Server Fault用户
提问于 2016-03-24 20:15:30
回答 2查看 4.7K关注 0票数 4

背景:

我正在本地网络上运行一个Linux服务器,它既是一个web服务器,也是一个中央通信服务器。此服务器与系统中的多个节点进行通信。在节点初始化时,节点将其IP地址发送到中央通信服务器。然而,为了知道发送这个IP地址的目的地,节点需要知道服务器的IP地址。为了解决服务器问题,我被引导使用mDNS。

在服务器上安装avahi似乎支持Linux服务器的多播。

代码语言:javascript
复制
sudo apt-get install avahi-daemon

然后,服务器的主机名可以更改为多播将服务器的IP地址解析为

代码语言:javascript
复制
hostname.local

问题1:

节点是否也必须安装avahi-守护进程才能使此方案工作?如果是的话,是否有一种方法可以绕过这种情况,或者以另一种方式为节点启用多播。我犹豫不决,因为我不确定微控制器是否有能力安装这个守护进程,因为ESP8226被用作WiFi模块。(我知道ESP8226确实支持mDNS,只是不知道具体的支持方式)。

问题2:

如果用户试图访问web服务器上的页面,他们是否可以在浏览器中键入mDNS名称以发出请求?或者他们也必须安装avahi守护进程吗?如果是windows计算机试图访问应用程序,我不能保证它们会内置此功能。同样,如果需要,是否有一种方法可以避免使用守护进程?

更新: ESP8226确实支持mDNS,但是客户端mDNS不是内置的。但是,这里有一个客户端mDNS库,用于ESP8226:https://github.com/mrdunk/esp8266_孟斯

EN

回答 2

Server Fault用户

发布于 2016-03-25 19:47:59

问题1:不幸的是,要使用mDNS,必须安装avahi或bonjour (win/mac)。为微控制器编写avahi祝你好运!我也从未在wifi中使用过mDNS,但它确实是非常正常的多播通信。

问题2:您可以使用mDNS名称来表示http内容,avahi将它与DNS完全集成在一起。我实际上是用它来加载NFS股票。请记住,如果您使用vhost,添加hostname.local作为vhost或其他什么的别名。

票数 0
EN

Server Fault用户

发布于 2020-05-26 11:56:49

如果这些控制器进入业务网络,“中央通信服务器”应该能够由现场IT (至少是静态IP)控制。所以告诉他们你需要一个“集中式服务器”或任何你想要的记录,然后让你的控制器查找centralcommsserver.DNSSuffix

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/765961

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档