
修改/etc/hosts之后正常情况应该是保存之后立即生效的。最简单的办法直接 ping hosts
文件.
配置的
主机名,看是否可以返因对应的ip. hosts文件的作用相当如DNS,提供IP地址到hostname的对应。早期的互联网计算机少,单机hosts文件里足够存放所有联网计算机。不过随着互联网的发展,网站越来越多,这就远远不够了。于是就出现了分布式的DNS系统。由DNS服务器来提供类似的IP地址到域名的对应。具体可以manhosts。 更多linux内容一起来《Linux就该这么学》。Linux系统在向DNS服务器发出域名解析请求之前会查询/etc/hosts文件,如果里面有相应的记录,就会使用hosts里面的记录。/etc/hosts文件通常里面包含这一条记录.由于测试需要在开发环境将域名绑定至内网IP上,这时候解析是正常的,按照/etc/hosts的配置解析到了对应的IP。测试完成之后,将该配置删除,发现域名依然解析到刚才配置的IP上去了。于是上网搜索了半天,终于找到了原因。 原来为了提高DNS 解析的记录,很多 *** 作系统都会提供缓存DNS 记录的功能,但是,这可能会为测试DNS 服务或域名设定带来麻烦。为了测试出准确的结果,我们需要强制刷新本地 DNS 缓存记录。 在常见的Linux发行版中主要使用的DNS缓存服务如下: nscd 是 name service cache daemon的缩写,Nscd是一个守护进程,提供最普通的域名请求的缓存服务。 默认的配置文件位于/etc/nscd.conf。 Dnsmasq是一个轻量的,小巧的,易于配置的DNS转发器和DHCP服务器。 它旨在向小型网络提供DNS和可选的DHCP,适用于资源受限的路由器和防火墙。 它可以服务于不在全局DNS中的本地计算机的名称。 它专为个人计算机使用和小型网络而设计,而不是大型网络。 BIND是Berkeley Internet Name Domain 的缩写,是使用最为广泛的域名服务软件。BIND是实现互联网域名系统(DNS)协议的开源软件。 BIND是迄今为止在互联网上使用最广泛的DNS软件,提供强大而稳定的平台。 linux /etc目录下有五个host开头的文件 :host.conf hostname hosts hosts.allow hosts.deny。 1、host.conf 文件指定如何解析主机名,笔者的centos7的/etc/host.conf里面是 multi on,即指定的主机可以有多个IP地址。 2、hosts.allow与hosts.deny这两个配置文件控制外部IP对本机服务的访问,hosts.allow控制可以访问本机的IP地址,hosts.deny控制禁止访问本机的IP。配置完成之后是实时生效的。 3、hostname是主机名,当你在命令行输入hostname时返回的主机名,也是环境变量中命令行 prompt 显示的主机名。 4、 hosts负责IP地址与域名快速解析的文件,包含了IP地址和主机名之间的映射,还包括主机名的别名。详情参考笔者的文章-linux中/etc/hosts文件配置。 先来测试一下hosts.allow与hosts.deny这两个配置文件设置ssh的连接。 hosts.deny中添加设置 sshd : ALL,再次使用ssh连接,会出现:ssh_exchange_identification: read: Connection reset 的错误,但是已经连接上的ssh是不会中断的,说明 hosts.deny时在连接时查询的配置文件。 然后在hosts.allow中添加设置sshd : 192.168.56.1,再次使用ssh可以成功连接。 在设置屏蔽所有ssh后,在单独允许192.168.56.1这个ip地址,ssh是允许的,那么就存在优先级问题。优先级为先检查hosts.deny,再检查hosts.allow。 两个配置文件的格式如下: 服务进程名:主机列表:当规则匹配时可选的命令 *** 作。 为了安全可以在hosts.deny文件中配置拒绝所有的访问ALL:ALL,然后在hosts.allow文件中逐个开放访问许可,增强安全性。 sshd可以换成其他服务进程名,比如httpd、telnetd等等。
评论列表(0条)