Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1211950
  • 博文数量: 190
  • 博客积分: 4090
  • 博客等级: 上校
  • 技术积分: 3878
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-22 15:52
文章分类

全部博文(190)

文章存档

2013年(30)

2012年(160)

分类: 系统运维

2012-05-16 22:17:56

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://blog.chinaunix.net/space.php?uid=16829731&do=blog&id=3210965
探讨防火墙内核监听
在前面的一系列博文中我们已经介绍了很多发布Web站点的内容,今天我们来发布一些其他的服务器,然后再来探讨一下发布这些服务器和发布Web站点有什么区别。我们先举两个例子,发布内网的DNS服务器和终端服务器,拓扑如下图所示,Perth是要发布的终端服务器服务器,Denver是要发布的DNS服务器。
首先我们来发布Perth上的终端服务器,在ISA服务器上右键点击防火墙策略,如下图所示,选择新建“非Web服务器协议发布规则”。
 
为发布规则取名为“发布Perth上的终端服务器”。
 
终端服务器PerthIP10.1.1.6
 
选择使用的发布协议,注意,发布规则使用的协议方向都是入站,而访问规则使用的协议方向都是出站
监听外网的访问请求。
 
完成服务器发布规则向导。
 
终端服务器发布规则生效之后,我们在外网客户机Istanbul上测试一下。在Istanbul上依次点击 开始-程序-附件-通讯-远程桌面连接,如下图所示,填入ISA服务器外网IP作为要连接的远程桌面服务器。
 
出现远程桌面的连接界面,如下图所示,输入用户名和口令登录系统。
 
OK,我们用远程桌面登录进入了Perth,发布终端服务器成功了!
 
这个实验很简单,我们再来尝试一下发布内网的DNS服务器,如下图所示,在ISA服务器上新建“非Web服务器协议发布规则”。
为发布规则取名为“发布Denver上的DNS服务器”。
填入DNS服务器地址10.1.1.5
 
这次使用的发布协议是DNS服务器。
 
监听外网的访问请求。
 
结束发布规则。
 
好了,我们还是在Istanbul上测试一下发布的效果,如下图所示,Istanbul已经在TCP/IP的设置中将DNS服务器指向了ISA的外网网卡。
 
Istanbul上测试一下DNS服务器的解析能力,如下图所示,域名解析成功,DNS服务器的发布也没有问题。
 
好了,举了两个发布服务器的例子之后,我们要考虑一下为什么ISA要强调这些服务器是非Web服务器,发布Web服务器和发布非Web服务器有什么区别呢?区别就在于监听模式,发布Web服务器时ISA委托TCP监听端口,而发布非Web服务器时ISA采用防火墙内核监听端口。例如刚才我们发布了终端服务器,那ISA的外网IP肯定要开放3389端口,否则外网用户无法访问终端服务器。我们在ISA上检查一下端口监听状况,如下图所示,我们用NETSTAT –ANO | FIND  “3389”来查看3389端口的监听状况。奇怪的事发生了,3389端口竟然没有进程监听,这是怎么一回事?外网访问者连接3389端口时为什么不报错呢?
其实,3389端口是有进程监听的,刚才我们说了,发布非Web服务器时由防火墙内核负责端口监听。由于防火墙内核工作在数据链路层和网卡驱动之间,因此我们用NETSTAT命令查看不到防火墙内核对端口的监听状况。那怎么才能知道防火墙内核在监听哪些端口呢?我们可以使用一个工具fwengmon,这个工具可以在微软网站下载,从文件名可以看出,这个工具可以监控防火墙内核引擎的工作。我们在ISA上允许fwengmon /c,如下图所示,我们可以很清楚地看到防火墙内核正在监听338953等端口。这下我们明白了,端口监听不一定非要委托TCPUDP,防火墙内核也可以进行隐性的端口监听。
 
那接下来再考虑这个问题,如果ISA用防火墙内核监听3389端口,同时又委托TCP监听3389端口,那两者的优先级哪个高呢?从理论上分析,应该是防火墙内核优先级更高,因为解码后的物理层数据先要经过防火墙内核才能到达TCP。我们用实验证实一下,我们先停止ISA的防火墙服务,然后在ISA上打开远程桌面连接,如下图所示,最后再启动防火墙服务。
 
如下图所示,现在ISA服务器上TCP驱动程序和防火墙内核都在监听3389端口,它们谁的优先级更高呢?我们用Istanbul连接3389来测试一下,如果能连接到Perth的远程桌面,那说明是防火墙内核优先级高;如果访问被ISA拒绝,那说明是TCP优先级高,因为ISA不允许外网访问本机的远程桌面。
 
Istanbul上测试,结果如下图所示,Instanbul连接到了Perth,这证实了防火墙内核的优先级确实要比TCP驱动高。
 
总结:以后如果遇到ISA发布服务器的故障,一定不要忘了可以用fwengmon检查防火墙内核对端口的监听状况,防火墙内核的端口盗用非常隐蔽,引发的故障不易发现,大家要注意到这个环节的问题。

本文出自 “岳雷的微软网络课堂” 博客,请务必保留此出处http://blog.chinaunix.net/space.php?uid=16829731&do=blog&id=3210965

阅读(3132) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~