Proxy型共享上网──WinGate 2001年 17期 下面我们以WinGate共享上网软件为例,介绍一个Proxy型的共享上网组网配置实例。   #1 安装与配置    在安装WinGate之前我们需要首先确认以下工作已经完成:作为服务器的那台电脑可以正常连接Internet,办公室局域网已连接完成能正常工作,并且所有计算机都安装了TCP/IP网络协议。   #2 (1)MODEM拨号和ISDN拨号上网    在服务器上运行WinGate安装程序,按照安装向导提示进行安装,在提示Wingate安装模式的时候注意选择安装为服务器模式(图1)(^17060103a^)。   安装完成并重新启动。如果安装在Windows NT或者Windows 2000操作系统上WinGate就会被作为一项标准服务自动运行,如果是安装在Windows 9x上会进入启动组,每次启动Windows 9x后WinGate自动运行(图2)(^17060103b^)。    接下来我们需要设置WinGate服务器网络的TCP/IP各项属性,通过以下顺序进入设置面板:“开始→控制面板→网络→连接局域网”的“网卡TCP/IP”属性,这时将会看到TCP/IP属性窗口(图3)(^17060103c^)。    对其中“IP地址”项目作如下设置:选择“指定IP地址”,在IP地址中填入192.168.1.以指定给WinGate主机。然后在子网掩码中填入255.255.255.0。其他项目保持缺省即可。    重新启动计算机,服务器的安装和设置就完成了。如果你的服务器上拨号网络中有多个拨号连接,那么在启动Wingate的时候,系统会让你选择哪一个拨号连接用于自动连接互联网,你只需要选择正确的拨号连接即可,这样当局域网用户使用WinGate服务的时候服务器能自动连接互联网提供共享上网服务(图4)(^17060103d^)。    以上服务器设置方法适用于普通MODEM拨号上网和ISDN拨号上网。   #2 (2)ADSL上网    由于目前ADSL等宽带接入方式的推广,已经逐步成为一种获得快速互联网连接的经济实用的方法,下面我们再看看使用ADSL上网情况下WinGate服务器的安装配置。    WinGate服务器需要安装两块网卡,一块连接内部的局域网,另外一块连接ADSL    MODEM,用于访问互联网。    首先根据ISP提供的安装方法安装好ADSL(专线方式或者PPPoE虚拟拨号)并且正确上网。然后安装WinGate软件,安装方法和普通拨号一样。下面我们对服务器进行相应的配置。    ●PPPoE软件使用的是WinPoET或RasPPPoE    由于Winpoet和RasPPPoE虚拟拨号软件完全仿照普通拨号方式工作,会自动在拨号网络中生成拨号连接,所以我们参照普通拨号方式进行设置。内部连接的网卡,设置IP地址为192.168.1.1子网掩码255.255.255.0。另外一块用于外部连接ADSL的网卡 我们可以给它的IP地址指定一个区别于内部连接网卡IP地址网段的地址(例如192.168.88.88)以提高服务器的启动速度,其他不变,重新启动计算机即可。在WinGate询问选择哪一个拨号连接用于自动连接互联网时,只需要选择PPPoE软件生成的那个拨号连接即可,例如下图使用WinPoET上网则选择“WinPoET Connection”(图5)(^17060103e^)。    ●PPPoE软件使用的是Enternet    Enternet这个ADSL虚拟拨号软件使用自有的虚拟拨号方式上网,所以服务器的设置方法有些不同且复杂,首先设置内部连接的网卡,IP地址和子网掩码等设置与上述设置相同。    下面我们使用Enternet连接上互联网,然后进入WinGate的控制台,在左侧窗口我们可以看到System,Services,Users三个控制面板。如果WinGate只是用于共享上网目的,我们只要修改Services面板内的配置项目。点击局域网用户需要使用的应用协议,例如需要WinGate代理WWW使局域网用户访问互联网网页,就点击“WWW Proxy Server”,在打开的WWW Proxy Server properties控制面板里面选择Bindings面板,我们可以看到在Available窗口中当前有3个连接接口,192.168.1.1(连接局域网的网卡),192.168.88.88(连接ADSL MODEM的网卡),xxx.xxx.xxx.xxx(某个互联网合法IP,它就是Enternet与互联网连接的虚拟网卡)。选中“Specify Interfaces connections will be accepted on”选项,告知Wingate使用特定连接接口来接收局域网用户的访问互联网请求,然后在Available选择连接局域网的接口192.168.1.1双击加入到Bound窗口,Bound窗口原有的127.0.0.1不用理会,这是服务器本机回路。如果WinGate安装以后已经自动把192.168.1.1,192.168.88.88,和127.0.0.1加入了内联局域网接受端口,那么可以把连接ADSL的192.168.88.88从中删除(图6)(^17060103f^)。    下面切换到Interfaces面板,确定选中了“Connections out will made on any interface.The operating system will chose the correct interface”选项,该选项设置使WinGate使用的连接外部互联网的接口由操作系统自动调整,这样操作系统就会自动使用Enternet的连接来为WinGate服务器提供外部连接(图7)(^17060103h^)。    其他互联网应用协议FTP,POP3等的代理服务设置与此相同,根据实际需要设置好即可,如果还需要WinGate为局域网提供DNS、DHCP等服务则可以在System面板的相应服务控制面板中设置,设置方法与上面类似。    至此,服务器上的基本设置工作就完成了。如果我们发现在WinGate的Services控制面板中缺少某种代理服务,使用鼠标右键点击现存的任何一个代理服务,在弹出菜单中选择New Service就可以增加所需要的代理服务。   #2 (3)设置客户机    各客户机可以选择以客户端模式安装WinGate即安装Wingate客户端,也可以不安装客户端。安装WinGate客户端可以增加一些功能和应用协议的支持能力,例如当局域网中有两台以上WiiGate服务器可以自主选择使用哪一台作为代理,也可以根据自己的需要进行选择。    接下来设置客户机的TCP/IP属性。设置操作步骤同服务器设置类似,打开网卡的TCP/IP 属性进行设定。如果WinGate服务器设置了为局域网提供DHCP服务,那么在IP地址处,选择自动获取IP地址,否则依次为各台局域网客户机设置IP地址:192.168.1.X(X= 2、3、4……各台客户机的IP地址不能相同),子网掩码:255.255.255.0,其他项目都不作设置,完成以后重新启动计算机。    由于我们使用的是Proxy类型局域网共享上网,各种互联网应用软件使用了不同的互联网应用协议,所以我们需要在客户机上为每一个Internet应用软件设定使用Proxy,一般来说,支持使用Proxy的应用程式都会有设置Proxy 代理服务器的项目,用于输入代理服务的地址以及相对应的Port端口,不同的Internet应用协议使用不同的连接端口,所以依据所使用的不同应用软件,为它们设置正确的使用Port端口号,以下是在Internet上较为通用的应用协议所使用的端口值见^17060103g^。    按照互联网端口通用标准,WinGate也用以上的端口来进行代理服务,我们所要做的就是将Internet应用程序的Proxy设置指向WinGate服务器,通常就可以正常实现共享上网,在这里我们Proxy地址就是指向WinGate服务器即192.168.1.1。    完成了以上所有设置后就可以上网测试了,在服务器上根据上网方式运行相应的拨号/ISDN/ADSL程序完成联网过程,然后确定WinGate所需要的代理服务已经运行。然后在各工作站上打开浏览器,随便连接一个站点,看看能否成功,如果不成功请仔细检查各项设置,直至所有工作站均能上网为止。   #1 用户权限管理    WinGate拥有强大的用户管理和用户权限设置能力,它可以控制用户进行哪些互联网应用,或者在某个时间段使用某种互联网软件,对于办公室共享上网这是非常重要的,没有哪个领导会希望工作人员利用公费在网络上做一些与工作毫无关系的事情,例如聊天,看娱乐视频。下面我们就介绍WinGate的用户使用权限管理。    用户USER是指局域网中能够使用WinGate代理服务的某个计算机使用者,因为一个计算机可能会有多个使用者,所以USER并不与计算机完全一致,WinGate可以创建,删除用户,也可以对他们进行分组以便赋予不同的访问权限。    我们要全面管理好用户的使用权限,就必须限制Guest用户的使用权力,否则用户只需要以Guest用户身份就可以使用所有的代理服务。要禁止Guest的账号,但是它又不能被删除,我们可以给他设置上密码,并且这个密码不公布,然后在后面介绍的系统策略System Policies和服务策略Service policies中要求对Guest进行密码验证即可。   #2 (1)用户管理    增加用户,在WinGate服务器控制台上选择User控制面板,在该面板的任意位置点击鼠标的右键,在弹出菜单中选择“New User”,然后就出现增加新用户的对话框。选中“Account enabled”使该账号生效,选中“User Can not change password”可以使用户不能通过客户端来修改密码,选中“User must change password next logon”以后,当用户下一次通过客户端或者JAVA进行身份验证的时候会被强制要求修改密码。    Groups面板确定用户属于哪一个用户组,并享有该用户组的访问权限,上半部分是当前用户属于的用户组,下半部分是用户还没有加入的用户组,双击其中一个用户组就可以让用户加入该用户组。Accounting面板用于设置根据用户在线时间和数据量计算应该收取的使用费用,Auditing面板设置是否对该用户的使用情况记录审核,并且设置对用户哪些情况进行日志记录。Accounting和Auditing一般不需要使用。    选中一个用户然后双击就可以对该用户的以上信息进行编辑修改,通过鼠标右键的弹出菜单可以删除一个现有用户。   #2 (2)用户组管理    当我们添加修改完了用户以后就可以对他们进行分组,以便根据不同用户需求提供不同的访问互联网权限。通过分组我们可以把具有相同需求的用户归为一类,让他们都具有该组的访问权限,这样可以极大的方便我们的管理。   #2 (3)模糊认证    在WinGate服务器控制台上的Users控制面板Assumed Users部分我们可以进行用户模糊认证判定条件的设置工作,双击Assumed Users就可以打开判别条件设置对话框,其中分为两个部分:By Name依靠客户机的网络标识来判断认证,By IP Address根据客户机的IP地址来判断,点击ADD按钮就可以增加判断条件,首先输入判别的条件,例如:192.168.0.1 然后选择判定为哪一个用户,可以通过多次增加条件实现某个地址段判定认证为某一个用户,然后对该用户赋予相应的访问权限。    了解了用户和用户组的管理以后,下面我们来看看如何给不同的用户或者用户组赋予不同的权力。    WinGate把权限管理分为两个部分,系统策略(System Policies)和服务策略(Service Policies)。管理策略可以根据用户、用户组、时间、代理服务的互联网应用协议来区别权限实现分别管理。    系统策略是整个系统的权力设置,WinGate中的一个代理服务功能一旦设置为遵守系统策略,那么系统策略中设置的各种权限都将对其产生作用。服务策略是次于系统策略的权限设置,它的作用域仅仅限于相关的代理服务内容,WWW服务的服务策略不能对使用FTP代理服务的用户进行权限管理。系统策略和服务策略可以整合使用,以方便对用户权限的管理。    系统策略定义了用户使用WinGate所有服务的基本权限设置,我们怎样进行设置呢?在WinGate服务器控制台上的User控制面板上,我们选择“System Policies”项就可以打开策略设置窗口进行系统策略的设置工作(图8)(^17060103i^)。    服务策略定义了该服务自有的权力分配,我们可以选择WinGate服务器控制台上的Services/System所对应的服务项目,然后打开属性的控制面板进行设置。在服务属性控制面板里面我们选择Policies这个设置标签即可打开策略设置窗口进行设置。    在策略设置窗口中最上面是权力分类列表,WinGate提供了多种权力来分配给用户。在权力分类列表下面列出的就是被赋予这个权力的用户或者用户组,成为接受该权力的接受者,接受者recipients 它可能是一个用户User,或者一个用户组Groups,也可以是每个人Everyone。要把权力赋予接受者,我们需要在该权力设置下增加接受者。    当你使用WingGate的某个服务或修改WinGate配置时,WinGate将检查这个操作权力的接受者表。如果找到了这个接受者,就执行。如果接受表中没有这个用户被授权,那么用户将被拒绝访问。    那么怎样为某一个服务的某个权力增加/编辑接受者属性呢?我们按增加按钮就可以打开recipients设置窗口,用来增加一个新的接受者,如果在接受者表中双击一个已经有的接受者就可以编辑它的属性。    Recipients属性设置窗口包括Recipient、Location、Time、Ban List、Advanced设置窗口五个设置面板,下面我们就依次看看有些什么设置项目(图9)(^17060103j^)。    Recipient面板决定哪些用户是当前所编辑的权力的接受者,如图所示就是“Users can access services/this service(用户能使用服务)”权力当前的接受者是“Every One(所有人)”,选择“Specify user or group”就可以从当前用户管理中设置的用户和用户组中选择用户/用户组成为该权力的接受者,并取代所有人EveryOne拥有该权力的原设定。选择“User must be authenticated”选项,将使所有用户在使用服务的时候进行用户认证,即需要用户账号和密码以后才能使用,选择“User may be assumed”选项就使用模糊认证条件来推定是哪一个用户并且赋予相应权力。如果用户无法根据模糊判定条件确认。那么将被拒绝访问代理服务,选择“User may be unknown”将可以让任何人成为该权力的接受者(图10)(^17060103k^)。    Location面板可以通过用户的网络来源进一步加强用户认证的安全性,一个用户只有从“included locations”中所设置的网络地址提出认证请求的才能够成为接受者获得相应授权,如果来自excluded locations IP地址的用户就会被认为是非法的连接不予认证也不授予权力。选中“Recipient has rights from every where”就不进行网络来源检查,任何位置来的用户都认为是合法的接受者。选中“Specify locations from where this recipient has right”就可以打开来源检查,可以指定一个单独IP或者使用通配符来制定一个范围的IP。要成为合法的权力接受者必须至少符合Include中的一个地址并且不能在Exclude中有任何条件与其符合(图11)(^17060103l^)。    Time面板通过时间来加强用户获得权力的检查,只有在“Include times”所设定时间内的用户才能获得权限,Excluded times时间里面使用Wingate相应服务的用户就被系统拒绝,缺省“Recipient has right always(任何时候赋予权力)”。这个权限管理设置对于办公室来说是再合适不过了,可以轻松设置为上班时间谁也不能使用Socks代理用于ICQ的聊天,不能使用Real代理欣赏RealPlay格式的娱乐视频等等。    Ban lists(锁定列表)面板是另一个控制用户访问的有用设置,在系统策略中设置这个列表以后,任何用户访问列表中的网址都将被系统禁止,从而确保用户无法访问非法网站和未授权的网站。选中“Enable ban list”就可以打开这个功能,按ADD增加按钮就可以输入禁止访问的网址和锁定的触发条件,例如Server name、equals,然后输入网址www.浏览器进入某个网站的Web聊天室,但是不禁止用户访问该网站的其他内容。除了使用网址以外还可以使用IP地址来进行锁定。    如果某些网站是所有用户都禁止访问的,我们可以在系统策略的Everyone接受者的Ban list中设置。    Advance面板可以根据用户向服务器提交的请求性质之类的更多的判断条件来来设置用户的授权,例如可以设置当用户提交HTTP类型请求,要访问某个WEB站点,那么WWW可以作为关键词来赋予他权力,其他请求则禁止访问。   #2 (4)用户身份证验证    那么如何对用户进行身份验证呢?用户如何输入账号和密码来获得相应的权限。现在我们就介绍WinGate的验证方法。WinGate有多种验证方法,第一种方法就是使用Java Applet程序进行,另外一种就是安装WinGate客户端软件,通过客户端软件来进行用户账号密码的验证,还可以和NT的账号整合起来认证,我们这里就只介绍JAVA认证和客户端软件认证。    Java Applet验证可以在以下条件下使用:客户端浏览器已经设置成为使用WinGate Proxy服务来访问互联网,WinGate服务器的 WWW Proxy Service 服务已经配置为“Use Java Client authentication as required by policies(根据策略使用JAVA程序验证)” 要配置这个选项,可以通过控制台的Services控制面板进入WWW Proxy Service服务的配置窗口,在其General 面板中选中“Use Java Client authentication as required by policiesx”选项,系统策略或者服务策略设置成为“User must be authenticated(用户必须经过验证)”。这个设置可以在策略设置中选择Everybody(所有用户)来实现全部用户都需要验证身份(图12)(^17060103m^)。    虽然用户必须使用浏览器来装载JAVA程序进行验证,但是这个验证过程使用的是WinGate的标准系统服务功能,并不是基于WWW的CGI之类的验证,所以你同样可以在FTP代理服务中选择使用JAVA验证,然后用户使用浏览器来完成验证过程,验证完毕就可以直接使用FTP程序了,这里需要注意的是在WinGate的这些代理服务项目中,Socks代理服务使用JAVA来验证的话,必须在Socks服务的Advanced配置面板中选中“Refer HTTP requests to caching HTTP Server”选项。    WinGate客户端软件验证比JAVA验证方便,当用户使用不同的代理服务时不需要先使用浏览器来加载 JAVA完成验证然后使用,用客户端一次验证完成以后就可以直接使用各种授权的代理服务。要使用客户端软件验证,当然客户端首先必须安装好,其次我们还需要对服务器作一点设置(图13)(^17060103n^)。    打开WinGate控制台的System系统服务控制面板,选择“Winsock Redirector Service (WRS)”服务,双击进入设置窗口,选择策略Policies面板,选择权力(Right)为“User can access this service”,然后在该权力接受者列表中选择(如果有的话)EveryOne或者新建EveryOne(所有用户),然后在接受者属性的Recipient面板中选中User must be authenticated(用户必须经过验证),然后在Default rights (System Policies)下拉选择框中确定选择“are ignored”来忽略系统策略。设置好以后当客户机使用WinGate服务器访问互联网的时候,WinGate客户端程序就会弹出验证窗口要求用户输入账号密码验证。    通过上面的介绍我们了解到WinGate这类Proxy类型的共享上网软件具有极其强大的管理功能,我们通过不同的权力授予和服务策略就可以实现办公室上网用户只能作与工作相关的互联网应用,并根据不同的工作性质给他们分组实现全面管理。   #2 (5)一个简单的分组管理方案    用户分为ALL、MAIL、WEBMAIL三个用户组,分别具有可以使用全部服务,只能收发邮件,收发邮件和浏览网页三种不同权力。首先在用户管理中建立这三个用户组,并根据用户所在部门和级别添加完成用户,然后在系统策略System policies中把everyone设置为“User must be authenticated(必须验证)”,然后我们进入WWW Proxy Service 服务设置的策略面板,在“Usercan access this service(权力设置)”中把ALL,WEBMAIL组加入接受者列表并且删除其他接受者,并且“Default rights System Policies”改变为“Must also be granted”,这样系统策略中必须进行用户验证这个要求就叠加到WWW代理服务的服务策略中。与此相仿在SMTP和POP3代理服务中加入ALL WEBMAIL,MAIL三个用户组并且删除其他接受者,同样也把“Default rights System Policies”改变为“Must also be granted”。其他的Services面板中的代理服务项目接受者只加入ALL一个用户组并且删除其他接受者,同样也把“Default rightsSystem Policies”改变为“Must also be granted”。    用户验证办法我们选择通过客户端软件验证,设置System服务“Winsock Redirector Service (WRS)”服务项目,System控制面板中的其他服务不需要设置,最后各客户端安装WinGate客户软件即可。    这样设置以后就可以有效地防止客户机用户滥用网络,当然你还可以通过不同组合来实现更加精密仔细的控制,例如给这些组设置上时间接受条件,上班时间ALL组也不许使用Real代理,Everyone任何人不允许访问带有SEX字母的网站等等。    WinGate还有其他很多功能,这里就不能一一介绍了,有兴趣的朋友可以参考软件说明书。最后补充一点WinGate只有获得了Pro版本的注册码以后才能进行用户权限管理这些功能。