訪問網路內的 Linux 系統:是通過主機名還是 netbios 名?
假設 Linux 系統同時啟用了主機名 (/etc/hostname) 和 NetBIOS (/etc/samba/smb.config)。我的問題是:
- 預設設置下這兩個名稱是否以某種方式同步?(例如,安裝 samba 後,(/etc/samba/smb.config)中的
netbios name = something
設置是否更改為與主機名(/etc/hostname)相同的值?)- 當Linux系統被它的名字ping通時,它會通過它的/etc/hostname或/etc/samba/smb.config中的名字來查找嗎?
’netbios name’ 是一個僅由某些特殊程序使用的名稱。
您的 Linux 系統位於由其所有 IP 地址 (try
ifconfig | grep inet
) 表示的網路中,其中 127.0.0.1 和 ::1 始終是您的本地電腦。ping 這些 IP 地址之一將到達您的系統。如果您有一個更複雜的系統,例如通過 Internet 網關的 DHCP,它可能會在每次重新啟動時為您提供一個新地址,您應該查看此服務/路由器/名稱伺服器,它如何代表您的系統,它的名稱是什麼給了你的系統。一般來說,看看是否
/etc/resolv.conf
顯示了“名稱伺服器”條目。如果您嘗試使用某個名稱 ping 其他系統,您的 Linux 系統將詢問該名稱伺服器,並將決定其他系統在哪些名稱下可用。這在極少數情況下可能與其 Netbios 名稱相同,如果該系統有的話,但大多數情況下不會。大多數情況下,您嘗試訪問的其他系統名稱將包括其 /etc/hostname 文件的條目,但可能會被名稱伺服器更改,從而導致類似於 egyourcomputer.fritz.box
而不是yourcomputer
,如果您有一個 FritzBox 可以訪問網際網路,那麼它通常也可以用作名稱伺服器。您仍然可以為所有本地電腦提供固定 IP,並將它們的名稱(包括 netbios 名稱的額外條目)添加到
/etc/hosts
網路中所有電腦上的所有文件(最基本的網路名稱解析系統),這樣您就可以通過 ping 它們“正常”或 netbios 名稱,因為兩者都只是相同固定 IP 地址的別名。