/etc/hosts文件详解
linux小知识:etc下的host配置文件们
作为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
它下面有几个配置项,如下:
a、order
决定我们访问域名的时候 对域名解析的顺序,如:
order hosts,bind,nis //说明先查询解析/etc/hosts文件,然后DNS,再是NIS
b、multi
- 表示是否允许/etc/hosts文件允许主机指定多个IP地址
- on表示允许,off标识不允许
建议还是on吧
c、nospoof
- 是否允许服务器对ip地址进行其欺骗
- nospoof on表示不允许,默认就是on的(不允许IP欺骗).
这个就不多说了 涉及的东西更多(嗯 主要我也了解不多),一般不用管
3 /etc/hostname
嗯 就是你的服务器的名字 也就是 你执行hostname命令的返回结果
-
最好一并修改/etc/hosts 文件中本机的记录
-
该文件的修改 要重启生效,如果想立马生效,可以一并执行hostname newHostname来立马生效
4 hosts.allow和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