我的家庭 LAN 上有一个自定义/实验设备 (D),其静态 IP 运行 HTTP 服务器。由于对这个问题不重要的原因,(D) 无法运行 mDNS。我在同一个 LAN* 上有另一个成熟的 Ubuntu Server (S)。我希望服务器 S 代表 D 广播和响应 mDNS。可以这样做吗?
我可以看到 avahi可以配置为宣传任意服务,但尚不清楚当服务完全在另一台机器上时是否/如何做到这一点。
*(暂时连接到同一个以太网交换机)
我的家庭 LAN 上有一个自定义/实验设备 (D),其静态 IP 运行 HTTP 服务器。由于对这个问题不重要的原因,(D) 无法运行 mDNS。我在同一个 LAN* 上有另一个成熟的 Ubuntu Server (S)。我希望服务器 S 代表 D 广播和响应 mDNS。可以这样做吗?
我可以看到 avahi可以配置为宣传任意服务,但尚不清楚当服务完全在另一台机器上时是否/如何做到这一点。
*(暂时连接到同一个以太网交换机)
是的,任何主机都可以使用它想要的任何 DNS 记录来响应任何 mDNS 名称。
如果您只想使普通主机名 (
foo.local
) 可通过 mDNS 解析,请在/etc/avahi/hosts
文件中定义它。请参阅avahi.hosts(5)。系统现在将响应此文件中列出的所有名称的 mDNS 查询,并将提供相应的 IP 地址。
如果您还想代表另一个系统发布 DNS-SD 服务,您可以使用 Avahi
*.service
文件执行此操作。有关详细信息,请参阅avahi.service(5)。您可以在定义服务时在标签中指定您想要的任何主机名
<host-name>
,只要它本身已经可以解析(也就是说,您必须先执行步骤 #1 才能使其工作)。