|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 pulbieup 于 2019-11-11 15:44 编辑
4 y3 y& n, P3 l. r; d
( z& \/ u' V5 \3 L1 s1、关于/etc/host,主机名和IP配置文件
9 _2 H0 s* _. C" Q9 M( g( x( Q, U& O: [1 G
Hosts - The static table lookup for host name(主机名查询静态表)
' J4 s, O* V4 ^- s( m* h' v0 H. h* m" r% A) L6 X: Z
hosts文件是Linux系统中一个负责IP地址与域名快速解析的文件,以ASCII格式保存在“/etc”目录下,文件名为“hosts”(不同的linux版本,这个配置文件也可能不同。比如Debian的对应文件是/etc/hostname)。hosts文件包含了IP地址和主机名之间的映射,还包括主机名的别名。在没有域名服务器的情况下,系统上的所有网络程序都通过查询该文件来解析对应于某个主机名的IP地址,否则就需要使用DNS服务程序来解决。通常可以将常用的域名和IP地址映射加入到hosts文件中,实现快速方便的访问。2 {4 v: H ~' H7 J' g
/ O3 z2 v* q) D' x
2、配置文件
% @) V: v- `* z, s* S! W% S' d; R! U J9 D" r
这个文件可以配置主机ip及对应的主机名,对于服务器类型的linux系统其作用还是不可忽略的。在局域网或是INTERNET上,每台主机都有一个IP地址,它区分开每台主机,并可以根据ip进行通讯。但IP地址不方便记忆,所以又有了域名。在一个局域网中,每台机器都有一个主机名,用于区分主机,便于相互访问。
$ c! S$ E8 N2 b% M# A1 X" r
( e+ e: q5 S9 ~/ @! O$ ~: oLinux主机名的相关配置文件就是/etc/hosts;这个文件告诉本主机哪些域名对应那些ip,那些主机名对应哪些ip:! g5 G0 Q! b# m7 e: G- ^. s7 E! N
# S9 K& C8 A; h' o比如文件中有这样的定义" w$ z: H* U+ A9 {
. [9 m$ O2 D( @) i6 [3 ?: X9 @9 Y192.168.1.100 linumu100 test100+ @9 r4 }# b( j" n- T8 u9 X! v
假设192.168.1.100是一台网站服务器,在网页中输入http://linumu100或http://test100就会打开192.168.1.100的网页。
( V6 F- t5 C4 L# _4 X _
% S( e/ i5 i* m8 I- O通常情况下这个文件首先记录了本机的ip和主机名:' ^/ p: m* L! `+ k
) F. S9 F/ ~" Z! |! v, X127.0.0.1 localhost.localdomain localhost $ \2 m+ O5 K# s
; v/ l* c1 h, v- I0 t* P. Z' M
3、配置文件格式说明1 V4 |- {. {7 u) W! `( T# V
]: ^( u" A) T
一般/etc/hosts 的内容一般有如下类似内容:5 r! P8 h! H$ j3 O \( K2 F
# n4 p7 h- [: A; E# l2 S1 F127.0.0.1 localhost.localdomain localhost
6 I2 ]2 n/ j ^9 _/ w' k4 h! p" R( }' n" b
192.168.1.100 linmu100.com linmu100) v3 }. E5 {9 I( C8 [/ g
, h; c( t0 Y& R192.168.1.120 ftpserver ftp120* Z2 `) e" A5 ^! G
. ^. Y- A( \8 r! H% \+ `
一般情况下hosts文件的每行为一个主机,每行由三部份组成,每个部份由空格隔开。其中#号开头的行做说明,不被系统解释。
' G% ]- l( r. R
& `* U: N1 O3 p, Y* k% P# c3 Y$ qhosts文件的格式如下:
" R3 \# c8 _. p3 `+ r4 ^% i
4 L3 C( ^4 |; Z( D$ W5 \% pIP地址 主机名/域名 * z4 c, S& z8 w- C+ S& Z8 n* M
# E2 \0 Y) D, q1 J! E" l
第一部份:网络IP地址;/ t7 U+ {8 B. j: |1 j* ?
7 K& L7 `3 z e3 v; Y. s6 W第二部份:主机名或域名;+ R: { P5 e6 o; ?1 e* H
( C) E" @( B+ e. m/ Z
第三部份:主机名别名;2 ?, G' Z d# S" Y2 l3 b
0 x, l7 }5 X- A: q
当然每行也可以是两部份,即主机IP地址和主机名;比如 192.168.1.100 linmu100。7 y/ C. B2 r( j3 {0 C7 `
$ L3 f) u8 C! T这里可以稍微解释一下主机名(hostname)和域名(Domain)的区别:主机名通常在局域网内使用,通过hosts文件,主机名就被解析到对应ip;域名通常在internet上使用,但如果本机不想使用internet上的域名解析,这时就可以更改hosts文件,加入自己的域名解析。
3 X7 W# S, f% t& A7 k+ {! n0 j4 h1 q/ ]- F: r
4、 /hosts文件可以帮助解决哪些问题
2 }& N b0 ]+ p7 c6 l/ ~7 L9 Z: H
# d; w$ t( P+ F5 n, g* U4.1 远程登录linux主机过慢问题
! J9 ~, W" }" N4 k8 z
$ {3 \/ y, ^8 H4 \1 R7 O# W" C% L有时客户端想远程登录一台linux主机,但每次登录输入密码后都会等很长一段时间才会进入,这是因为linux主机在返回信息时需要解析ip,如果在linux主机的hosts文件事先加入客户端的ip地址,这时再从客户端远程登录linux就会变很快。
- t; D% S4 G- P7 L; m- f3 A9 ~$ R
注:这里所说的远程登录不仅仅是ssh,还可能是mysql远程登录,或是文件共享的查询等。
: N" \: \) O8 D5 B* d$ L& ]* j3 g+ R5 s( F
4.2 双机互连
U8 ?# B" G3 D, B8 g
- ^# K7 e& W- w; ?! C6 M当两台主机只是双机互连时,这时两台主机都需要设置自己的ip,同时在对方的hosts文件里加入自己的ip和主机名。" o' q( x- s p; g# Z/ g
. b, ]: }( ~2 o/ E) |* `& e
5、主机名修改工具hostname;
8 ]: F1 r+ U+ A6 o+ K( m- ]. f0 d1 k2 ?4 X
其实主机名的修改也有专用工具,就是hostname( B; J+ p+ |# P. F# j! }3 J
- k9 j& b; y" ~& J* h7 y* Zhostname - show or set the system’s host name1 a3 Y( h+ t$ f8 ^# w
1 a2 U. E% p& d: V4 O% l. o
显示主机名:
# b& ~& A' c* ]2 {- l
2 X8 {" C2 o8 w4 Z( e# hostname# I( n0 a: P3 t' q `. N: _
+ a, x/ C; T! U7 ulinmu100
1 I3 d1 x2 Z0 n
; E% u9 }6 Q6 q9 a z$ I此主机的主机名是linmu100,不加参数是用来显示当前主机的主机名; G6 }( ~) q9 h" b
& c9 t1 z2 p- E# \
临时设置主机名:' B! i6 y8 F: f H9 S6 y$ ?% X9 ]
& k: |( `1 D9 I4 J6 f# e- G2 A
# hostname test100; c% W2 I6 e$ [$ K0 l% Z
, m a: i) t4 I( {. X
# hostname 注:显示主机名
/ F7 v6 x: n) D) j, e+ l2 M+ ^
4 K; q, b2 C; `' [4 N/ ntest1009 t+ M9 {* N$ c+ s% ?+ c
4 V! b. e3 ?. P- v5 I; C; c, x% R) C通过hostname 工具来设置主机名只是临时的,下次重启系统时,此主机名将不会存在;( S5 L4 J6 G- i O. s: P
& c) o. ]7 C6 G显示主机IP:
$ y9 X% r: B6 _; w1 N' ~5 O# s& u. v' o# _5 ]# a
# hostname -i# Y6 q E! Z- g1 z- Y
) x: f; c6 b4 t0 B
192.168.1.1001 I3 ^3 B% p+ y% {9 F* E/ h9 O
- X5 z) l5 Y& J4 x+ z* d
: _- Q; v" P3 M- ^# U1 T- S7 F. [3 Y/ f* d3 ? W* Y- k3 K
有时候/etc/hosts文件会看到127.0.1.1这个地址,这是什么呢?$ Q: u) E i7 O0 C6 ^
+ @ M" \% i$ \! W% [# G, P8 K127.0.0.1这个loopback地址很常见,就是本地接口的回路/回环地址。但有时候/etc/hosts文件中还会出现127.0.1.1,这又是什么地址呢?这也是个本地回路/回环地址。7 e4 c: ]& Z3 {; V: c
; x; c2 r. k/ y, a
出现这个地址的原因是因为有些应用程序需要规范的全限定域名FQDN(Fully Qualified Domain Name),FQDN不只需要主机名还需要主机域名,其表达形式为hostname.domainname* u$ P' J- s8 E$ [' ~+ v4 H
8 \9 y7 A; W# H3 n如果你的主机有一个静态IP地址,则FQDN名字解析到这个静态地址,否则解析到127.0.1.1这个本地回路地址。所以一般情况下不会看到127.0.1.1这个地址。
8 e% M; \# m4 K/ r% d
3 d# [' j% Q3 K @* P127.0.0.1一般只对应hostname,这也是二者的主要区别,如下# W @9 l G, z* H: x* |
# [+ n: r9 k& d" w7 j% E127.0.0.1 hostname0 U! N* @9 \2 |% s
127.0.1.1 hostname.domainname! v1 K$ d; v- Q, w
, {5 \4 q! p$ C2 q! m当然并一定非要用127.0.1.1这个IP,RFC规定的127.0.0.0/8这个IP段内的任意IP都可以,只要没有冲突,debian选择了127.0.1.13 W o @$ _+ \" D8 u
) S1 a, l2 \; } W查看主机名
3 A" U, E' P5 J4 l# hostname
! u8 {% a. A- K: ?hostname
: F* [- ^$ J5 W
: \; I2 n+ C! Q% z C5 u查看FQDN名字
: T6 r7 J: }* K# hostname –fqdn' f+ f% }8 X p' y) |
hostname.domainname& |9 X' N+ \1 i; A8 t
3 U6 }1 e: k& Z0 K: B0 e; ?4 |
3 B* K3 W" h- G8 j
localhot(local)是不经网卡传输!这点很重要,它不受网络防火墙和网卡相关的的限制。& f& ?+ U r5 E b3 z
127.0.0.1是通过网卡传输,依赖网卡,并受到网络防火墙和网卡相关的限制。
8 J7 e% [5 u2 A$ s5 [一般设置程序时本地服务用localhost是最好的,localhost不会解析成ip,也不会占用网卡、网络资源。
; f0 p$ N' c7 T有时候用localhost可以,但用127.0.0.1就不可以的情况就是在于此。猜想localhost访问时,系统带的本机当前用户的权限去访问,而用ip的时候,等于本机是通过网络再去访问本机,可能涉及到网络用户的权限。4 ~ ^' @6 q& {9 t# K. @
' g) |1 f& R3 {8 a$ g
' L) m, q2 R- V: p
+ Z7 G- y' d/ Q) L; A, K d: ^! c# c# q% f% j/ [* @
如何修改Ubuntu主机名; A& e5 X% N3 |% H
7 N" m4 X( ^( W4 j+ O
要修改两个文件
$ q, w }/ `* z" E8 {
4 h- C$ R' b- c6 X2 a 1、修改 /etc/hostname 下的主机名;
4 F4 m; t1 T- d( V. R" Y% T" y. B5 L$ h9 Q5 V# r2 C+ n: U, _$ ^3 U
2、修改 /etc/hosts 文件,替换原主机名,我替换的是 127.0.1.1 后的主机名/ ?' J( M, ~0 C: o" A: P; W
+ a3 y; D9 S: I3 E( \* z9 H 3、使用 hostname 进行测试4 H" S7 Z! i" T- E7 G5 J
/ N# U6 j% y4 y" y
/ U) ]( R' a Z1 x
7 |6 @) V0 ^/ `& ?& J2 E R# {1 t& ~8 H ~
4 k7 ]( x5 `) i8 X; |! m
- r; ]5 [. Z' L ~# y) g
" A. {9 E. q$ `9 b9 l; `6 F: Z" ^
" S5 S) J7 G) B" T; E' G* V( |$ i
% m) \9 w# N- x) o& `! ?& L6 k* g( ?
- J5 | k: g" u1 R n6 e/ ^
, P F3 i7 v J* G4 K
# i) @$ Q$ l( w3 U6 u
* |3 x& _8 J( Q5 p' w9 X- \3 \$ H* o
+ Q5 w# k3 Z t3 D7 ]# n* B
|
|