hosts文件是Linux系统中一个负责IP地址与域名快速解析的文件,包含了IP地址和主机名之间的映射,还包括主机名的别名。文件目录位于 /etc/hosts ,作用相当于DNS 。 这个与 /etc/hostname 文件不一样,这个文件只包含hostname这一个名字(命令行hostname返回就是这个文件的内容), hosts文件存放的是域名与ip的对应关系。修改主机名时,这两个文件都需要修改。
在没有域名服务器的情况下,系统上的所有网络程序都通过查询/etc/hosts文件来解析对应于某个主机名的IP地址,实现快速访问。
在支持 mDNS(multicast DNS) 多播DNS的局域网中,使用主机名加上”.local”即可直接访问主机名对应的设备。这个就不需要配置/etc/hosts文件来完成P地址与域名解析,笔者的小米路由器支持这个功能。但是笔者觉得配置/etc/hosts文件更加方便,也可以设置别名。
下图是笔者配置的,填入局域网内所有linux服务器的IP和域名,而且每个服务器都需要设置一样。当主机互连时,每台主机都需要设置自己的ip与域名,同时在对方的hosts文件里加入自己的ip和主机名。笔者遇到的linux服务器上,都配置了这个文件,方便通过域名或别名来访问。
下图是笔者实验的两个树莓派配置信息。
hosts文件的格式如下:
第一部份:网络IP地址,比如192.168.31.76。
第二部份:主机名或域名,比如host1。
第三部份:主机名别名,比如host_maria。
在marai服务器上测试域名和别名, ping host2或者ping host_LAMP都可以实现,笔者在这里就不把测试结果贴出来了。
② 如何在Linux操作系统下配置/etc/hosts文件
Linux操作系统下/etc/hosts文件配置方法
1、关于/etc/host,主机名和IP配置文件
Hosts - The static table lookup for host name(主机名查询静态表)
hosts文件是Linux系统中一个负责IP地址与域名快速解析的文件,以ASCII格式保存在“/etc”目录下,文件名为“hosts”(不同的linux版本,这个配置文件也可能不同。比如Debian的对应文件是/etc/hostname)。
通常可以将常用的域名和IP地址映射加入到hosts文件中,实现快速方便的访问。
2、配置文件
这个文件可以配置主机ip及对应的主机名,对于服务器类型的linux系统其作用还是不可忽略的。
Linux主机名的相关配置文件就是/etc/hosts;这个文件告诉本主机哪些域名对应那些ip,那些主机名对应哪些ip:
比如文件中有这样的定义
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
3、配置文件格式说明
一般/etc/hosts 的内容一般有如下类似内容:
127.0.0.1 localhost.localdomain localhost
192.168.1.100 linmu100.com linmu100
192.168.1.120 ftpserver ftp120
一般情况下hosts文件的每行为一个主机,每行由三部份组成,每个部份由空格隔开。其中#号开头的行做说明,不被系统解释。
当然每行也可以是两部份,即主机IP地址和主机名;比如 192.168.1.100 linmu100。
这里可以稍微解释一下主机名(hostname)和域名(Domain)的区别:主机名通常在局域网内使用,
通过hosts文件,主机名就被解析到对应ip;域名通常在internet上使用,但如果本机不想使用internet上的域名解析,
4、hosts文件可以帮助解决哪些问题
4.1 远程登录linux主机过慢问题
有时客户端想远程登录一台linux主机,但每次登录输入密码后都会等很长一段时间才会进入,这是因为linux主机在返回信息时需要解析ip,
4.2 双机互连
当两台主机只是双机互连时,这时两台主机都需要设置自己的ip,同时在对方的hosts文件里加入自己的ip和主机名。
5、主机名修改工具hostname;
其实主机名的修改也有专用工具,就是hostname
hostname - show or set the system’s host name
显示主机名:
# hostname
linmu100
此主机的主机名是linmu100,不加参数是用来显示当前主机的主机名;
临时设置主机名:
(2)linuxhostname访问扩展阅读
什么是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中的本地主机名保持一致。
第一部份:网络IP地址;第二部份:主机名.域名,注意主机名和域名之间有个半角的点,比如 localhost.localdomain第二部份:主机名(主机名别名) ,其实就是主机名;当然每行也可以是两部份,就是主机IP地址和主机名;比如 192.168.1.195 debian
127.0.0.1 是回环地址,比如我们不想让局域网的其它机器看到我们测试的网络程序,就可以用回环地址来测试。 为什么需要定义域名呢?其实理解也简单,比如我们有三台主机,每台做不同的事,一台做MAIL服务器,一台做FTP服务器,一台做SMB服务器,所以我们就可以这样来设计Linux hostname;
③ 怎么查linux的hostname
redhat6为例 显示来主机名源#hostname 显示主机名#hostname linux01 主机名临时设定为linux01 设置主机名,更改下面的文件[root@master mnt]# vim /etc/sysconfig/networkHOSTNAME=linux01 主机名设定为linux01, 永久有效
④ 如何在Linux shell中获取本机主机名
1、查看主机名查看当前系统主机名,输入hostname命令查看。
⑤ 如何修改Linux的hostname
1、登录Linux后切换到根用户,然后在提示符下输入hostname命令,可获得当前主机名localhost.localdomain。
⑥ linux本机的hostname是什么意思
Linux操作系统的hostname是一个kernel变量,可以通过hostname命令来查看本机的hostname。也可以直接cat /proc/sys/kernel/hostname查看。
#hostname
#cat /proc/sys/kernel/hostname
上面两种输出结果相同。
一、修改运行时Linux系统的hostname,即临时修改,不需要重启系统
hostname命令可以设置系统的hostname
#hostname newname
newname即要设置的新的hostname,运行后立即生效,但是在系统重启后会丢失所做的修改,如果要永久更改系统的hostname,就要修改相关的设置文件。
二、永久更改Linux的hostname
man hostname里有这么一句话,”The hostname is usually set once at system startup in /etc/rc.d/rc.inet1 or /etc/init.d/boot (normally by reading the contents of a file which contains thehost name, e.g. /etc/hostname).” RedHat里没有这个文件,而是由/etc/rc.d/rc.sysinit这个脚本负责设置系统的hostname,它读取 /etc/sysconfig/network这个文本文件,RedHat的hostname就是在这个文件里设置。
所以,如果要永久修改RedHat的hostname,就修改/etc/sysconfig/network文件,将里面的HOSTNAME这一行修改成HOSTNAME=NEWNAME,其中NEWNAME就是你要设置的hostname。
Debian发行版的hostname的配置文件是/etc/hostname。
修该配置文件后,重启系统就会读取配置文件设置新的hostname。
⑦ 在linux系统下面怎么查hostname和hostid
Linux下用hostid命令查找到的值与Solaris用hostid命令查找到的不是一个概念
Linux下用hostid命令查找到的值是回取hostname对应的ip地址答。然后把ip地址转换成hex,然后将位置2143位置颠倒后的结果
这个对应记录在/etc/hosts文件里,比如我的hostname:ITMS-server对应的ip就是127.0.0.1.那我的hostid就是007f0100
.
而Linux下与Solaris用hostid命令查找到的hostid 为同一概念的值应按下表获取
因此IMTS-server上的hostid应该为D485646979EE
请用这个申请license