Linux中國

使用 mDNS 在區域網中輕鬆發現系統

mDNS 多播 DNS Multicast DNS )允許系統在區域網中廣播查詢其他資源的名稱。Fedora 用戶經常在沒有複雜名稱服務的路由器上接有多個 Linux 系統。在這種情況下,mDNS 允許你按名稱與多個系統通信 —— 多數情況下不用路由器。你也不必在所有本地系統上同步類似 /etc/hosts 之類的文件。本文介紹如何設置它。

mDNS 是一個零配置網路服務,它已經誕生了很長一段時間。Fedora Workstation 帶有零配置系統 Avahi(它包含 mDNS)。 (mDNS 也是 Bonjour 的一部分,可在 Mac OS 上找到。)

本文假設你有兩個系統運行受支持的 Fedora 版本(27 或 28)。它們的主機名是 castor 和 pollux。

安裝包

確保系統上安裝了 nss-mdns 和 avahi 軟體包。你可能是不同的版本,這也沒問題:

$ rpm -q nss-mdns avahi
nss-mdns-0.14.1-1.fc28.x86_64
avahi-0.7-13.fc28.x86_64

Fedora Workstation 默認提供這兩個包。如果不存在,請安裝它們:

$ sudo dnf install nss-mdns avahi

確保 avahi-daemon.service 單元已啟用並正在運行。同樣,這是 Fedora Workstation 的默認設置。

$ sudo systemctl enable --now avahi-daemon.service

雖然是可選的,但你可能還需要安裝 avahi-tools 軟體包。該軟體包包括許多方便的程序,用於檢查系統上的零配置服務的工作情況。使用這個 sudo 命令:

$ sudo dnf install avahi-tools

/etc/nsswitch.conf 控制系統使用哪個服務用於解析,以及它們的順序。你應該在那個文件中看到這樣的一行:

hosts: files mdns4_minimal [NOTFOUND=return] dns myhostname

注意命令 mdns4_minimal [NOTFOUND=return]。它們告訴你的系統使用多播 DNS 解析程序將主機名解析為 IP 地址。即使該服務有效,如果名稱無法解析,也會嘗試其餘服務。

如果你沒有看到與此類似的配置,則可以(以 root 用戶身份)對其進行編輯。但是,nss-mdns 包會為你處理此問題。如果你對自己編輯它感到不舒服,請刪除並重新安裝該軟體包以修復該文件。

兩個系統中執行同樣的步驟 。

設置主機名並測試

現在你已完成常見的配置工作,請使用以下方法之一設置每個主機的名稱:

  1. 如果你正在使用 Fedora Workstation,你可以使用這個步驟
  2. 如果沒有,請使用 hostnamectl 來做。在第一台機器上這麼做:$ hostnamectl set-hostname castor
  3. 你還可以編輯 /etc/avahi/avahi-daemon.conf,刪除主機名設置行上的注釋,並在那裡設置名稱。但是,默認情況下,Avahi 使用系統提供的主機名,因此你不應該需要此方法。

接下來,重啟 Avahi 守護進程,以便它接收更改:

$ sudo systemctl restart avahi-daemon.service

然後正確設置另一台機器:

$ hostnamectl set-hostname pollux
$ sudo systemctl restart avahi-daemon.service

只要你的路由器沒有禁止 mDNS 流量,你現在應該能夠登錄到 castor 並 ping 通另一台機器。你應該使用默認的 .local 域名,以便解析正常工作:

$ ping pollux.local
PING pollux.local (192.168.0.1) 56(84) bytes of data.
64 bytes from 192.168.0.1 (192.168.0.1): icmp_seq=1 ttl=64 time=3.17 ms
64 bytes from 192.168.0.1 (192.168.0.1): icmp_seq=2 ttl=64 time=1.24 ms
...

如果你在 pollux ping castor.local,同樣的技巧也適用。現在在網路中訪問你的系統更方便了!

此外,如果你的路由器也支持這個服務,請不要感到驚訝。現代 WiFi 和有線路由器通常提供這些服務,以使消費者的生活更輕鬆。

此過程適用於大多數系統。但是,如果遇到麻煩,請使用 avahi-browse 和 avahi-tools 軟體包中的其他工具來查看可用的服務。

via: https://fedoramagazine.org/find-systems-easily-lan-mdns/

作者:Paul W. Frields 選題:lujun9972 譯者:geekpi 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國