新聞中心
組播 DNS (mDNS)同樣是工作在 IP 層面,它使用5353端口,由于它只是 DNS 的延伸,所以這也決定了它用起來(lái)和 DNS 基本相同。不同點(diǎn)是它不請(qǐng)求 DNS 服務(wù)器,而是在局域網(wǎng)內(nèi)廣播,所有支持組播 DNS 的設(shè)備都會(huì)回復(fù)它自己的域名(一個(gè)以.local為結(jié)尾的機(jī)器名),如果沒(méi)有指定自身機(jī)器名或者有沖突,那么新設(shè)備就會(huì)換個(gè)名字繼續(xù)廣播,直到名字可用,且被其他設(shè)備所接受。

本文假設(shè)你有兩個(gè)系統(tǒng)運(yùn)行受支持的 Fedora 版本(27 或 28)。它們的主機(jī)名是 castor 和 pollux。
安裝包
確保系統(tǒng)上安裝了 nss-mdns 和 avahi 軟件包。你可能是不同的版本,這也沒(méi)問(wèn)題:
$ rpm -q nss-mdns avahi
nss-mdns-0.14.1-1.fc28.x86_64
avahi-0.7-13.fc28.x86_64
Fedora Workstation 默認(rèn)提供這兩個(gè)包。如果不存在,請(qǐng)安裝它們:
$ sudo dnf install nss-mdns avahi
確保 avahi-daemon.service 單元已啟用并正在運(yùn)行。同樣,這是 Fedora Workstation 的默認(rèn)設(shè)置。
$ sudo systemctl enable --now avahi-daemon.service
雖然是可選的,但你可能還需要安裝 avahi-tools 軟件包。該軟件包包括許多方便的程序,用于檢查系統(tǒng)上的零配置服務(wù)的工作情況。使用這個(gè) sudo 命令:
$ sudo dnf install avahi-tools
/etc/nsswitch.conf 控制系統(tǒng)使用哪個(gè)服務(wù)用于解析,以及它們的順序。你應(yīng)該在那個(gè)文件中看到這樣的一行:
hosts: files mdns4_minimal [NOTFOUND=return] dns myhostname
注意命令 mdns4_minimal [NOTFOUND=return]。它們告訴你的系統(tǒng)使用多播 DNS 解析程序?qū)⒅鳈C(jī)名解析為 IP 地址。即使該服務(wù)有效,如果名稱(chēng)無(wú)法解析,也會(huì)嘗試其余服務(wù)。
如果你沒(méi)有看到與此類(lèi)似的配置,則可以(以 root 用戶身份)對(duì)其進(jìn)行編輯。但是,nss-mdns 包會(huì)為你處理此問(wèn)題。如果你對(duì)自己編輯它感到不舒服,請(qǐng)刪除并重新安裝該軟件包以修復(fù)該文件。
在兩個(gè)系統(tǒng)中執(zhí)行同樣的步驟 。
設(shè)置主機(jī)名并測(cè)試
現(xiàn)在你已完成常見(jiàn)的配置工作,請(qǐng)使用以下方法之一設(shè)置每個(gè)主機(jī)的名稱(chēng):
如果你正在使用 Fedora Workstation,你可以使用這個(gè)步驟。 如果沒(méi)有,請(qǐng)使用 hostnamectl 來(lái)做。在第一臺(tái)機(jī)器上這么做:$ hostnamectl set-hostname castor。 你還可以編輯 /etc/avahi/avahi-daemon.conf,刪除主機(jī)名設(shè)置行上的注釋?zhuān)⒃谀抢镌O(shè)置名稱(chēng)。但是,默認(rèn)情況下,Avahi 使用系統(tǒng)提供的主機(jī)名,因此你不應(yīng)該需要此方法。 接下來(lái),重啟 Avahi 守護(hù)進(jìn)程,以便它接收更改:
$ sudo systemctl restart avahi-daemon.service
然后正確設(shè)置另一臺(tái)機(jī)器:
$ hostnamectl set-hostname pollux
$ sudo systemctl restart avahi-daemon.service
只要你的路由器沒(méi)有禁止 mDNS 流量,你現(xiàn)在應(yīng)該能夠登錄到 castor 并 ping 通另一臺(tái)機(jī)器。你應(yīng)該使用默認(rèn)的 .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,同樣的技巧也適用?,F(xiàn)在在網(wǎng)絡(luò)中訪問(wèn)你的系統(tǒng)更方便了!
此外,如果你的路由器也支持這個(gè)服務(wù),請(qǐng)不要感到驚訝?,F(xiàn)代 WiFi 和有線路由器通常提供這些服務(wù),以使消費(fèi)者的生活更輕松。
此過(guò)程適用于大多數(shù)系統(tǒng)。但是,如果遇到麻煩,請(qǐng)使用 avahi-browse 和 avahi-tools 軟件包中的其他工具來(lái)查看可用的服務(wù)。
新聞標(biāo)題:使用組播DNS在局域網(wǎng)中發(fā)現(xiàn)系統(tǒng)
文章來(lái)源:http://fisionsoft.com.cn/article/djehojd.html


咨詢
建站咨詢
