我需要使用可從 LAN 中的所有裝置存取的自訂 URL 名稱。
我知道可以在/etc/hosts
文件中設置
127.0.0.1 myname
127.0.1.1 system09-System-Product-Name
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
輸入myname
主機時,可以存取 myname/urlpath 。它僅適用於我的系統。我如何才能使該系統在我的 LAN 中也可用?
答案1
顧名思義,本地主機只能從本地系統存取。
如果您需要其他使用者存取您的自訂 URL,您需要將您的系統 IP 位址與所使用的名稱進行映射,然後透過編輯其 /etc/hosts 檔案在所有 LAN 工作站上新增此項目,例如:
127.0.0.1 <custom_name> # this is for localhost
<your_ip_address> <custom_name> # this is to be added to other workstations in the LAN
其他解決方案是使用本機 LAN 中的 DNS 伺服器並為您的自訂名稱建立 A 記錄,該記錄將允許 LAN 中的其他使用者存取您的連結。
答案2
此名稱localhost
僅供本地存取。
另一方面,您不應該localhost
從其中刪除/etc/hosts
任何一個。如果您嘗試這樣做,您會發現很多問題。
從此時起,您有 3 個選擇。
/etc/hosts
在所有相鄰PC的檔案中建立一個條目- 在網路上設定 DNS 伺服器並向其中新增項目。大多數家庭路由器都有內建的 DNS 伺服器/代理,其中許多允許新增自訂條目。
- 使用 mDNS。 mDNS 是零設定網路。它允許電腦自動解析本機網路上的其他主機,而無需為這些主機手動設定 DNS 伺服器。它透過發送廣播請求並等待回應來實現這一點。
設定它的確切過程因作業系統而異,但 Arch Linux 有一個很好的指導。
一旦您運行它,您所要做的就是將相鄰主機稱為foo.local
(對於名為 的主機foo
)。
該解決方案是跨平台的,因為它在 OS-X 和 Windows 上都受支援(我認為兩者都預設為啟用)。