解決問題 Windows Hosts File (1)

教學目標

初步了解如何手動設定網域主機名稱對應 IP 位址。

重點概念

Hosts 檔案主要是將作業系統的主機名稱對應至 IP 位址,更進一步協助解析電腦網路中的網路節點,主要儲存位置在 C:\Windows\System32\drivers\etc,建議在修改之前先複製一下命名為 hosts.old,再透過記事本開啟 Hosts 檔案進行修改。

假設應用情境是需要安裝多層架構伺服器的解決方案,例如有三台伺服器,第一台為資料庫伺服器,第二台為服務伺服器和第三台為網頁伺服器,此時這三台若剛好沒有加入網域,所以無法透過主機名稱進行連線,但又需要安裝與設定解決方案時要如何解決呢?

首先我們分別在三台伺服器上開啟命令提示字元工具輸入下述指令,查詢伺服器的 IPv4 網路位置、主機名稱和主要 DNS 尾碼。

1
$ ipconfig /all

輸出範例部份內容:

1
2
3
4
5
6
7
8
9
10
Windows IP 設定

主機名稱 . . . . . . . . . . . . .: WEBServer
主要 DNS 尾碼 . . . . . . . . . .: corp.com



IPv4 位址 . . . . . . . . . . . . : 192.168.0.2


接著我們分別在三台伺服器上以管理者帳號登入,複製 「C:\Windows\System32\drivers\etc\hosts」檔案命名為 hosts.old,透過記事本開啟 hosts 檔案,編輯每台伺服器 IPv4 網路位置對應個別的伺服器主機名稱+主要 DNS 尾碼,確認無誤之後進行儲存。

1
2
3
192.168.0.1 SERVServer SERVServer.corp.com
192.168.0.2 WEBServer WEBServer.corp.com
192.168.0.3 DBServer DBServer.corp.com

再來我們開啟的命令提示字元工具輸入下述指令,測試主機名稱+主要 DNS 尾碼是否能夠轉換為 IPv4 網路位置進行連線,主要通訊協定為 ICMP 。

1
$ ping -n 3 WEBServer.corp.com

輸出範例部份內容:

1
2
3
4
5
6
7
8
Ping WEBServer.corp.com [192.168.0.2] (使用 32 位元組的資料):
回覆自 192.168.0.2: 位元組=32 時間=10ms TTL=54
回覆自 192.168.0.2: 位元組=32 時間=26ms TTL=54
回覆自 192.168.0.2: 位元組=32 時間=18ms TTL=54

192.168.0.2 的 Ping 統計資料:
封包: 已傳送 = 3,已收到 = 3, 已遺失 = 0 (0% 遺失),大約的來回時間 (毫秒):
最小值 = 10ms,最大值 = 26ms,平均 = 18ms

最後應用情境中若採用 NAT 網路位址轉換技術則會導致 ipconfig 和 ping 的 IP 位址不對應,例如: WEBServer 伺服器用 ipconfig 指令查詢為 10.0.0.2,但是卻只能透過 ping 192.168.0.2 的網路位置連線至 WEBServer 伺服器。此時安裝與設定任何的解決方案時就要特別的謹慎注意此問題。總結其實只要在安裝解決方案時,請務必先確認是否將相關伺服器加入網域就能不用特別進行設定,理應能夠有效減低安裝與設定解決方案問題發生的風險,配合專案進度在時程內完成任務。

相關資源