Linux 上 /etc/hosts 的格式(與 Windows 不同?)
粘貼在此問題下方的是
/etc/hosts
來自 Linux (CentOS) 和 Windows 機器的文件範例。Linux 文件在 IP 地址之後有兩個選項卡式條目(即 localhost.localdomain localhost),而 Windows 只有一個。如果我想在 Windows 中編輯主機文件以使用機器名稱 (etest) 而不是 localhost,我只需將單詞 localhost 替換為我想要的機器名稱。該機器不必是域的一部分。在 Linux 機器中,這兩個條目
localhost.localdomain
似乎localhost
表明我需要該機器成為域的一部分。這是真的?我可以簡單地編輯這兩個條目
etest
,使其顯示為:127.0.0.1 etest etest
還是需要我用域名替換一個條目?
另外,請讓我知道
/etc/hosts
Linux機器上文件的第二行是做什麼用的。::1 localhost6.localdomain6 localhost6
hosts
Linux機器上的文件:# Do not remove the following line, or various programs # that require network functionality will fail. 127.0.0.1 localhost.localdomain localhost ::1 localhost6.localdomain6 localhost6
hosts
windows機器上的文件:# Copyright (c) 1993-1999 Microsoft Corp. # # This is a sample HOSTS file used by Microsoft TCP/IP for Windows. # # This file contains the mappings of IP addresses to host names. Each # entry should be kept on an individual line. The IP address should # be placed in the first column followed by the corresponding host name. # The IP address and the host name should be separated by at least one # space. # # Additionally, comments (such as these) may be inserted on individual # lines or following the machine name denoted by a '#' symbol. # # For example: # # 102.54.94.97 rhino.acme.com # source server # 38.25.63.10 x.acme.com # x client host 127.0.0.1 localhost
您總是希望 127.0.0.1 地址首先解析為 localhost。如果有域,您也可以使用它,但請確保 localhost 列在第二位。如果您想為您的機器添加別名以查找環回地址,您可以繼續將它們作為空格分隔的值添加到該行上。在此處指定域是可選的,但不要從選項中刪除“localhost”。
/etc/hosts
Linux 和 Windows 上的格式相同:IP address hostname [hostalias]...
其中方括號是表示某些內容是可選的(實際上不要鍵入它們)的常用方式,而點 (
...
) 表示可以有多個。您不應該讓您的主機成為域的一部分。試試看。
.localdomain
但是,如果您沒有真正的域名,那麼使用它會是一個好主意。由於.ndots
_/etc/resolv.conf
請注意,在這個意義上,域是指 DNS 域(如
google.com
或stackexchange.com
),而不是 Windows 域或類似的任何東西。
::1
以IPv6開頭的行。::1
就像127.0.0.1
在新的定址方案下一樣。執行ifconfig lo
,你應該看到它有兩個地址。請注意以 開頭的條目inet6
。$ ifconfig lo lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host ...
有關更多詳細資訊,請參見hosts(5) 手冊頁。