Linux操做系统下/etc/hosts文件配置方法

一、关于/etc/host,主机名和IP配置文件 mysql

Hosts - The static table lookup for host name(主机名查询静态表) linux

hosts文件是Linux系统中一个负责IP地址与域名快速解析的文件,以ASCII格式保存在“/etc”目录下,文件名为“hosts”(不一样的linux版本,这个配置文件也可能不一样。好比Debian的对应文件是/etc/hostname)。hosts文件包含了IP地址和主机名之间的映射,还包括主机名的别名。在没有域名服务器的状况下,系统上的全部网络程序都经过查询该文件来解析对应于某个主机名的IP地址,不然就须要使用DNS服务程序来解决。一般能够将经常使用的域名和IP地址映射加入到hosts文件中,实现快速方便的访问。 sql

二、配置文件 服务器

这个文件能够配置主机ip及对应的主机名,对于服务器类型的linux系统其做用仍是不可忽略的。在局域网或是INTERNET上,每台主机都有一个IP地址,它区分开每台主机,并能够根据ip进行通信。但IP地址不方便记忆,因此又有了域名。在一个局域网中,每台机器都有一个主机名,用于区分主机,便于相互访问。 网络

Linux主机名的相关配置文件就是/etc/hosts;这个文件告诉本主机哪些域名对应那些ip,那些主机名对应哪些ip: dom

好比文件中有这样的定义 ssh

192.168.1.100 linumu100 test100

假设192.168.1.100是一台网站服务器,在网页中输入http://linumu100或http://test100就会打开192.168.1.100的网页。 工具

一般状况下这个文件首先记录了本机的ip和主机名: 测试

127.0.0.1 localhost.localdomain localhost

三、配置文件格式说明 网站

通常/etc/hosts 的内容通常有以下相似内容:

127.0.0.1 localhost.localdomain localhost

192.168.1.100 linmu100.com linmu100

192.168.1.120 ftpserver ftp120

通常状况下hosts文件的每行为一个主机,每行由三部份组成,每一个部份由空格隔开。其中#号开头的行作说明,不被系统解释。

hosts文件的格式以下:

IP地址 主机名/域名

第一部份:网络IP地址;

第二部份:主机名或域名;

第三部份:主机名别名;

固然每行也能够是两部份,即主机IP地址和主机名;好比 192.168.1.100 linmu100。

这里能够稍微解释一下主机名(hostname)和域名(Domain)的区别:主机名一般在局域网内使用,经过hosts文件,主机名就被解析到对应ip;域名一般在internet上使用,但若是本机不想使用internet上的域名解析,这时就能够更改hosts文件,加入本身的域名解析。

四、 /hosts文件能够帮助解决哪些问题

4.1 远程登陆linux主机过慢问题

有时客户端想远程登陆一台linux主机,但每次登陆输入密码后都会等很长一段时间才会进入,这是由于linux主机在返回信息时须要解析ip,若是在linux主机的hosts文件事先加入客户端的ip地址,这时再从客户端远程登陆linux就会变很快。

注:这里所说的远程登陆不只仅是ssh,还多是mysql远程登陆,或是文件共享的查询等。

4.2 双机互连

当两台主机只是双机互连时,这时两台主机都须要设置本身的ip,同时在对方的hosts文件里加入本身的ip和主机名。

五、主机名修改工具hostname;

其实主机名的修改也有专用工具,就是hostname

hostname - show or set the system’s host name

显示主机名:

# hostname

linmu100

此主机的主机名是linmu100,不加参数是用来显示当前主机的主机名;

临时设置主机名:

# hostname test100

# hostname 注:显示主机名

test100

经过hostname 工具来设置主机名只是临时的,下次重启系统时,此主机名将不会存在;

显示主机IP:

# hostname -i

192.168.1.100


Linux hostname通过长时间的发展,这里我发表一下我的理解,下面就这就来说术Linux hostname。今天又开始写网络文档了,先写一篇小一点的练练手,原本计划了一篇比较大的网络基础文档,一个本身的规划就感受无从下手,内容太多,你们也读着累,因此把大的文档拆分红小的文档,这样写起来不累,并且读着更不累。若是想知道更详细的,我会把这些小文档再组合起来,这样就能成为一个系列文档了。

一、 什么是Linux主机名;

不管在局域网仍是INTERNET上,每台主机都有一个IP地址,是为了区分此台主机和彼台主机,也就是说IP地址就是主机的门牌号。但IP地址不方便记忆,因此又有了域名。域名只是在公网(INtERNET)中存在(以实验为目的的局域网域网实验性除外),每一个域名都对应一个IP地址,但一个IP 地址可有对应多个域名。域名类型 Linux sir.org 这样的;

主机名是用于什么的呢?在一个局域网中,每台机器都有一个主机名,用于主机与主机之间的便于区分,就能够为每台机器设置主机名,以便于以容易记忆的方法来相互访问。好比咱们在局域网中能够为根据每台机器的功用来为其命名。主机名相关的配置文件:/etc/hosts;

2. Linux主机名配置文件;

主机名的配置文件大可能是/etc/hosts ;hosts - The static table lookup for Linux hostname(主机名查询静态表);因为 Linux发行版本众多,与主机名相关的配置文件有时也有所不一样。如今咱们说说常见版本的主机名配置文件;

