公众号关注 「奇妙的 Linux 世界」
设为「星标」,每天带你玩转 Linux !
大多数 Linux
用户通常在没有复杂 DNS
服务的路由器上拥有多个 Linux
系统。本文将介绍一种方法,让你不必修改 /etc/hosts
之类文件的情况下实现按名称与多个系统通信。
mDNS
是一种零配置网络服务,它允许系统在本地网络上按名称广播查询其他资源。大多数 Linux
都提供一个包含 mDNS
的零配置的软件包 Avahi
。mDNS 同样也支持 macOS,是 Bonjour 软件包中的一部分。
本文假设你有两个支持 Avahi
软件包的 Linux
系统,这里以 Ubuntu 20.04
为例,它们的主机名分别是 Mike-Ubuntu-01
和 Mike-Ubuntu-02
。
安装 Avahi
# Ubuntu / Debian
$ sudo apt install avahi-daemon avahi-utils
# CentOS
$ sudo yum install nss-mdns avahi avahi-tools
# Fedora
$ sudo dnf install nss-mdns avahi avahi-tools
avahi-tools
软件包包括许多方便的实用程序,可用于检查系统上的 mDNS
服务的工作情况。比如:
# 查看局域网内所有已注册的 mDNS 服务
$ avahi-browse -a -r
# 发现某个类型的服务的返回包
$ avahi-browse -r "xxx"
-xxx 是指服务类型,如_http._tcp
安装完成后,你可以检查下 /etc/nsswitch.conf
文件,它控制你的系统使用哪些服务来进行名称解析以及服务优先级。你应该在该文件中看到如下一行:
$ cat /etc/nsswitch.conf
hosts: files mdns4_minimal [NOTFOUND=return] dns myhostname
注意:命令
mdns4_minimal [NOTFOUND=return]
,它告诉你的系统使用多播 DNS 解析器将主机名解析为 IP 地址。当名称无法解析时,也会尝试剩余的服务。通常nss-mdns
包会为你处理此问题,如果你没有看到与此类似的配置,可以编辑这个文件加上它。
以上所有操作在两台机器上,都需要进行。
设置主机名和测试
现在你已经完成了常见的配置工作,请通过以下方式为每个主机设置名称:
# Mike-Ubuntu-01
$ hostnamectl set-hostname Mike-Ubuntu-01
# Mike-Ubuntu-02
$ hostnamectl set-hostname Mike-Ubuntu-02
注:你也可以编辑
/etc/avahi/avahi-daemon.conf
文件,通过host-name
来设置主机名称。但默认情况下,Avahi 优先使用系统提供的主机名。
接下来,重新启动 Avahi
服务,以便它接受变更:
$ sudo systemctl restart avahi-daemon.service
如果你需要开机自启 Avahi
服务,可以使用以下命令来实现:
$ sudo systemctl enable --now avahi-daemon.service
最后,我们能够登录到 Mike-Ubuntu-01
并 ping
另一台机器的主机名 Mike-Ubuntu-02
。
# 你应该使用默认的 .local 域名,以便解析正常工作。
$ ping Mike-Ubuntu-02.local
PING Mike-Ubuntu-02.local (192.168.5.2) 56(84) bytes of data.
64 bytes from 192.168.5.2 (192.168.5.2): icmp_seq=1 ttl=64 time=1.16 ms
64 bytes from 192.168.5.2 (192.168.5.2): icmp_seq=2 ttl=64 time=1.18 ms
...
同样的,你在 Mike-Ubuntu-02
上也能 ping
通 Mike-Ubuntu-01
:
$ ping Mike-Ubuntu-01.local
PING Mike-Ubuntu-01.local (192.168.5.1) 56(84) bytes of data.
64 bytes from 192.168.5.1 (192.168.5.1): icmp_seq=1 ttl=64 time=1.26 ms
64 bytes from 192.168.5.1 (192.168.5.1): icmp_seq=2 ttl=64 time=1.28 ms
...
这样通过网络名称访问你的系统服务,是不是更加方便呢?
参考文档
https://www.google.com
https://bynss.com/linux/663658.html
最近,我们建立了一个技术交流微信群。目前群里已加入了不少行业内的大神,有兴趣的同学可以加入和我们一起交流技术,在 「奇妙的 Linux 世界」 公众号直接回复 「加群」 邀请你入群。
你可能还喜欢
点击下方图片即可阅读
如何在 Windows 上用 WSL 2 快速体验丝般顺滑的 Linux
点击上方图片,『美团|饿了么』大额外卖红包天天免费领
文章来源:https://www.toymoban.com/news/detail-638352.html
更多有趣的互联网新鲜事,关注「奇妙的互联网」视频号全了解!文章来源地址https://www.toymoban.com/news/detail-638352.html
到了这里,关于如何使用 Avahi 在局域网轻松发现你的系统服务的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!