LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2122|回复: 5

hosts.deny文件中的主机名是如何判断的?

[复制链接]
发表于 2006-8-25 18:40:24 | 显示全部楼层 |阅读模式
例如,我在hosts.deny中添加:
sshd : .test.org
,则是不是主机名(hostname)是*.test.org的主机可以访问?还是说通过DNS解析的?

我做过这样的实验:
如果在DNS里面解析test1.test.org,则test1.test.org这个主机还是可以ssh服务器,
但是如果在/etc/hosts里面加上test1.test.org的解析,则test1主机就不能ssh该服务器了。
是不是说/etc/hosts.deny文件里面的主机名是通过/etc/hosts来判断的??
发表于 2006-8-25 18:54:59 | 显示全部楼层
在hosts_access 5 的man 里你可以找倒这样一段
  1. The  explicitly  authorized  hosts  are  listed in the allow file.  For
  2.        example:
  3.        /etc/hosts.allow:
  4.           ALL: LOCAL @some_netgroup
  5.           ALL: .foobar.edu EXCEPT terminalserver.foobar.edu
  6.        The first rule permits access from hosts in the local domain (no ‘.? in
  7.        the  host  name)  and  from members of the some_netgroup netgroup.  The
  8.        second rule permits access from all  hosts  in  the  foobar.edu  domain
  9.        (notice  the  leading  dot),  with the exception of terminalserver.foo-
  10.        bar.edu.
复制代码
以我的理解,它并没有强调是需要本地/etc/hosts里定义host name,且/etc/hosts里也定义不了 domain !
可以这样理解, hosts_access还是走的域名解析的路,但是因为linux系统是根据/etc/host.conf定义的域名解析方式,首先hosts然后bind的,所以如果你定义了/etc/hosts会很快解析到,如果没有定义,需要走/etc/resolv.conf里定义的nameserver 解析!
你提到的test1.test.org解析到但还可以连接的问题,我没有碰到过,希望你检查你测试机的域名解析设置!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-8-25 20:43:29 | 显示全部楼层
[root@RHEL4-3 ssl]# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1               RHEL4-3 localhost.localdomain localhost
#192.168.121.1          vmware   vmware.hnisi.com.cn
#192.168.121.1          vmware vmware.test.org
#192.168.1.146          vmware vmware.hnisi.com.cn
#192.168.121.10         test1.test.org
[root@RHEL4-3 ssl]# dig test1.test.org

; <<>> DiG 9.2.4 <<>> test1.test.org
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 60069
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;test1.test.org.                        IN      A

;; ANSWER SECTION:
test1.test.org.         86400   IN      A       192.168.121.10

;; AUTHORITY SECTION:
test.org.               86400   IN      NS      localhost.test.org.

;; Query time: 5 msec
;; SERVER: 192.168.121.4#53(192.168.121.4)
;; WHEN: Fri Aug 25 21:10:18 2006
;; MSG SIZE  rcvd: 72

[root@RHEL4-3 ssl]# cat /etc/hosts.allow
#
# hosts.allow   This file describes the names of the hosts which are
#               allowed to use the local INET services, as decided
#               by the '/usr/sbin/tcpd' server.
#
vsftpd : .test.org : DENY

[root@RHEL4-3 ssl]# ssh test1.test.org
root@test1.test.org's password:
Permission denied, please try again.
root@test1.test.org's password:
Last login: Sat Aug 26 05:43:08 2006 from 192.168.121.4
[root@test1 ~]# ftp RHEL4-3.test.org
Connected to RHEL4-3.test.org.
220 (vsFTPd 2.0.1)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (RHEL4-3.test.org:root):
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-8-29 17:27:06 | 显示全部楼层
如果是根据DNS来解析,那它是一开始查出所有属于test.org的主机?还是某个IP连接过来,然后根据这个IP去反向解析主机名,再和规则对比?如果是这样岂不是要求配置反向解析?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-8-29 17:49:00 | 显示全部楼层
果然是反向解析的问题!配置反向解析后就OK
回复 支持 反对

使用道具 举报

发表于 2006-8-30 05:52:32 | 显示全部楼层
反向地址解析。

这个不用猜测,我做过实验。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表