2.1 Linux主机名置文件 /etc/hosts解说;

Fedora/Redhat 或以Fedora/Redhat为基础打包的发行版,主机名配置文件是 /etc/hosts Debian或以Debian为基础打包的发行版,主机名配置文件是 /etc/Linux hostname 和/etc/hosts Slackware的主机名配置文件是 /etc/hosts 那咱们来读读 /etc/hosts的内容,看这个文件是用来作什么的。

hosts 配置文件是用来把主机名字映射到IP地址的方法,这种方法比较简单。但这种映射只是本地机的映射,也就是说每台机器都是独立的,全部的计算机都不能相互经过Linux hostname来访问。注:在debian 中还有一个/etc/Linux hostname的文件,这个文件就是直接把本地主机名写进去就好了,但要和 /etc/hosts中的本地主机名保持一致。

/etc/hosts 的内容通常有以下相似内容:127.0.0.1 localhost.localdomain localhost 192.168.1.195 debian.localdomain debian注:通常状况下hosts的内容关于主机名(Linux hostname)的定义,每行为一个主机,每行由三部份组成,每一个部份由空格隔开。其中#号开头的行作说明,不被系统解释。

第一部份:网络IP地址;第二部份:主机名.域名,注意主机名和域名之间有个半角的点,好比 localhost.localdomain第二部份:主机名(主机名别名) ,其实就是主机名;固然每行也能够是两部份,就是主机IP地址和主机名;好比 192.168.1.195 debian

127.0.0.1 是回环地址,好比咱们不想让局域网的其它机器看到咱们测试的网络程序,就能够用回环地址来测试。 为何须要定义域名呢?其实理解也简单,好比咱们有三台主机,每台作不一样的事,一台作MAIL服务器,一台作FTP服务器,一台作SMB服务器,因此咱们就能够这样来设计Linux hostname;

 
  1. 127.0.0.1 localhost.localdomain localhost  
  2. 192.168.1.2 ftp.localdomain ftp  
  3. 192.168.1.3 mail.localdomain mail  
  4. 192.168.1.4 smb.localdomin smb 

把这上面这个配置文件的内容分别写入每台机器的/etc/hosts内容中,这样这三台局域网的机器就能够经过Linux hostname来访问了。

2.2 主机名(Linux hostname)和域名(Domain)的区别;

主机名就机器自己的名字,域名是用来解析到IP的。但值得一说的是在局域网中,主机名也是能够解析到IP上的;好比咱们前面所说举的例子;

2.3 局域网的机器,不能经过主机名互访的缘由;

有的弟兄可能会说,个人Linux hostname彼此不能互访,其实这也问题也简单,咱们前面已经提到了一个简单的解决办法。就是要让局域网中的全部主机都有一个通用的,而且包含全部主机的/etc/hosts文件;

另外一个是作解决办法是作局域网DNS服务器,若是您的主机特别少,就用前面所说的简单方法就行;如何作DNS服务器,我将在之后的文档中专题介绍;不过我值得一提的是作任何服务器都是以效率优先的原则为基础。

好比咱们在局域网中两台机器,咱们还有必要作DNS服务器吗?不管怎么解决,最终的都是用最有效率的办法解决问题;咱们不能说明DNS多高级。若是DNS是为外网服务的,那就另说了,不作也得作。对不对?

三、主机名修改工具 Linux hostname;

其实主机名的修改也有专用工具,就是Linux hostname ;我认为若是用这个工具来修改主机名,不如直接修改 /etc/hosts 来的方便;您能够查看 hosname --help或 man Linux hostname的帮助 。在这里咱们只说简单的用法;Linux hostname 工具是用来显示和设置系统主机名,看下面的洋文;Linux hostname - show or set the system’s host name

举例解说:显示主机名:[root@linuxsir01 ~]# Linux hostname linuxsir01此主机的主机名是linuxsir01,不加参数是用来显示当前操做的主机的主机名;临时设置主机名:咱们能够用 Linux hostname 后接主机名,这样就能够设置当前操做的主机的主机名.

好比咱们想把主机名设置为linuxsir02;[root@linuxsir01 ~]# Linux hostname linuxsir02[root@linuxsir01 ~]# Linux hostname 注:显示主机名linuxsir02经过Linux hostname 工具来设置主机名只是临时的,下次重启系统时,此主机名将不会存在;因此您想修改主机名,想一直有效的,仍是用前面所说修改主机名配置文件 /etc/hosts;显示主机IP:显示当前主机名的IP,能够用-i参数;[root@linuxsir01 ~]# Linux hostname -i192.168.1.3

四、本文未尽事宜;

有时咱们在登入桌面时,会提示找不到Linux hostname ,这时您要作的是修改/etc/hosts,为您的机器添加一个主机名;先用 ifconfig -a 来查看主机的IP地址,而后把你主机的IP地址,指定主机名;

好多天没有写文档了,不是由于我没有时间,而是测试了一些我没有用过的硬件。想写几篇硬件文档,但因为条件限制,硬件文档没写出来,还把原本计划好的网络基础系统文件给耽隔下来。

这些天一直在想我这样作是否是失误了?事情已通过去,虽然努力未能成功,但并不能说我没有努力,只是结果没有获得我所须要的。看来作任何事都不是一路顺风的。只要支持下来,就可能出要咱们所想所要的。

相关文章
相关标签/搜索