WinGate是由Qbik软件公司推出的一个完整的代理服务器/防火墙解决方案,运行在Windows95和WindowsNT环境下。通过在与Internet已建立连接的机器上运行WinGate代理服务器,局域网(甚至可以是具有TCP/IP连通性的广域网)上的多个用户可以通过该代理服务器访问Internet,连接可以是拨号或ISDN,以太网络接口等。对于中小企业或公司的内部网络以及互联网吧等,通过WinGate代理实现对Internet的访问,是一个经济实用的方案。WinGate目前流行的版本是WinGate4.3,分为简版和专业版(其免费试用版可以从Internet站点:http://webnz.com/qbik/等处下载)。本文就使用最广泛的WinGate4.3forNT专业版,谈一谈其配置和使用过程中的一些技巧。
WinGate4.3安装完成后,使用GateKeeper进行配置和监控。GateKeeper是一个功能强大的远程控制和配置程序,通过建立加密的TCP/IP连接,和WinGate核心引擎进行通信,实现对WinGate的远程操作。有两种方式在客户端安装GateKeeper,一是在WinGate2安装完成以后,将如下文件拷贝至需要进行WinGate远程操作的客户机上:GateKeeper.exe,.hlp,WinGate4.3.cnt,wg2util.exe,wg2auto.ini。另一种更为简便的方式是将服务器上WinGate目录设为共享(根据你的需要设置共享属性,如设置只读口令),通过文件共享方式来使用GateKeeper。
WinGate本身管理和维护一个用户数据库,存储用户和用户组信息,用于针对性的设置及对单个用户的日志和审计功能。WinGate具有防火墙的一般功能,安全策略完整灵活,对每个代理服务可单独进行权限管理,授权可以基于用户/组,时间或指定工作站地址等。这意味着管理员不仅可以指定谁具有某种权限,也可以指定在何时,从何处访问时,具有这种权限。通过各种访问限制条件的组合,管理员可对内部网与Internet之间的信息交换进行有效的过滤和限制。
一般用户主要使用WWW代理服务,其实WinGate具有很强的代理功能,对Internet上多数常见的网络应用,WinGate都可以提供代理支持。一些应用能够告诉网关连接至哪个服务器(如IE,CuteFtp等),但有些则不行(如新闻,电子邮件等等)。如果应用无法告诉,用户必须在WinGate中预先配置映射代理(MappingProxy),通过这种方式,告诉WinGate与哪个服务器连接。虽然与其他代理相比,映射代理可能有些限制,因为它们只是简单的数据通过管道。因为这个原因,需要在配置映射代理服务时,指定要连接的目标主机,你可以指定一个缺省的主机和端口号。但这种方式却更具通用性,它提供了对一般的基于TCP或UDP连接的网络应用的支持。
有时,希望具有较灵活的映射方式。如:一些用户可能希望使用某一个新闻服务器,而另外的用户可能希望使用另一个新闻服务器。WinGate2允许基于用户或工作站地址来提供特定的映射链接,即对于满足映射条件的用户或工作站不使用缺省映射。
WinGate_WWW_Proxy_ServerWinGate4.3WWW代理服务器是WinGate_WWW_Proxy_Server一个具有缓冲功能的CERN兼容的HTTP代理服务器。它支持HTTP请求,FTP请求以及SSLTunneling。SOCKS服务器WinGate_SOCKS5_Proxy_server是一个遵循SOCKS4和SOCKS5(RFC1928)标准的代理服务器。通过使用WinGate用户数据库来支持RFC1929认证(明文认证)。WinGateSOCKS服务器也可以识别HTTP请求,并用内置的WinGate代理服务器来处理这些请求。WinGate大多数代理服务可以进行级联,即作为另一个同类型代理服务器的前端。在和企业内部网的Web服务器一同使用时,有两种方式:改变WinGateWWW代理服务器的端口,或采用更好的方式,即改变Web服务器端口。配置WinGate4.3的WWW代理服务时,在Non-proxyrequest(非代理请求)标签中,选择:Pipetopredeterminedserver(定向到预先设定的服务器)。在Server项中,输入企业内部网络WEB服务器的主机名或IP地址,端口项输入WEB服务器侦听的端口号。
WinGate4.3WWW代理提供了HTTP缓冲。HTTP缓冲意即将最近访问过的图形,HTML文档或其他文件存储在WINGATE机器上,使得下次局域网用户再次访问相同内容时,可以更快的存取。WinGate只缓存HTTP请求(即不缓存FTPURL),WinGate也不缓存任何包括查询串的请求(例如对于表格查询的响应)。此外,管理员还可以指定缓存规则。
FTP代理服务提供了对FTP服务器的访问,但要求FTP客户程序能够使用“用户名@主机名”方法透过防火墙以存取远程FTP服务器的文件,如使用颇为广泛的CuteFTP,GetRight等FTP客户程序。
如果WinGate机器上同时安装运行了FTP服务器或WEB服务器等,则必须保证相应的代理服务使用了不同的端口号。这是因为,在任一时间,一台机器上只能有一个应用在一个特定端口上侦听。
下面介绍一些广泛使用的Internet应用的代理服务配置。
FTP代理服务
WinGate配置:进入FTP代理服务器属性屏幕,在代理端口选项里输入端口号,如果21端口被NT的FTP服务器使用,可以选择一个未用的端口,如:8021,对于所有的FTP客户应用来说,则增加了一个8021防火墙端口。
客户端的配置随客户端使用的软件不同而不同,这里以最常使用的CuteFTP2.0和GetRightV3.1为例说明。
在CuteFTP2.0的选单条中,选择FTP选单下的Settings,再选择Options...,弹出一个选项对话框,点击firewall标签,在主机和端口项中输入FTP代理服务器的地址和端口号(应与WinGate中配置一致)。在Type组框多选一按钮中,选择“USERuser@site”项,打勾选中"Enablefirewallaccess"方框。需要注意的是在其SiteManager(站点管理程序)设置主机属性时,需要在其高级属性中,选择usefirewall(使用防火墙)。
使用“ConfigureGetRight”对话框配置GetRight。选择Proxy标签,打勾选中Useproxyserver方框,再选择下一级FTPProxy标签,在server:port项中输入FTP代理服务器的主机名(或IP地址):端口号,如:172.24.156.6:8021。在otheroptions...的FTPProxy下拉选单中选择USERwithnologin。设置好以后,再选择Login标签,在UsernameandPasswordstotrywhenlogin中,增加一项:Server/Path:*Username:anonymous(或可用的用户名)Password:输入电子邮件地址或相应口令。
POP3电子邮件系统代理服务
POP3电子邮件系统,有两个重要协议,一个是SMTP,即简单邮件传输协议,用于向邮件服务器发送邮件,另一个是POP3协议,即邮局协议版本3,用于从邮件服务器获取邮件。WinGatePOP3代理可以访问INTERNET上的POP3服务器以检获邮件,SMTP代理可以访问SMTP服务器以发送邮件。
如下设置POP3邮件代理服务:
进入POP3服务的配置对话框,输入POP3代理服务器所使用的端口号,一般是110端口,如果110端口已经被本机的POP3服务器使用,则需要另外分配一个端口给POP3代理服务器使用。Delimiter(分隔符)缺省为#,一般不需要改变。如果本地内部网使用了POP3服务器,在非代理请求标签中,可以将非代理请求定向到内部网的POP3服务器。
这里以笔者所使用的163邮件帐号(huang_yuehua@163.net)为例,说明在OutlookExpress中POP3邮件客户程序的设置。从OutlookExpress菜单条上的“工具”项中,选取“帐号”,弹出Internet帐号对话框,选中“邮件”标签,帐号属性中邮件接收服务器应该输入WinGate代理服务器的主机名或地址。这样,对于邮件客户程序来说,POP3服务器变成了WinGate机器,那么,如何告诉WinGate目标POP3服务器呢?WinGate通过引入分隔符从邮件客户程序处获得。即在OutlookExpress中,POP3用户名应设置为:
POP3用户名+分隔符+POP3服务器(这点特别需要注意)
从前面的举例来说,用户名项中应输入:huang_yuehua#163.net,在口令项中输入对应该帐号的口令。至此,就可以通过POP3代理服务器获取邮件了。
SMTP代理服务则是通过TCPMappingService来实现的。在WinGate设置中,添加一个TCP映射服务,进入其配置对话框。在Acceptconnectionsonport项中输入SMTP代理服务器使用的端口号,一般使用端口25。如果要使用缺省映射,可以打勾选择Enabledefaultmapping,并在server中输入远程SMTP服务器地址,如163的smtp.163.net,端口号输入SMTP服务器所使用端口,如163的端口25。
这样,WinGate的SMTP代理服务就基本设置完毕了。如果客户端要访问多个SMTP服务器,则需要在mapping标签中增加相应的映射项,映射可以根据地址,用户名或工作站IP地址来进行。如笔者的ISPEmail帐号为:gzgmsdzs@public1.guangzhou.gd.cn,为了使用该帐号发送Email,笔者增加了一个按用户名的映射,即先建立一个WinGate的用户gzgmsdzs,并映射到SMTP服务器public1.guangzhou.gd.cn(端口:25)。通过该映射,当用户gzgmsdzs发送邮件时,WinGateSMTP代理服务器将用public1.guangzhou.gd.cn来作为远程的SMTP代理服务器。而客户端的设置则非常简单,只需要将SMTP服务器设置为WinGate主机名即可。
新闻映射代理
Internet/Usenet新闻服务使用TCP端口119。所以先在WinGate上增加一个TCP映射服务,在端口119接受连接请求,可以选择使用缺省映射,在缺省映射服务器项中填入最常访问的新闻服务器主机名或IP地址,端口号为119。
在OutlookExpress中设置新闻帐号时,应该将其新闻服务器设置为WinGate主机的地址。由WinGate的映射服务确定真正的目标新闻服务器。要设置多个新闻服务器时,可以设置映射表,根据工作站主机地址或用户名来进行映射。
Telnet代理服务
因为Telnet是从一个基于命令行的服务演变来的,所以对于Telnet客户来说,可以不经过特别的设置。使用时首先Telnet到WinGate机器上,在提示符状态下(WinGate)输入要登录的主机名即可,