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