使用 mDNS 在區域網中輕鬆發現系統
mDNS(多播 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 包會為你處理此問題。如果你對自己編輯它感到不舒服,請刪除並重新安裝該軟體包以修復該檔案。
在兩個系統中執行同樣的步驟 。
設定主機名並測試
現在你已完成常見的配置工作,請使用以下方法之一設定每個主機的名稱:
- 如果你正在使用 Fedora Workstation,你可以使用這個步驟。
- 如果沒有,請使用
hostnamectl
來做。在第一臺機器上這麼做:$ hostnamectl set-hostname castor
。 - 你還可以編輯
/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
相關文章
- 使用MDNS進行區域網服務發現(.NET Core)DNS
- Windows7系統下區域網實現發現共享Windows
- Redis輕鬆實現秒殺系統Redis
- 在.NET中輕鬆獲取系統資訊(1) -WMI篇 (轉)
- 用Delphi在區域網中實現網上影院 (轉)
- 用Redis輕鬆實現秒殺系統Redis
- 用 Redis 輕鬆實現秒殺系統Redis
- 使用 Meteor 輕鬆開發實時網站網站
- 在ASP.NET開發中輕鬆讓網頁彈出視窗ASP.NET網頁
- 家庭區域網檔案共享,輕鬆互聯手機與電腦
- 在BCB中輕鬆使用ActiveX控制元件 (轉)控制元件
- 【漲知識】Linux系統中區域網和廣域網的區別有哪些?Linux
- Web全屏模式輕鬆掌握[區域性元素全屏展示]Web模式
- 使用Holer外網SSH訪問內網/區域網Linux系統內網Linux
- 輕鬆在 Go 中使用 Dot 解析域名Go
- 輕鬆解決跨域問題跨域
- iOS 輕鬆使用 App 資料統計iOSAPP
- 使用“微服務+雲架構”輕鬆應對系統擴容!微服務架構
- 在阿里雲ECS上輕鬆實現無域控的SQLServerAlwaysOn可用性組阿里SQLServer
- win10 系統怎麼聯區域網_w10如何加入區域網Win10
- Diagramly:輕鬆在網頁上繪製流程圖網頁流程圖
- Word中輕鬆實現逆頁序列印
- 在 FreeBSD 下利用 Freemail 輕鬆組建郵件系統(轉)AI
- 在ASP.NET裡輕鬆實現縮圖 (轉)ASP.NET
- Windows XP 輕鬆實現作業系統備份與還原(轉)Windows作業系統
- Power BI整合Power Apps,輕鬆實現使用者在報告中任意輸入資訊APP
- 源中瑞網際網路區塊鏈物流系統開發區塊鏈
- 用VC在區域網實現IP多播通訊
- Windows7系統與XP系統區域網共享設定方法Windows
- 使用 express 輕鬆實現反向代理伺服器Express伺服器
- 為什麼空白區域在網頁設計中重要網頁
- 區域網內RMAN異機備份(windows系統):Windows
- 輕鬆使用Aspire rabbitmq frameworkMQFramework
- 【專案原始碼】- 【區域網聊天】android實現區域網聊天 - UDP實現原始碼AndroidUDP
- 在.NET Framework中輕鬆處理XML資料(一) (轉)FrameworkXML
- 在.NET Framework中輕鬆處理XML資料(五) (轉)FrameworkXML
- 輕鬆應對系統關機失敗問題
- 六大絕招輕鬆搞定系統更新(轉)