NAT型共享上网──WinRoute 2001年 17期 下面我们以WinRoute共享上网软件为例,介绍一个NAT类型的共享上网组网配置实例。   #1 安装与配置    在安装WinRoute之前与Proxy型一样需要首先确认两件工作已经完成:作为服务器的那台电脑可以正常连接Internet,办公室局域网已连接完成并能正常工作,并且所有计算机都安装了TCP/IP网络协议。   #2 (1) MODEM和ISDN拨号上网    在作为共享服务器的计算机上运行WinRoute安装程序,不需要什么手工设定就可以很快完成安装并且重新启动Windows。安装完成以后系统将在启动后自动运行WinRoute服务程序。    WinRoute有很多参数设置选项,涉及到网络配置和管理的方方面面,下面我们需要对WinRoute服务器进行正确的设置,这样才能充分发挥它的功能。    通常装有WinRoute软件的计算机需要有两个IP地址也就是说需要有两个接口来实现内外连接,一个是局域网内部的互联网非法IP地址,一个是用来与外部因特网连接的真实的合法IP地址,仿照WinGate网卡的IP设置方法,我们给连接局域网的网卡设置一个IP地址192.168.1.1用于内部连接。    接下来我们设置WinRoute的外部连接,外连接这里就是拨号网络适配器,由于在服务器上我们已经建立了上网拨号文件,所以安装WinRoute以后它将自动找到这个连接接口。用鼠标单击WinRoute程序菜单中的“View→Setting”菜单项,并从其下拉菜单中选择InterfaceTable(接口表)命令选项,程序将会打开一个标题为“Interface/NAT”的对话框(图1)(^17060104a^)。    从该对话框中选择RAS后,单击“Properties”按钮后,程序将会打开拨号属性对话框来查看拨号网络的属性,再在弹出的窗口中单击“RAS”面板,如图2所示(^17060104b^)。    该对话框可以分为三个设置栏,其中“Settings”这一栏是用来选择所需要的拨号连接的,用户只要用鼠标单击“RAS Entry”后面的下拉按钮,并从下面的下拉列表中选择一个自己需要的已经建立好的拨号连接服务,如果对拨号连接的其他参数要重新设置的话,可以直接用鼠标单击“RAS Entry”列表框后面的“Settings”按钮,来打开拨号网络的设置对话框。选定了拨号连接后,用户接着必须在“User-name”文本栏中输入拨号连接的用户名,在“Password”文本栏处输入访问互联网服务商的密码。在“Connection”栏处有四个单选项,其中Manual表示手动进行连接,On Demand表示当有互联网访问需求时自动连接,Persistence表示永久连接,发生意外断线后也自动恢复连接,Custome表示用户根据自己需要自行定制连接,程序默认选中手工连接方式。    在“Option”设置栏下方有三个复选项,如果用户选中第一个“HangUp if idle for……”复选项的话,你可以调整该时间让WinRoute监测互联网连接空闲多少时间后自动断线。如果用户不想调制解调器自动断线,请将此选项前面的钩去掉,选择第二项“Redial when busy……”用户可以在随后的设置框中设定一个需要的数值,让WinRoute在调用拨号网络出现占线时重拨几遍,第三项表示断线后是否重新连接。最后单击“确定”按钮,这样就完成了拨号参数的设置,以后就可以直接通过WinRoute菜单中的“Action/Dial”单选项来拨号,当然用户仍然可以用手工方式进行拨号。    在所列接口属性的NAT标签中有一项很重要,那就是确定哪一个接口是连接互联网的接口,并通过这个接口进行局域网数据的NAT转换,这里很明显就是拨号网络接口用于NAT转换,所以我们要把这个接口的“Perform NAT with IP address of this interface on all communication passing through”选项选中,否则将无法使局域网用户共享互联网连接,另外用于内部连接的接口必须把选中状态去掉,不然也不能正常工作(图3)(^17060104c^)。    到这里WinRoute服务器端的基本设置就完成了,另外WinRoute还具有邮件服务、DNS服务等,我们这里就不具体介绍了。   #2 (2)ADSL上网    A.PPPoE软件使用的是WinPoET或RASPPPoE    由于WinPoET和RasPPPoE是虚拟拨号软件,完全仿真普通拨号方式工作,会自动在拨号网络中生成拨号连接,所以我们参照普通拨号方式,把内部连接网卡按照普通拨号进行设置,IP地址为192.168.1V1子网掩码255.255.255.0。另外一块用于外部连接ADSL的网卡,我们可以给它的IP地址指定一个区别于内部连接网卡IP地址网段的地址,例如192.168.88.88以提高服务器的启动速度,其他不变,重新启动计算机即可。在WinRoute的InterfaceTable(接口表)中,也会出现RAS拨号网络连接,在这里我们选择WinPoETRasPPPoE生成的那个拨号连接,例如图4(^17060104d^)使用WinPoET上网则选择“WinPoET Connection”,并且打开它的NAT功能即可。    B.PPPoE软件使用的是Enternet    内部连接的网卡,设置IP地址为192.168.1.1子网掩码255.255.255.0。另外一块用于外部连接ADSL的网卡,我们也给它的IP地址指定一个区别于内部连接网卡IP地址网段的地址,如192.168.88.88,以提高服务器的启动速度,其他不变。安装Enternet以后会在系统中按局域网网卡格式添加一块虚拟网卡,安装WinRoute以后在WinRoute的InterfaceTable(接口表)中会找到这块网卡(NTS PPPoE Adapter),我们只需要在其属性设置NAT标签中打开它的NAT功能即可(图5)(^17060104e^)。    C.注册表修改    由于WinRoute目前的版本没有专门针对PPPoE开发,为了防止LAN和PPPoE数据包冲突,开发公司提供了一个解决办法。那就是必须修改注册表中WinRoute的个别参数以适应PPPoE环境。    对于使用WinPoET或者RASPPPoE虚拟拨号上网的用户来说,修改比较简单,在WinRoute服务器注册表中找到该项目:HKEY Local Machine/Software/Tinysoftware/Winroute把 IpFragMode 键值由“0”改成“1”,客户机不用修改。    如果你使用的是Enternet300,那么修改麻烦一些,首先我们需要找到ISP的PPPoE的最大传输单元值MaxMTU。找到这个数值以后,我们需要逐个修改各个客户端的注册表TCP/IP参数。    对于客户端是Windows 95/98/Me操作系统,我们需要找到该项目:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet Services\Class\NetTrans\000x\MaxMTU (STRING Value)    此处的000x所指的是客户端电脑连接WinRoute服务器的那块局域网网卡,首先增加MaxMTU键,类型为字串,然后设定值为ISP的PPPoE的MaxMTU值。    客户端是Windows NT操作系统,修改注册表项目:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\“网卡”\Parameters\Tcpip\MTU (DWORD Value)    “网卡”指客户端电脑连接Winroute服务器的那块局域网网卡。增加MTU键,类型为二进制字串,值为ISP的PPPoE的MaxMTU值客户端。    是Windows 2000操作系统,修改注册表项目:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControl Set\Services\Tcpip\Parameters\Interfaces\“网卡”\MTU (DWORD Value)    “网卡”指客户端电脑连接WinRoute服务器的那块局域网网卡。增加MTU键值,类型为二进制字串,值为ISP的PPPoE协议的MaxMTU值。    当做了以上修改以后,客户端就能正常上网了。   #2 (3)设置客户机    下面我们开始对客户机进行设置。NAT类型共享上网通过前面的介绍我们知道它不依赖于客户机所用的应用协议,所以客户机的设置比Proxy类型简单很多,不需要对每一种应用软件设置它的代理服务器和端口。同时WinRoute不需要在客户端安装任何客户端软件,只须要正确设置客户端的TCP/IP属性就可以了。客户机我们可以手工设置,也可以通过WinRoute的DHCP来设置。    手工设置:设置方法与前面Proxy型代理服务器客户端设置方法相同。   如果WinRoute服务器设置了局域网DHCP服务,那么客户机的设置我们可以不用设置网关和DNS服务器,只须要在IP地址处选择为“自动获取IP地址”就可以了,然后通过DHCP把网关、DNS等参数发布给客户机。    设置WinRoute的DHCP服务器:为了能方便地给局域网中的每一台计算机分配IP地址、网关、DNS等参数,WinRoute提供了DHCP(动态IP地址分配)服务功能,通过该功能用户可以自动配置局域网上的每台计算机上的网络相关参数。    它的具体设置方法如下:首先从菜单栏中选择“Settings”菜单项,并单击其下拉菜单中的“DHCP Server”命令,程序将会弹出一个^17060104f^6所示的对话框。   在弹出的对话框中首先应该选中“DHCP Server Enabled”以使WinRoute的DHCP服务激活,接着用鼠标选中“Default Opiton”(默认选项),然后点击“EDIT”按钮,程序将打开一个标题为“Change Default Options”(修改缺省选项)的对话框,该对话框共提供了四个复选项,如果选中“DNS Server”表示启用DNS域名解析参数发布功能,同时用户可以在右边的“Specify”文本栏中输入缺省的局域网DNS参数发布所使用的DNS服务器地址,这里我们就是WinRoute服务器地址192.168.1.1。另外用户还必须选中“LEASE TIME”这一项来指定IP地址的释放时间,一般改成12小时就足够了。    单击“New Scope”按钮,在弹出的对话框中设置一个DHCP服务器上的动态IP地址分配范围,用户可以在“From”文本栏中填入一个起始地址,在“TO”文本栏后填入结束地址,在“MASK”文本栏中输入掩码的IP地址,通常为255.255.255.0,然后选中Option选项中的DNS Server和 Default Gatway(缺省网关),并且在Specify value中设置DNS服务器地址为WinRoute服务器地址192.168.1.1和缺省网关地址为192.168.1.1,这样就能在DHCP分配IP地址的同时把DNS和网关参数发送给客户机。    单击“Advanced”(高级)按钮,弹出如^17060104g^7的窗口。    在弹出的窗口中选中第一个复选项,表示客户机在启动时使用动态IP表,这样客户机重新启动的时候就不会占用多个IP地址,第二个复选项表示客户机将自动从远程服务器上获得动态的IP地址,一般我们不需要设置(图8)(^17060104h^)。    设置完成以后我们就可以在客户机上检查是否获得了正确的IP地址和网关、DNS参数,在Window 9x下我们可以用Winipcfg命令来检查。Windows NT和Windows 2000通过NetStat命令来检查。    设置无误以后我们让服务器连接上互联网,客户机就可以直接使用各种互联网软件,就好像局域网直接连接互联网一样。   #1 用户访问权限管理    下面我们来看看如何在NAT类型的共享上网软件WinRoute上管理用户访问互联网,防止网络滥用。    我们知道由于NAT基于底层数据包转换实现共享,所以对于局域网用户的管理能力肯定没有Proxy代理类型那么强大,WinRoute正是考虑到了这一点所以它还带有一个Proxy代理服务功能,来对最常用的WWW和FTP访问进行用户账号验证管理。   要使用WinRoute的Proxy来管理,首先必须使局域网的用户不能通过NAT访问网页,所以我们需要通过以下设置来强制用户使用Proxy。    我们利用WinRoute的Packet Filter数据包过滤功能来关闭WWW/FTP的NAT共享。从Settings菜单的Advanced子菜单中选择Packet Filter就打开了WinRoute的数据包过滤功能。    在数据包过滤设置里有两个设置面板,Incoming面板管理来自互联网和局域网输入到服务器的信息,Outgoing面板管理由服务器向互联网和局域网客户机发出的信息。为了关闭NAT的WWW访问功能我们需要设置两个过滤规则,一个是保留服务器自身的WWW访问权力,另外一个就是关闭服务器向外发送任何WWW数据的能力。我们知道WWW服务所使用的HTTP协议使用了TCP数据类型并且端口号是80。知道这些信息以后就很好设置了。    选择Outgoing 面板,选择连接互联网的接口,然后点击Add增加按钮来增加过滤规则(图9)(^17060104i^),在过滤规则设置窗口中,我们选择Protocol(数据类型协议)为TCP,Source部分中Type选择HOST,IP Address输入连接互联网的接口获得的互联网IP, Port不变保持为Any。Destination部分,设置Port为 Equal to (=) 80, Action选择为 Permit(允许)然后确定。    点击Add按钮增加第二条规则,选择Pro-tocol(数据类型协议)为TCP,Source 部分设置Type为Any。Denstination部分端口Port设置为Equal to = 80,Action选择为Deny(拒绝)然后确定。这样设置以后客户端浏览网页的时候就不能使用NAT绕过Proxy 的监管。    禁止了通过NAT的WWW访问以后,我们需要打开WinRoute的Proxy代理服务,为局域网用户提供WWW访问功能。下面我们就一起来看看如何具体设置代理服务器的参数。    要设置一些参数启用Proxy服务,用户首先要从菜单栏中选择“Settings”菜单项,并从其下拉菜单中单击“Proxy Senver”菜单项,程序会打开一个如^17060104j^10所示的参数设置框,该设置框总共有五个面板,具体设置分别如下:   #2 General(一般设置)    当打开代理设置对话框时,程序会默认打开General面板。该界面提供了一个是否起用代理服务器的复选项(Proxy Service Enabled),如果选中该项,表示将使用代理服务器功能,同时必须在下面的文本框中输入具体的代理服务器使用的服务端口号,程序缺省的端口号是3128。当起用代理服务器功能时,还有一项设置──那就是用户是否想对代理服务器访问过的URL进行日志记录,如果选中“Log Access to Proxy Server”这个复选项,表示将对访问代理服务器的信息进行记录。   #2 Cache(缓存设置)    该对话框主要是用来对缓存进行设置的。在对缓存设置之前,必须用鼠标单击“Cache Enable”前面的复选框启用缓存功能。接着用户必须在随后的Cache文本栏中输入一个在本地硬盘中的缓存位置,程序默认的位置是C:\Program Files\Winroute Pro\Cache;同时用户可以明确地指定硬盘缓存的大小以及内存缓存的大小,用户可以在后面的文本栏处指定硬盘缓存的上限,以MB为单位,如果缓存大小超出这个上限,则自动进行缓存修剪工作,把最不常用的内容抛弃,直到缓存大小为上限的85%。在“Cache Options”选项设置栏中,共有五个复选项,其中Keep Aborted和Continue Aborted两个选项缺省是Continue Aborted,即代表当局域网用户中断访问时由WinRoute继续读入站点内容,而Keep Aborted则放弃读入。如果选中了Cache FTP Directory Only这个选项,程序将只对FTP的目录信息进行缓存,而FTP传输的文件不会被缓存。对于第四个复选项,这个数值决定缓存中的数据保存的天数,对在缓存中时间大于这个天数的对象有请求时,都会重新从网上下载更新。最后一个选项表示是否放弃对缓存目录的控制功能。在“Max Object Size”设置栏中可以指定被缓存对象大小的上限,如果对象大于这个数值,则不会被缓存,用户可以在其后的数值框中设置一个相应的数值。   #2 Time to Live(保存时间)    在上面的CACHE面板里面有一个复选项是用来决定是否起用Time to Live(保存时间)功能,所以要对Time to Live面板下的内容进行设置时,必须事先要选中上述的复选项。在该面板下主要就是设置缓存内容的保存时间等项目,这里就不赘述了。   #2 Access(访问设置)    WinRoute的Proxy代理服务器软件支持基于IP地址的过滤和限制,提供限制可访问的网址的管理功能。要实现对用户的访问控制就通过这里的Access设置对话框实现的,用户可以对不同的用户账号或者组限制允许访问的URL。在“Access List”(允许访问列表)栏中用户可以通过“Insert”按钮来插入一个URL,通过“Edit”按钮来修改已经存在的URL,通过“Remove”按钮来删除URL。在“Access”设置栏中用户可以对指定的URL进行访问控制,通过中间的按钮“Add”来允许某些用户可以访问,通过“Remove”按钮来拒绝某些用户访问。并且所设置的网址支持利用通配符“*”限制访问任何站点和某类站点。   #2 Advanced(高级设置)    Advanced面板可以设置使用二级代理服务,输入二级代理服务器的域名或者IP地址及端口号,所有的代理请求将被转发到二级代理服务器处理。   WinRoute的Proxy设置好以后,在客户端设置浏览器为使用代理服务器,并且代理服务器设置为192.168.1.1端口号3128。    当用户访问受到管理的站点的时候,浏览器会弹出代理服务器用户认证窗口要求用户输入账号和密码来获得访问权力。    下面我们再来看看如何设置用户和用户组。通过WinRoute的Settings菜单的Account项进入用户和用户组管理。用户可以通过“Add”按钮来增加用户,通过“Edit”按钮来修改已经存在的用户,通过“Remove”按钮来删除用户。在Memship设置项中可以通过中间的Add和Remove按钮来使User中处于选中状态的用户来属于或者退出一个用户组(图11)(^17060104k^)。    当我们增加或者修改用户的时候就打开用户属性的设置窗口,在这里我们可以设置用户名(仅限于增加时),设置用户的密码,以及用户是否拥有系统管理员的权限或某些特权,当选中Full Access Administration以后该用户就成为系统管理员,可以在服务器上设置WinRoute的各项功能。    WWW和FTP等的访问可以使用WinRoute内置的代理服务器来进行控制管理,那么对于ICQ,IRC聊天等这些与工作无关的互联网应用是不是NAT类型的共享上网就无能为力呢?其实NAT类型对于这类应用也是可以很好控制的,上面我们已经知道利用WinRoute的Packet Filter数据包过滤功能如何强制用户使用Proxy来浏览网页,同样的道理,我们通过利用WinRoute的Packet Filter数据包过滤功能就可以限制用户使用这一类的软件。并且WinRoute还为我们设计了一个时间段管理功能来增强管理的能力和灵活性,使之适用于办公室等办公场所共享互联网。    首先我们看看什么是时间段,就是我们设置一个起始时间和结束时间,让后设定在这个时间段能做什么不能做什么。所以第一步就是我们设置起始时间和结束时间。从Settings菜单的Advanced子菜单进入Time Intervals设置项,在这里我们设置各种时间段。通过Add、Edit和Remove三个按钮来增加修改删除时间段。点击Add/Edit以后我们就可以设置时间段,在Name中输入这个时间段的名称例如“Work Time 1”然后确定开始和结束时间,在开始结束时间设置下面就是这个时间段有效状态,选中Alway Valid则一周七天内,这个时间段都有效,或者选择Valid at selected day确定从星期一到星期天哪几天这个时间段有效。一般可以设置工作时间段,自由休息时间段等几个时间段,方便在数据包过滤时加上时间匹配功能便于灵活管理。    时间段设置好以后我们就可以进入数据包过滤设置,在设置前我们需要了解需要禁止的应用程序使用的数据类型和端口,例如IRC聊天一般使用TCP数据和6667端口,我们就可以这样设置过滤规则,在工作时间禁止局域网用户通过NAT访问外界任何6667端口的IRC聊天服务器。选择Outgoing面板,选择连接互联网的接口,增加一条过滤规则。在过滤规则设置窗口,我们选择Protocol(数据类型协议)为TCP,Source部分中Type选择Any,Port不变保持Any,Destination部分Type为Any,设置Port为Equal to (=) 6667, Action选择为Deny(拒绝),为了增加时间段管理,在Valid at中选择时间段为事先设置好的Worktime时间段,这样就可以告诉WinRoute,在工作时间段禁止使用IRC的过滤规则生效。然后点击Apply按钮就立即生效。    同样的道理我们还可以设置出更多的过滤规则来限制局域网用户访问互联网的其他应用。    WinRoute还有其他很多功能例如充当防火墙、自动处理垃圾邮件、在局域网内部架设服务器等等,我们这里就不介绍了。