Gentoo
Gentoo:如何設置本地網路的主機名?
我習慣了 debian/raspbian,設置電腦的主機名很簡單:
/etc/hostname: my-computer
和
/etc/hosts: 127.0.0.1 localhost ::1 localhost ip6-localhost ip6-loopback ff02::1 ip6-allnodes ff02::2 ip6-allrouters 127.0.1.1 my-computer
在這些更改和重新啟動之後,我可以
ssh username@my-computer.local
從本地網路上的任何其他機器上。我很難在新的 gentoo 系統上獲得這種行為。我已經嘗試了 gentoo 論壇上 2-3 歲文章中的其他一些設置,但沒有運氣。
為了
ssh username@my-computer.local
工作,必須具備兩件事:
my-computer
必須正在執行avahi-daemon
或其他多播 DNS 實現(簡稱 mDNS)。這將定期向本地網路宣布電腦的目前主機名和 IP,並且如果本地網路中的某些其他設備要求它,將響應該資訊。宣布的名稱將採用<short hostname>.local
.- 帶有 SSH 客戶端的電腦必須包括
mdns
,mdns4_minimal
或類似的 mDNS 主機名解析模組就hosts:
行了/etc/nsswitch.conf
。這使得 glibc 的主機名解析功能實際上使用 mDNS 作為主機名/IP 資訊的一種可能來源。mDNS 與 Apple 的 Bonjour 系統兼容,顯然微軟也可能對它有一些支持——儘管現代版本的 Windows 似乎更喜歡 WS-Discovery,另一個基於多播的協議,用於類似目的。
頂級 DNS 域
.local
現在保留給 mDNS 使用,因此不應再將其用於正常私有 DNS 域。但是,為了向後兼容,有一些支持允許具有三個或更多部分的名稱(例如<hostname>.something.local
)仍然可以與正常 DNS 一起使用;兩部分名稱 (<hostname>.local
) 將由 mDNS 在支持 mDNS 的系統上解析。