作为linux运维  对etc这个目录必然不会陌生   本文简单讲解一下ect下host开头的配置文件

1、/etc/hosts

        这个和windows的一样  都是在本地将域名指向自己想要解析的IP

        当我们访问域名的时候  默认第一步就会先看本地的hosts文件  没有的话才会通过dns服务器获取解析(当然这个顺序是可以通过下面讲的host.conf改变的)

        windows的路径是:C:\Windows\System32\drivers\etc\hosts

        配置格式为:

        IP 域名  如下面这样

        1.1.1.1  aaa.csdn.com

        下面小知识点要记住

        a、一个域名同时配置了两个IP  那么会按照从上到下的顺序优先进行解析

        b、一个域名配置了多个IP,如果优先级高的解析IP访问受阻,则会继续转向下一个解析IP(这个无法做到负载均衡哦)

        c、以上两个知识点的前提是 host.conf 中multi配置为on

2、/etc/host.conf

        这个一般很少动  不过也是很重要的配置文件,默认一般配置如下:

         order hosts,bind
         multi on

        它下面有几个配置项,如下:

2.1、order

        决定我们访问域名的时候  对域名解析的顺序,如:

        order hosts,bind,nis  //说明先查询解析/etc/hosts文件,然后DNS,再是NIS

2.2、multi

        表示是否允许/etc/hosts文件允许主机指定多个IP地址 ,on表示允许,off标识不允许

        建议还是on吧

2.3、nospoof

        是否允许服务器对ip地址进行其欺骗,nospoof on表示不允许,默认就是on的(不允许IP欺骗).

        这个就不多说了 涉及的东西更多(嗯 主要我也了解不多),一般不用管

3、/etc/hostname

        嗯 就是你的机器的名字  也就是 你执行hostname命令的返回结果 

        最好一并修改/etc/hosts 文件中本机的记录

        该文件的修改  要重启生效,如果想立马生效,可以一并执行hostname newHostname来立马生效 

4、/etc/hosts.allow和/etc/hosts.deny

        这两个就是为了限制外部服务器的访问的,一般都是搭配使用的

        linux 系统会先检查/etc/hosts.deny规则,再检查/etc/hosts.allow规则,如果有冲突按/etc/hosts.allow规则处理

        例如大公司一般都不寻直接登录服务器,都是通过堡垒机进行登录

        这样一般就会进行如下配置,只允许堡垒机的IP进行ssh登录

        /etc/hosts.deny配置如下,禁止所有IP的ssh访问:

sshd:all:deny

        /etc/hosts.allow配置如下,允许堡垒机IPssh访问:

sshd:【堡垒机IP或者网段】:allow

龙叔运维  持续分享运维经验