使用 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
- Redis輕鬆實現秒殺系統Redis
- 用Redis輕鬆實現秒殺系統Redis
- 【漲知識】Linux系統中區域網和廣域網的區別有哪些?Linux
- 使用Holer外網SSH訪問內網/區域網Linux系統內網Linux
- Web全屏模式輕鬆掌握[區域性元素全屏展示]Web模式
- 輕鬆在 Go 中使用 Dot 解析域名Go
- 在 Fedora 上使用 GIMP 輕鬆編輯影像
- 在 Fedora 上使用 GIMP 輕鬆編輯影象
- 使用“微服務+雲架構”輕鬆應對系統擴容!微服務架構
- iOS 輕鬆使用 App 資料統計iOSAPP
- win10 系統怎麼聯區域網_w10如何加入區域網Win10
- 輕鬆解決跨域問題跨域
- Power BI整合Power Apps,輕鬆實現使用者在報告中任意輸入資訊APP
- 用VC在區域網實現IP多播通訊
- 使用 express 輕鬆實現反向代理伺服器Express伺服器
- 使用 offline-plugin 搭配 webpack 輕鬆實現 PWAPluginWeb
- 源中瑞網際網路區塊鏈物流系統開發區塊鏈
- 輕鬆使用Aspire rabbitmq frameworkMQFramework
- Vagrant 中配置區域網埠
- 使用EasyCV Mask2Former輕鬆實現影像分割ORM
- HarmonyOS NEXT應用開發之使用AKI輕鬆實現跨語言呼叫
- 在 Linux 中輕鬆搜尋和安裝 Google Web 字型LinuxGoWeb
- 在Mac上使用Photoshop 2022:輕鬆實現影像處理,PS Mac軟體下載Mac
- 輕鬆實現報表整合
- 企業網盤實現區域網共享
- Facebook在NAS領域的輕量級網路探索
- 區域雲HIS系統原始碼原始碼
- 建議收藏,輕鬆搞懂區塊鏈!區塊鏈
- 技術乾貨| 如何在MongoDB中輕鬆使用GridFS?MongoDB
- Win10區域網共享該怎麼設定?win10系統區域網共享設定的方法Win10
- 如何使用MindStudio輕鬆搞定大模型全流程開發大模型
- win10系統怎麼設定區域網共享磁碟Win10
- win10系統怎麼取消區域網共享密碼Win10密碼
- 區域網與廣域網
- 電商在直播系統中如何做好私域流量?
- 在 Linux 中安全且輕鬆地管理 Cron 定時任務Linux
- 在 laravel 中輕鬆容易的輸出完整的 sql 語句LaravelSQL