河北经贸大学 王春海
某市政府使用ISA Server做代理服务器与防火墙软件,至今已有几年时间,期间出现过一些问题,现将一些使用经验与“疑难”问题的解决方法整理出来,供需要的朋友参考。
1、ISA 502错误
一天,科技局的人告诉我,说他们在登录“河北省科学技术厅”的“网上管理中心”时,不能上报材料,错误信息如下(如图1所示):
网络访问消息: 不能显示此页技术信息(供支持人员使用)
错误代码: 502 Proxy Error。The specified Secure Sockets Layer (SSL) port is not allowed. ISA Server is not configured to allow SSL requests from this port. Most Web browsers use port 443 for SSL requests. (12204)
经过检查,发现该网站使用了TCP的8443作为SSL的端口,而在默认情况下是使用TCP的443端口。而ISA默认只允许TCP 443端口的https协议,其它端口都不允许通过。
解决方法:
在ISA用“记事本”新建一个文本,保存为扩展为为vbs的文件。文本文件内容如下:
set isa=CreateObject("FPC.Root")
set tprange=isa.GetContainingArray.ArrayPolicy.WebProxy.TunnelPortRanges
set tmp=tprange.AddRange("SSL 8443", 8443,8443)
tprange.Save
这里需要注意的地方是第3行小括号里的三个数字,意义是名称,端口上限,端口下限。在这里需要访问的是TCP的8443。保存退出,双击运行该脚本,在运行的时候没有提示,如果再次运行,会提示设置已经存在。
运行该脚本后,从“服务”中重新启动ISA Server服务,然后将TCP的8443端口添加到策略中、允许“内网”以TCP的8443端口访问“外网”即可。
2、不能访问某些网站
使用ISA Server做代理服务器后,发现不能访问外网的某些网站,或者用Web方式登录邮箱时,不能下载附件。
后来查找资料,发现ISA不能访问此类网站的原因,是因为此类网站使用了“非标准的主机头名”组合。解决问题的方法有:
(1)在ISA中禁用“Web代理筛选器”,但这样将不能进行HTTP应用层过滤。
(2)如果希望保留http过滤,但又能正常访问此类网站,则可以单独创建一个TCP的80的出站协议,并且在ISA Server策略中,创建两条规则,第一条规则允许“内网”以TCP的80协议访问此类网站,然后再创建一条“禁止”规则,禁止“内网”以HTTP协议和TCP的80协议访问此网站。并且这两条规则的顺序要在其他访问规则前面(主要是在“内网”访问其他网站的规则前面),如图2所示。
图2 添加两条规则
【说明】这一条的解决方法是岳雷老师告诉我的,感谢!
3、使用Bandwidth Splitter流量控制软件的问题
如果使用Bandwidth Splitter流量控制软件,限制客户端的网络速度时,ISA Server服务器的CPU占用率可能会接近100%,如果出现这种情况,只需要限制每个客户端的“并发连接”数即可,经过实际测试,限制每个客户端的并发连接数在50~70个比较适合,即不影响用户下载,也可以降低服务器CPU的占用率,如图3所示。
图3 限制客户端并发连接数后的截图
4、使用“防火墙客户端”
为了禁止非授权用户上网,我们准备用“防火墙客户端”与“域用户”认证的方式上网。基于此,我们做了如下的设置:
(1)在ISA Server服务器上,在“内部”属性中,修改“WEB代理”端口为2502(如图4所示);在“防火墙客户端”选项卡中添加ISA Server服务器内网网卡的IP地址,本例为192.168.250.1,如图5所示;在“自动发现”选项卡中设置端口为2501(如图6所示)。
图4 设置web代理端口
图5 启用防火墙客户端支持
图6 设置自动发现端口
(2)在ISA Server的“防火墙策略”中,在“允许内网访问外网”的策略中,在“用户”规则中,删除“所有用户”,添加“所有通过身份验证的用户”,如图7所示,这样,只有经过身份验证的用户才能访问外网。
图7 经过身份验证的用户
(3)将ISA Server计算机加入到“域”,作为域中的“成员服务器”。
(4)在网络中配置一台DHCP服务器,为网络中所有用户分配IP地址等相关信息。关于DHCP服务器的配置不做过多介绍,只是注意:
添加WPAD:2501:用鼠标右键单击DHCP服务器,从弹出的快捷菜单中选择“设置预定义的选项”(如图8所示),从弹出“预定义的选项和值”单击“添加”按钮,添加名称为“WPAD”(大写)、数据类型为“字节”、代码为“252”的选项(如图9所示),然后添加“字符串”为http://192.168.250.1:2501/wpad.dat,如图10所示。
图8 设置预定义选项
图9 添加WPAD选项
图10 WPAD选项字符串
(5)内网中所有的计算机都加入到域、并且使用DHCP自动获得地址(如果有三层交换机,需要在三层交换机上启用“DHCP中继”,并且添加DHCP服务器的地址)、安装防火墙客户端,这样,内网中的所有计算机都可以通过ISA Server、以防火墙客户端上网。
(6)如果要使用QQ、联众、股票交易软件,则需要手动设置代理服务器,添加代理服务器的地址192.168.250.1、代理端口2502。也可以在ISA Server中,创建策略,设置QQ、联众、股票交易软件所用的协议不使用“认证”(就是允许所有用户)访问。如果要创建这样的策略,则需要调整到“允许内网访问外网”这条策略的前面。
(7)如果局域网内有一些服务器,而访问这些服务器是不需要使用ISA Server代理服务器的,则可以在ISA Server中“内部”属性中,在“Web浏览器”选项卡中,选中“对此网络中的Web服务器不使用代理”、“直接访问在‘域’选项卡中指定的计算机”、“直接访问‘地址’选项卡中指定的计算机(如图11所示)”,并且在“地址”、“域”等选项卡中,添加要直接访问的网站。也可以在“直接访问这些服务器或域”并在列表中添加要直接访问的网站或服务器。
图11 直接访问的网站或服务器
5 妙用hosts文件
尽管使用ISA Server可以“屏蔽”一些网站,例如一些广告、×××、×××或反动网站,但这些网站层出不穷,个人的力量也是有限的。在内网使用“防火墙客户端”上网后,可以直接使用一些专业网站提供的“反黑hosts文件”,来达到屏蔽这些网站的目的。从网上下载hosts文件,替换ISA Server中的hosts文件即可。因为所有的防火墙客户端,是通过ISA Server“主机”共享上网的,只要ISA Server中启用了这些hosts文件,不需要在每个客户端上替换hosts文件,这种方法即简单又方便。
6 内网也用×××
由于信息中心通过专线连接到上级的政府内网,为了让政府外面的用户(乡镇、其他局机关)能通过信息中心访问政府内网,我们用ISA Server做了×××服务器。而信息中心要求,内网(指的是政府大院的用户)也要通过×××的方式访问上级政府内网。为了让内网用户也能登录到×××服务器,在ISA Server上,在“虚拟专用网络(×××)→×××客户端→虚拟专用网络(×××)属性”中的“访问网络”选项卡中,添加并选中“内部”(默认为“外部”),这样,内部用户也可以从“内网”拨叫×××服务器了,如图12所示。
图12 添加访问网络点
7 理解路由与NAT的关系
为了保护内网的服务器,我们将将服务器单独划分一个网段,并且让ISA Server“保护”起来。经过ISA Server保护的服务器区,在ISA Server中设置为“DMZ”区。默认情况下,DMZ区的IP地址都是“外部”的地址,所以DMZ区与“内网”是“NAT”的关系,而在本例中,DMZ区服务器的IP地址也是“内网”地址,但与“内网”地址并不是同一网段。所以,为了让“内网”与“DMZ”区能互相访问,除了设置访问策略外,还要修改“外围配置”的网络规则:在“配置→网络→网络规则”中,双击“外围配置”,在“网络关系”中选择“路由”,然后保存设置。如图13所示。
图13 设置为路由