猜猜看的遊戲真的不怎麼有趣,尤其是當自己好不容易記住主機之間的對應,但是身邊的同事卻老是偷懶不記,一直問我。我又不是 Domain Name Server,提供主機 IP 查詢不是我應該提供的服?務!
說到 DNS ,其實大約半年前公司的 MIS 的架了一個讓我玩過,玩過之後的感想是︰「那個名字真是夭壽長…」,因為不能和網際網路上的 domain 重複(不然就變成屏蔽),所以得先定義一個網域,而每一個名稱後都得把網域名稱輸入進去。
記是記得住,但是設定有點複雜,而且打起來覺得很煩。之後因為這台 DNS 出了一些問題(不是被我玩壞的,是架構的問題),就被 MIS 收了起來。在收起來之前我和 MIS 找到一個不錯的方式,利用 Windows 網路芳鄰的機制。
網路芳鄰的連線方式,就是在檔案總管的路徑打上「\\[主機名稱 或 IP]\[資料夾]」就可以連結到,這就表示,Windows 作業系統可以用這個名字,找到該主機在區域網路的位置,因此只要能讓服務的主機設定好網路芳鄰的名字,要連線的人只要記得這個名字,在瀏覽器打上名稱就可以連得到。加上網路芳鄰不需要取得和網址那麼複雜,也大大降低記憶的困難度。在 Arch Linux 中,只要安裝好 samba ,設定開機自動啟動,他自己會去抓主機的 host name 設定偏為網路芳鄰的名稱。
#pacman -Syu samba #cp /etc/samba/smb.conf.default /etc/samba/smb.conf #/etc/rc.d/samba start第二行是把預設的設定檔 copy 成 samba 服務會讀取的,否則系統會告訴你找不到設定檔。因為我只用到 samba 去註冊名字,不分享資料夾,所以就不對預設的設定作修改。
如果出現服務啟動失敗的話,可以到 /etc/hosts 看看。
# # /etc/hosts: static lookup table for host names # #確定你的 hostname 有在標註的地方,我設過五六台主機,也就只遇到在這個地方出問題。127.0.0.1 localhost.localdomain localhost [你的主機名稱] ::1 localhost.localdomain localhost # End of file
老實說,我不確定「NetBIOS Name」這個名詞用得正不正確,不過至少和公司的 MIS 溝通是不成問題的。只記得 NetBIOS 是以前在網芳不是預設啟動的年代,要到網路卡通訊協定那去找 NetBIOS 或是 NETBEUI 的協定啟動,才能正常使用網路芳鄰找到要連結的主機。久而久之這個用來識別主機的名字就被我叫作 NetBIOS Name。而在 Linux 中,host name 其實也有同等的功能,不過一來是大部分用來連線的電腦都是 Windows 作業系統,再加上我不清楚要怎麼去啟動這個服務。所以最後只能讓 Linux 去遷就 Windows 系統。
因此,如果要讓 Linux 也能夠方便地使用 NetBIOS Name 找到主機,就需要作一些修改。MIS 告訴我說,首先要安裝 samba 。並且修改 /etc/nsswitch.conf 設定檔。
# Begin /etc/nsswitch.conf passwd: files group: files shadow: files publickey: files hosts: wins files dns # 在 hosts 加上 wins networks: files protocols: files services: files ethers: files rpc: files netgroup: files # End /etc/nsswitch.conf
註記︰
- 作為 Client 的主機不需要啟動 Samba 服務。
- 看到網路說,NetBIOS 是 IBM 提出的協定(不是 Microsoft),所以猜想可能不裝 samba 也可以運作,未來再找時間試試看。
沒有留言:
張貼留言