轉:http://tech.techweb.com.cn/thread-437185-1-1.html
1. 關于/etc/host,主機名和IP配置檔案9 `6 V: l+ Q" x( F\' `
Hosts - The static table lookup for host name(主機名查詢靜态表)
: Z. Y3 V/ {4 m\' p3 G& e: ~0 W$ TLinux 的/etc/hosts是配置ip位址和其對應主機名的檔案,這裡可以記錄本機的或其他主機的ip及其對應主機名。不同的linux版本,這個配置檔案也可能不同。比如Debian的對應檔案是/etc/hostname。
! ?% K, s# Z8 U* |9 G; @/ _2. 配置檔案
0 Z! u6 \9 p, F* j( ]$ O/ U\' ~7 |\' Z" O這個檔案可以配置主機ip及對應的主機名,對于伺服器類型的linux系統其作用還是不可忽 略的。在區域網路或是INTERNET上,每台主機都有一個IP位址,它區分開每台主機,并可以根據ip進行通訊。但IP位址不友善記憶,是以又有了域名。 在一個區域網路中,每台機器都有一個主機名,用于區分主機,便于互相通路。
1 B7 I% q3 U7 E& o2 xLinux主機名的相關配置檔案就是/etc/hosts;這個檔案告訴本主機哪些域名對應那些ip,那些主機名對應哪些ip:4 i\' z( U/ C3 z) Q
比如檔案中有這樣的定義/ w1 _2 a" L$ a- S* }3 H8 ^$ q1 F
192.168.1.100 linumu100 test100+ o4 R2 a# w/ a: _3 Y# \
假設192.168.1.100是一台網站伺服器,在網頁中輸入http://linumu100或http://test100就會打開192.168.1.100/的網頁。/ P; Q0 h5 E: C. G0 e; P0 W- z) A\' H
通常情況下這個檔案首先記錄了本機的ip和主機名:
/ _+ Q9 [* A" y0 Y4 B& M127.0.0.1 localhost.localdomain localhost7 A\' r1 g c6 D: U- [% L* h y/ t8 U
3. 配置檔案格式說明
& |) c$ Y! G% h6 K. ^1 {+ T一般/etc/hosts 的内容一般有如下類似内容:
j2 C* g6 d4 B( X! p# ]127.0.0.1 localhost.localdomain localhost+ Y0 M3 L) u\' O& P- I* l, ?
192.168.1.100 linmu100.com linmu100" ]3 @1 w& ]- o$ a Z; {
192.168.1.120 ftpserver ftp1208 f# M7 F, B! Y+ a. ]) P
一般情況下hosts檔案的每行為一個主機,每行由三部份組成,每個部份由空格隔開。其中#号開頭的行做說明,不被系統解釋。: g- U5 O# Z. o" } _- B3 M
第一部份:網絡IP位址;* \\' Z- h( d/ p& p: w6 }/ t
第二部份:主機名或域名;
2 }( Z3 D$ y0 X9 _9 v第三部份:主機名别名;* W# [* W7 l6 l
當然每行也可以是兩部份,即主機IP位址和主機名;比如 192.168.1.100 linmu100。5 C7 c9 c7 @\' O: _1 B+ e\' _ x4 s
這裡可以稍微解釋一下主機名(hostname)和域名(Domain)的差別:主機名通常 在區域網路内使用,通過hosts檔案,主機名就被解析到對應ip;域名通常在internet上使用,但如果本機不想使用internet上的域名解析, 這時就可以更改hosts檔案,加入自己的域名解析。
0 K) B! Z A% e4. /hosts檔案可以幫助解決哪些問題
* k0 A. K0 D( A3 v4.1 遠端登入linux主機過慢問題
/ t5 F* v6 I. b- M( d- Z- ~& s6 g有時用戶端想遠端登入一台linux主機,但每次登入輸入密碼後都會等很長一段時間才會進入,這是因為linux主機在傳回資訊時需要解析ip,如果在linux主機的hosts檔案事先加入用戶端的ip位址,這時再從用戶端遠端登入linux就會變很快。
9 H& ^4 w1 t/ u Y2 g注:這裡所說的遠端登入不僅僅是ssh,還可能是mysql遠端登入,或是檔案共享的查詢等。\' w/ L5 [! F3 b) o" y
4.2 雙機互連8 o3 M6 [: Q8 r. \9 }% f( b! k
當兩台主機隻是雙機互連時,這時兩台主機都需要設定自己的ip,同時在對方的hosts檔案裡加入自己的ip和主機名。
9 n; ~9 W, m) f\' f5. 主機名修改工具hostname;
, ~% I# D0 @5 J$ L$ l" G其實主機名的修改也有專用工具,就是hostname
; [# D, l6 j8 F8 K& m8 ? E# khostname - show or set the system’s host name" a1 m& C$ k2 a1 W\' J
顯示主機名:- G$ J0 u5 c) k3 |0 Q( o
# hostname
% L# q5 f( w6 F G8 Xlinmu100
: c5 U" q0 ^0 g3 i! `0 r\' {此主機的主機名是linmu100,不加參數是用來顯示目前主機的主機名;9 K2 x* F& Z; J3 v O8 V9 Z
臨時設定主機名:0 L- E8 e" S. |2 p0 f
# hostname test100
\' A1 s d K: z. Y1 Y# hostname 注:顯示主機名
* r6 P1 d% a9 p% v% v5 Q8 b: Ftest100; }* g\' p/ r/ M8 Y: _0 x* h1 }0 B- Y( {
通過hostname 工具來設定主機名隻是臨時的,下次重新開機系統時,此主機名将不會存在;+ S: h8 _0 E" F$ ?5 G\' R
顯示主機IP:
9 d: x( V, n" X8 [; c# hostname -i
4 J6 @# x" Y\' q7 c5 l192.168.1.100