Product SiteDocumentation Site

8.3. 設定主機名稱與組態名稱服務

將 IP 數字轉換為名稱係方便記憶。實務上,IP 位址係用於辨識網路卡之類的網路介面設備。機器可能有多個網路卡,每個網路卡可能有多個介面,所以在網域名稱系統裡,一部電腦就可能有多個名稱。
然而,每部機器都有個辨識用的主要 (如 “canonical”) 名稱,儲存在 /etc/hostname 檔案內並以初始腳本經由 hostname 命令與 Linux 核心溝通。現在的值儲存在虛擬檔案系統,可經由 cat /proc/sys/kernel/hostname 命令取得。
意外的是,網域名稱的管理方式不同,來自機器的完整名稱,經由名稱解析取得。可以在 /etc/hosts 檔案內更改它;在名稱清單前寫入完整的名稱,如下例:
127.0.0.1     localhost
192.168.0.1   arrakis.falcot.com arrakis

8.3.1. 名稱解析

Linux 的名稱解析機制是模組化的且可使用 /etc/nsswitch.conf 宣稱的資料來源。涉及主機名稱解析的款目是 hosts。預設,它包括 files dns,表示系統先參照 /etc/hosts 檔案,再參照 DNS 伺服器。NIS/NIS+ 或 LDAP 伺服器是另個來源選擇。

8.3.1.1. 組態 DNS 伺服器

DNS (網域名稱服務) 是對映名稱至 IP 位址的分散式階層服務,同時也反向對映。尤其是,把人可閱讀的名稱,如 www.eyrolles.com 對映至實際的 IP 位址 213.244.11.247
必須先設定 DNS 伺服器,才能用到 DNS 資訊。Falcot 公司自設該伺服器,但個人使用者可能使用 ISP 提供的 DNS 伺服器。
DNS 伺服器的用法在 /etc/resolv.conf 內,每個一列,在 IP 位址前有 nameserver 鍵詞,如下:
nameserver 212.27.32.176
nameserver 212.27.32.177
nameserver 8.8.8.8
網路由 NetworkManager 管理或經由 DHCP 組態時,可以自動處理 (與覆寫) /etc/resolv.conf 檔案。

8.3.1.2. /etc/hosts 檔案

地區網路沒洧名稱伺服器時,仍可以在保留給地區網路的 /etc/hosts 檔案內,建立 IP 位址與主機名稱的小型對照表。此檔案的語法極簡單:每列一個固定 IP 位址,然後是相關的名稱 (第一個是 “完全合格”,表示包括網域名稱)。
即使網路停擺或 DNS 伺服器不通仍可近用此檔案,但祗適用於在地區網路所有機器重製的內容。即使是極微小的變動,都需要更新各地所有的檔案。所以, /etc/hosts 通常祗包括最重要的款目。
這個檔案對未連上網際網路的小型網路是夠用的,5 部以內的機器,建議安裝一個 DNS 伺服器較佳。