linux中hosts文件
转: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(主机名查询静态表)
Linux 的/etc/hosts是配置ip地址和其对应主机名的文件,这里可以记录本机的或其他主机的ip及其对应主机名。不同的linux版本,这个配置文件也可能不同。比如Debian的对应文件是/etc/hostname。
2. 配置文件
这个文件可以配置主机ip及对应的主机名,对于服务器类型的linux系统其作用还是不可忽 略的。在局域网或是INTERNET上,每台主机都有一个IP地址,它区分开每台主机,并可以根据ip进行通讯。但IP地址不方便记忆,所以又有了域名。 在一个局域网中,每台机器都有一个主机名,用于区分主机,便于相互访问。
Linux主机名的相关配置文件就是/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和主机名:
127.0.0.1 localhost.localdomain localhost7 A' r1 g c6 D: U- [% L* h y/ t8 U
3. 配置文件格式说明
一般/etc/hosts 的内容一般有如下类似内容:
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
第二部份:主机名或域名;
第三部份:主机名别名;* 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文件,加入自己的域名解析。
4. /hosts文件可以帮助解决哪些问题
4.1 远程登录linux主机过慢问题
有时客户端想远程登录一台linux主机,但每次登录输入密码后都会等很长一段时间才会进入,这是因为linux主机在返回信息时需要解析ip,如果在linux主机的hosts文件事先加入客户端的ip地址,这时再从客户端远程登录linux就会变很快。
注:这里所说的远程登录不仅仅是ssh,还可能是mysql远程登录,或是文件共享的查询等。' w/ L5 [! F3 b) o" y
4.2 双机互连8 o3 M6 [: Q8 r. \9 }% f( b! k
当两台主机只是双机互连时,这时两台主机都需要设置自己的ip,同时在对方的hosts文件里加入自己的ip和主机名。
5. 主机名修改工具hostname;
其实主机名的修改也有专用工具,就是hostname
hostname - show or set the system’s host name" a1 m& C$ k2 a1 W' J
显示主机名:- G$ J0 u5 c) k3 |0 Q( o
# hostname
linmu100
此主机的主机名是linmu100,不加参数是用来显示当前主机的主机名;9 K2 x* F& Z; J3 v O8 V9 Z
临时设置主机名:0 L- E8 e" S. |2 p0 f
# hostname test100
# hostname 注:显示主机名
test100; }* g' p/ r/ M8 Y: _0 x* h1 }0 B- Y( {
通过hostname 工具来设置主机名只是临时的,下次重启系统时,此主机名将不会存在;+ S: h8 _0 E" F$ ?5 G' R
显示主机IP:
# hostname -i
192.168.1.100