Avahi如何将多个.local名称分配给同一个IP

在某些情况下,你想用不同的.本地名称访问同一台计算机/IP。

这可以通过Avahi守护程序实现。以下内容是为Ubuntu 18.04 Bionic Beaver编写的。

安装Avahi

apt 安装 avahi-daemon avahi-utils

Avahi会自动将你的电脑主机名添加到.local域名中。例如,我的电脑被称为morpheus。

因此,它将使用morpheus.local进行访问。

形象

顺便说一下,如果你想访问Zeroconf / Bonjour / Avahi .本地域名,你应该简单地安装 苹果公司的卓悦印刷服务 适用于Windows。

使计算机可以在额外的.local域名下访问

avahi-publish -a -R taxgod.local 192.168.1.2

-R标志很重要:它将允许你为同一个IP发布多个域名,因为它不会发布一个带有该地址的反向条目。(否则,显然反向条目会发生冲突,因此avahi拒绝发布它们)。

a标志登记了一个地址/主机名的映射。

这个命令将在前台运行。当它运行时,域名将被发布,你可以使用这个额外的域名访问你的计算机。

使之成为永久性的,并使之成为背景命令

理想情况下,我们希望这在启动时发生。

在下面创建一个启动脚本 /root/avahi-add-names.sh :

#!/bin/bash

/usr/bin/avahi-publish -a -R taxgod.local 192.168.1.2 &
/usr/bin/avahi-publish -a -R picockpit.local 192.168.1.2 &
/usr/bin/avahi-publish -a -R papi.local 192.168.1.2 &

用你想拥有的名字调整脚本。

使其可执行

chmod +x /root/avahi-add-names.sh

使用crontab添加该命令。

crontab -e

@reboot /root/avahi-add-names.sh

如果你愿意,你可以通过运行以下程序来测试该脚本是否工作

nohup /root/avahi-add-names.sh

顺便说一下。 当你重新启动avahi-daemon时,你将需要重新启动这个脚本,否则你会得到以下错误信息。

"客户失败,正在退出。守护程序连接失败"

形象

在这里你可以看到,我可以为同一个IP平移几个不同的 "别名".本地域名。

奖金提示

如果你想为其他电脑/设备发布.local域名,而这些电脑/设备又不能为自己发布,你也可以用Avahi来做这件事。

nano /etc/avahi/hosts

为每个设备添加一行,例如

192.168.1.21 kyo3.local

保存该文件。重新加载avahi守护进程(实际上可能根本不需要重新加载)。

Service avahi-daemon restart