作为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
龙叔运维 持续分享运维经验