什么是Hosts文件?
Hosts是一个没有扩展名,用于储存计算机网络中各节点信息的计算机文件。这个文件负责将主机名称映射到相应的IP地址。hosts文件通常用于补充或替换网络中DNS的功能。和DNS不同的是,计算机的用户可以直接对hosts文件进行控制。
配置文件
这个文件可以配置主机ip及对应的主机名,对于服务器类型的linux系统其作用还是不可忽略的。在局域网或是INTERNET上,每台主机都有一个IP地址,它区分开每台主机,并可以根据ip进行通讯。但IP地址不方便记忆,所以又有了域名。在一个局域网中,每台机器都有一个主机名,用于区分主机,便于相互访问。
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
配置文件格式说明
一般/etc/hosts 的内容一般有如下类似内容:
127.0.0.1 localhost.localdomain localhost
192.168.1.100 linmu100.com linmu100
192.168.1.120 ftpserver ftp120
一般情况下hosts文件的每行为一个主机,每行由三部份组成,每个部份由空格隔开。其中#号开头的行做说明,不被系统解释。
第一部份:网络IP地址;
第二部份:主机名或域名;
第三部份:主机名别名;
当然每行也可以是两部份,即主机IP地址和主机名;比如 192.168.1.100 linmu100。
这里可以稍微解释一下主机名(hostname)和域名(Domain)的区别:主机名通常在局域网内使用,通过hosts文件,主机名就被解析到对应ip;域名通常在internet上使用,但如果本机不想使用internet上的域名解析,这时就可以更改hosts文件,加入自己的域名解析。
hosts文件可以帮助解决哪些问题
1 .远程登录linux主机过慢问题
有时客户端想远程登录一台linux主机,但每次登录输入密码后都会等很长一段时间才会进入,这是因为linux主机在返回信息时需要解析ip,如果在linux主机的hosts文件事先加入客户端的ip地址,这时再从客户端远程登录linux就会变很快。
注:这里所说的远程登录不仅仅是ssh,还可能是mysql远程登录,或是文件共享的查询等。
2 . 双机互连
当两台主机只是双机互连时,这时两台主机都需要设置自己的ip,同时在对方的hosts文件里加入自己的ip和主机名。
如何在电脑中快速找到hosts文件:
(1)点击 Finder,在顶部菜单栏选择“前往”-“前往文件夹”,粘入 “/private/etc/” 这个路径(不带引号)
(2)找到 “hosts” 文件,复制一份到桌面。用 Mac OS X 系统自带的文本编辑器就能编辑 hosts 文件。添加好你要访问(或者拦截)的网站相关 hosts 信息后保存,拖回 Finder 里的 /private/etc/ 文件夹下即可。拖回去的时候,Mac 会弹出报警说无法移动项目。点击“认证”按钮然后输入电脑密码即可。
Hosts文件怎么将IP地址与域名做绑定
1.打开后,原来里面有的文字不用管它,在下面另起一行,输入IP地址,输入空格后,输入域名,然后回车换行,保存就可以了,如下所示:
98.140.75.288 www.baidu.com
2.IP地址后面可以输入多个域名,有两种方式,一种是在同一行中加入多个域名,如图所示:
98.140.75.288 www.baidu.com m.baidu.com
3.另一种是在IP地址后面输入域名,回车换行,再输入域名,个人认为这样排版方便查看。如图所示:
98.140.75.288 www.baidu.com
m.baidu.com
管理软件
mac上的一款应用 helm 编辑主窗口,可以轻松实现“增删改”
获取读写权限:sudo /bin/chmod +a ‘user:Coach:allow write’ /private/etc/hosts
Hosts文件绑定不生效
1.查看Hosts文件绑定是不是正确的?IP地址前面是否有#号?#号表示对修改的host中的IP地址,注释了,不会生效,把#去掉,就会域名直接进入到对应的IP上了,有时候电脑里装了杀毒软件,会提示你修复Hosts文件,修复后所有的IP地址前面都会出现#号,如果确定是你自己修改的Hosts文件,没有安全性问题,把IP地址前面的#号去掉即可。
2.域名后面即文本的最后一行要记得回车换行,留空白行才行哦,不然也会绑定无效
3.Hosts文件绑定后,还是无法生效,如果你之前打开过浏览器可能有缓存,可掉关掉浏览器再重新打开,或清理浏览器的缓存,也可以用另外一个浏览器打开域名。