DIY自己的IPCop全功能防火墙

 如果各位的家中还有以前淘汰下来的那些老古董机器,像Pentium 90那样的计算机,在486时候那可是宝贝,现在可真的是一文不值了。各位是想把这种老机器放在墙角继续与灰尘为伍,还是愿意拥有一台自己的防火墙/路由器,并且了解一台路由器到底是如何工作的,使用淘汰下来的闲置计算机,自己组建一台防火墙/路由器倒不失为一个好主意,特别是对现在几乎每个家庭都连接到因特网上,如果有一台称手的防火墙产品可供你使用,倒也能更好地保证家庭网络的安全性。而且现在大部分基于Linux的防火墙产品都是免费的,对用户来说,在成本上的花费根本可以忽略不计。当然,如果你是那种懒人,什么事都只想一插上电源就完事,那这篇文章的内容可能不适合于你。

  现存,有很多基于Linux环境的路由器/防火墙软件可供选择,例如像有m0n0wall 、Smoothwall Express、LEAF-Bering uClibc和ClarkConnect等等,这些防火墙软件在网络或其他媒体上都有许多功能及应用方面的介绍。这次,我们把目光转向IPCop,集中注意力来看看这款软件防火墙的功能与性能表现怎么样,它的口号可是为“让不良数据包到此为止”。

  由于整个工作的复杂性,我准备分三篇文章来介绍把一台老机器变成一台全功能防火墙的整个过程,第一篇主要介绍这台防火墙硬件相关的一些问题,为安装防火墙做好准备。第二篇介绍整个防火墙的安装过程。最后一篇介绍一下安装完成后防火墙具有的各款功能及其使用方法。现在让我们往下看。

  硬件需求

  依照IPCop用户手册中的内容,这套软件对硬件的要求是相当低的,可以说现在能够使用的随便一套机器即可满足其运行的需求。IPCop的最低硬件需求只要是一台安装有386处理器,32MB内存和一块300MB大小容量硬盘的“古董级”机器就行了,即使是闲置不用的老机器配置也比这个要高啊。不过如果要安装一台能够处理带宽达到6Mbps的路由器,我们还是建议使用速度更快的硬件,毕竟,像最低配置那样老掉牙的机器运行速度肯定是不敢恭维的,别的不说,其硬件的稳定性也值得怀疑。一块奔腾(Pentium)家族的处理器再加上256MB的内存应当是能够表现得相当好的,而且使用一块20GB大小的硬盘它还能够担当一个双面角色,可作为一台高效率的代理缓存服务器来使用。

  有些人可能会这们认为,那使用最新、配置最好的硬件其性能岂不是要更好。其实,如果试着使用一些现在最新技术的硬件设备实际上不足可取,甚至还会引起一些问题。举个例子来说,现在IPCop对PCI Express技术的支持只是刚起步,远没达到完成与成熟的地步,如果我们使用了一块这样主板的话,那就可能会对主板上的网卡部分产生一些意想不到的问题。但那些使用传统常规PCI接口的网卡,例如像Intel PRO-1000一样,则应该是不会有任何问题发生的。

图片点击可在新窗口打开查看
图1:测试使用的硬件平台 – Pentium 75 Socket 7系统

  IPCop的标准配置至少需要一块网卡的支持。甚至那些最便宜的100Mbit/s以太网卡可能还更适合于我们的意图,至少它们在驱动程序的支持上会更全面一些,使用这类网卡的话它们的成本应该不会超过30元左右。现在市面上基于Realtek 8139系列芯片的网卡可以说是遍地都是,对于我们的本次应用来说,选用这种芯片的网卡倒不失为一种比较安全的作法,因为如果一种芯片的应用极其广泛的话实际上也是相当于保证了它能够得到更加广泛的驱动支持。如果你想准确地了解你所使用的某一种类型的网卡是否能够被IPCop支持,请参阅它的硬件兼容列表(Hardware Compatibility List,HCL),具体地址为:http://www.ipcop.org/modules.php?op=modload&name=phpWiki&file=index&pagename=IPCopHCLv01。

  由于在驱动程序支持方面方面还不够完善,把IPCop路由器作为一台无线AP来使用的话在目前阶段还是有一定的困难,它需要用户进行大量的手动设置,过程很烦琐并且也比较复杂。因此就目前阶段来说,要在一个WLAN中使用IPCop,我们的建议是最好使用一块常规的网卡,并把这块网卡连接到某个无线局域网AP的以太网端口上。像这样的解决方案现在已经有针对PRISM芯片的成型产品了。IPCop的主机AP工程(Host AP-Project)提供了更详细的信息来指导用户怎样进行这方面的设置。

  需要几块网卡

  一台路由器需要安装网卡的数量是依赖于它的具体应用的,不过,一块网卡是它的最低需求,所以说在我们自己所组建的路由器上至少也得安装有一块网卡,当然没有网卡的路由器我们还能称之为路由器吗,至少它是无法担当路由器功能的。在我们的这次给大家介绍的实例中,使用了两块网卡,这跟我们使用一台SOHO宽带路由器来共享ADSL或cable modem上网的具体网络结构是一样的(如图2所示)。在我们使用的这个网络中,一块网卡(第一块网卡)是连接到家用网络那一端的交换机上(用绿色的连接线表示),而它的另一块网卡(第二块网卡)则是直接连接到一台ADSL或是cable modem上的(用红色的连接线表示。

图片点击可在新窗口打开查看
图2:使用两块网卡路由器的网络连接拓扑结构

  实际上,如果你还有其他因特网的连接方式的话,一块ISDN卡或是一块传统的模拟modem卡也是可以用来代替它的第二块网卡的,这主要是依赖于每个网络连接到因特网方式的不同而决定。另外的,如果我们的网络结构比较复杂或网络中提供的服务比较多,那还可以增加更多的网卡,在图3中显示的是一台使用了四块网卡路由器的具体网络拓扑图。在这个应用实例中,一条蓝色的线连接到一个局域网,而那条橙色的线是连接到网络中另外的一交换机上或是用来提供各种应用服务的服务器上,这也是完全可能的,在我们的网络中向内外提供web和电子邮件服务是很常见的。

图片点击可在新窗口打开查看
图3:使用四块网卡路由器的网络拓扑结构

IPCop路由器的硬件需求 
CPU/主板
Intel或AMD的CPU,Pentium系列或更高级别,最小需要100 MHz的速度 (Socket 7, Socket 370, Socket A等等)
内存
256 MB SDRAM或DDR-SDRAM
硬盘
20 – 40 GB 用来用在代理模式下作网站缓存
网卡
两块10/100 Mbit/s网卡
显卡
随便一块2MB显存的卡,并不需要3D加速功能,只要能够安装上就行了
光驱
随便什么样的光驱都行,只要能够使用
软驱
并一定需要
键盘
随便哪一种键盘都行
我们将开始安装这台路由器。

  安装系统

  正如前面就提到过的,在我们自己组装的这台路由器中,是选择IPCop作为它的操作系统。这个操作系统是基于Linux系统的,操作系统本身及它的源代码都是可自由使用的,只要遵循GPL许可协议。至于其来源,我们可从IPCop的网站上下载,下载地址为http://www.ipcop.org/,大家可从这个网站中找到它的多个版本,格式是一个ISO的光盘映像文件。虽说是一整套操作系统和应用程序的结合,但它的体积还是很小巧的,仅仅只有41 MB,并且可使用随便哪个光盘刻录程序把它刻录成一张启动光盘,而且还有另外一个选项可供使用,即这个映象文件也是一个磁盘映像,我们可把它恢复到某个分区中。在我们的这次测试中,担当路由器的计算机是从一个软驱引导并且整个的安装过程是通过网络来完成的。

  除了使用软驱启动系统并从网络上安装操作系统外,我们还有一种最简单且速度最快的安装方式,就是给这台组装的路由器安装一台CD或DVD光盘驱动器,然后再从光驱上引导并安装操作系统,现在我们就来看看具体的操作过程。首先要做的第一项工作就是在加电启动系统后在主板的CMOS设置菜单中更改引导设备的顺序,光驱是必须位于可引导设备序列的第一个位置。进行这项设置可在系统的BIOS菜单中的多个位置完成,依照主板所使用的特定BIOS系统的不同,所具体设置的方法可能会有些小的差异。不过对这项参数的设置一般可在BIOS系统中的“Advanced Setup Options”或“Advanced BIOS Setup”这两个地方可找到。

图片点击可在新窗口打开查看
图4:设置光驱为第一个引导设备

  更改好这个BIOS设置后,我们可保存它的设置值,依照于所使用BIOS厂商和版本的不同,保存设置的方法可通过多个不同的方式完成。不过一般可通过按下F10键来保存,或者是通过菜单中的选项“Exit Saving Changes”来保存这些设置值。

  保存好这些设置后,计算机马上就会重新启动,并且顺利地从光驱引导系统,马上我们就可看到Isolinux的引导加载程序。在这要注意的是如果此项安装过程进行下去,会删除你硬盘中的所有数据,所以请大家要小心,在安装之前一定要备份重要的数据资料。这是安装程序在删除和重新对这个硬盘进行分区之前显示出来的最后一次警告对话框。如果你还有什么重要的文件或资料保存在这个硬盘中,那可以马上放弃这次安装,然后将此数据备份到安全的地方后再来进行安装。

图片点击可在新窗口打开查看
图5:硬盘上的数据被删除之前的最后一次警告信息

  按下回车键后将会加载Linux的内核。如果各位在这个地方遇到了什么问题的话,那还可以使用另外的两个参数“nousb”和“nopcmcia”来试一下,这两个选项参数实质上就是屏蔽主板上的USB接口和PCMCIA接口功能。作为一台普通应用的路由器,一般情况下是根本就不需要这两种接口的,不使用这两种接口也没有一点问题。

  只要操作系统的内核完成加载后,则安装程序会自动地运行下去。安装过程的第一步就是选择安装界面的语言版本,在这有几种不同的语言可用,虽说整个的内容翻译还不是很完全,在这我们选择的是英语,不过笔者好像没有找到有中文的选择项,不能不说是一种遗憾。

  在以后的安装过程中,还会弹出有警告窗口来,如同下图6差不多,在这样的提示窗口中,我们可以随时选择“Cancel”来放弃整个的安装,并且重新启动这台机器。如果你在使用老硬盘进行安装的半路上,突然意识到还是有些很重要的数据保存在硬盘之上,这样的话就可把对硬盘数据的损害减小到最低点。接下来,安装程序会询问我们是希望从哪一个存储媒体介质中来进行安装,有CDROM和HTTP/FTP可供选择。如果你是从一个软驱引导系统的,那就能够选择从网络来安装系统,即通过HTTP/FTP方式把安装数据包从网络传送过来。但在这我们是正在从光驱安装系统的,因此选择了CDROM这个选项。

  由于实际上我们已经把安装光盘放到了光驱之中,但安装程序还是会提示要插入一张安装光盘,一定要确认一下才行,这个过程看起来有些奇怪。不过最好的解释就是:有些的用户根本就没有一个可引导的光盘驱动器,或者说他们所使用的主板也不能够从光驱来引导系统,这样的现象实质上在那些比较老旧的计算机中是很普遍的,而这样闲置的机器常常是用来自己DIY一台路由器。基于这们一种情形,解决的办法是让系统从一个软盘驱动器中进行引导,然后再在此时转换到光驱中进行安装。

  当安装程序把这个硬盘进行重新分区并格式化后,真正的安装过程就开始了。在这个安装过程中要注意的是,根本就没有与用户的交互过程,所有的操作全部自动进行,如系统检查所使用的硬盘驱动器、对它进行分区操作,然后再使用适当的文件系统格式化新的分区等。不像其他的操作系统安装一样,在这用户不必频繁地面对安装程序的请求与询问,像什么有关于交换分区的容量大小等,并且我们也不必需要去知道这个数据分区是否会使用ReiserFS或是ext3分区格式等。

图片点击可在新窗口打开查看
图6:只能选择OK进行安装

  如果在硬件出现故障而导致安装不能继续进行下去,在路由器系统进行重新安装时,那个古老的软驱可就派上大用场了,能够给我们省下大量的配置时间。如果你已经把以前系统的配置信息都保存到了一张软盘上,那现在就能够使用它,并跳过余下的配置过程。只要在图7所示的屏幕内容中选择“Restore”这个按钮就行了,然后让这个安装程序来完成剩下的工作。由于我们这次是新系统的安装,没有任何的配置信息可用,所以就只能选择“Skip”这个按钮了。

图片点击可在新窗口打开查看
图7:系统配置系统导入提示

  局域网接口设置

 

  在IPCop系统中可安装多块网卡,在前文中的网络拓扑结构图中,那条“绿色”线连接的网卡是必需的,在每种不同的配置中都是需要的:这块网卡是连接到我们的家庭局域网。在这个设置过程中,安装程序会询问用户来选择一个正确的驱动程序以使用这块网卡。在大部分的安装过程中,我们都可选择“Probe”按钮,让安装程序运行一个自动检测程序来检测系统中所安装的网卡,一般情况下,对常见的网卡都可正确地识别出来,自动地安装相应的驱动程序。如下图9所示。

图片点击可在新窗口打开查看
图8:网卡配置

图片点击可在新窗口打开查看
图9:自动检测到设备

  如果你机器上所安装的网卡并不能够被自动检测程序所识别,那我们就不得不来手工指定它的驱动程序,选择“Select”这个按钮。如果IPCop所检测出来你使用网卡的名字并不与它实际的名称相符合,这也不必太担心,实际上并不会影响使用。Linux的内核程序是通过网卡的芯片来确定它们的名称的,而并不是通过它的具体型号或与之相似的名称。举例来说,一块D-Link的网卡可能会被自动检测程序识别为一块Realtek 8139网卡。

  只要正确地安装地网卡的驱动程序后,接下来就是来为这块网卡分配一个IP地址。由于这台机器上的局域网接口是连接到我们的家庭局域网的,因此我们可从保留的私用IP地址池中选择一个专用的IP地址给这块网卡:

  我们是选择的最常见的C类保留地址(192.168.0.1到192.168.0.254),因为网络中的计算机数目并不会太多,超过253台机器在一个家庭局域网中也是不太可能的,故使用C类地址就完全足够了。作为网关的计算机一般是使用这个地址段的最末一个地址,故我们就给这块网卡指定IP地址为192.168.0.254,而子网掩码就选择使用255.255.255.0就行了。

图片点击可在新窗口打开查看
图10:选择IPCop计算机的IP地址

  至此为止,整个的安装过程的开始部分就完成了(如图11所示),在以后的过程中还可以调整另外的设置值,但现在这个系统就可马上开始引导了。

图片点击可在新窗口打开查看
图11:安装完成

  通常情况下,很多人在安装过程完成后,可能会一时大意忘记了在安装程序设置过程中的一些重要数据,过段时间后就忘了系统中的具体参数。其中,最经常容易忘记也是最重要的一些系统信息可能就是IP地址和主机名字(有关这方面的内容我们马上就会作详细介绍)了。好记性不如烂笔头,花一分钟记下下面的一些内容还是很有必要的:

  http://ipcop:81
  https://ipcop:445

  在这,ipcop是这台路由器的主机名。注意上面地址中的端口号:81和445,它们相当重要,主要是由于这两个端口号跟标准的HTTP端口(80)和HTTPS端口(443)是相当接近的,但又不完全相同。当然,当我们在输入这台IPCop机器的URL时,也可以使用在安装过程中最后一步所分配给这台路由器的IP地址――192.168.0.254来代替上面的这个主机名(ipcop)。

  现在基本的设置总算是完成了,但在我们使用之前,还是有几个其他方面的设置值需要用户来进行配置。接下来,安装程序会引导用户来选择“Keyboard mapping”(键盘映射),假如你是使用一个非标准的“QWERT”键盘布局的话,就可以使用它提供的这项功能了,否则就没必要进行这方面的设置。然后再为系统的时钟来设置相应的时区。

  接下来,系统将会提示你输入这台IPCop路由器的主机名,在Windows系统中,一台计算机的主机名是跟IP地址等效的。给这台计算机配置了一个主机名后,使用这个主机名,这台路由器就可以在网络上以主机名的形式出现,以一个具有一定实际意义的字符名来代替那几个冷冰冰数字的IP地址对我们使用来说更方便;并且在进行web管理时我们还可以在要输入的URL中使用这个主机名来代替那一长串不容易记住的IP地址。系统默认的主机名是ipcop,这个名字很明白直观,一看就知道这台计算机是干什么用的,正适合我们的意图,故笔者就使用了它的这个默认主机名,当然各位还是可以指定一个自己更容易记住,更具有实际意义的名字。我们可以保留系统的默认域名localdomain不用作任何更改,除非你的网络是某一个域中的一部分,或者你想把它更改成你更容易记住的名字。

  前面就已经提到过,IPCop也是可以使用ISDN卡的,但实际上,这个选择并不是十分理想,就现阶段国内的情况来说,由于ISDN的价格及实用性等方面的原因,应用的范围极小,除非你有特殊的需求。因此在这我们选择“Disable ISDN”(禁用ISDN)。请继续往下看。

  配置WAN和DHCP服务器

  接下来我们就要来对网络配置方面进行最后的配置。在前面的内容中,我们已经选择了“绿色”局域网接口并已成功进行了配置,不过有我们的网络中,除了这块用绿色线连接的网卡外,还有另外一块用红色线连接的网卡,也就是路由器的广域网接口网卡,我们还要来选择这块网卡并对其进行配置。图12和图13显示的是适合笔者网络的选择。

图片点击可在新窗口打开查看
图12:设定网络配置类型

图片点击可在新窗口打开查看
图13:Green + red是我们所要选择的内容

  如果在各位的实际网络中,按照具体的需要,“蓝色”和“橙色”这两个接口也是可选择进行配置的。在这,“蓝色”接口是用来进行无线网络连接的那块网卡,这样这台IPCop路由器是作为一台无线路由器来使用的;然而它的“橙色”接口是被用来作一个专用的“DMZ”端口,它的作用是供那些应用服务器提供服务,来自于因特网上的用户需要对这样的服务器进行直接的访问与请求,例如像Web服务器一样,否则因特网上的用户所看到的也只不过是这台路由器的IP地址而已,而位于路由器保护下的内网中的计算机要被外网中的机器访问到由必须使用一些特定的技术才行。不过也并不是说位于路由器上局域网那边的服务器就并不能够使用那种简单的“红色”+“绿色”的配置方案了,只不过是对那些需要有因特网直接访问需求的服务器(这样的服务器是位于IPCop的防火墙前面),让它们使用一个专用的网络段是一种更安全的方法而已。

  在选择好与我们网络相适合的配置选项后,系统就会返回到“Network Configuration menu”这个菜单中,在这,我们要选择“Drivers and card assignments”这个选项,并分配那块“无人认领”――未使用的网卡为红色接口使用。正如那个绿色的接口一样,在红色接口这边也有一个IP地址的配置,如下图14所示,我们选择“Address settings”这个选项来为其配置相应的IP地址。

图片点击可在新窗口打开查看
图14:红色接口的IP地址配置

  在对WAN(因特网)端口的配置过程中,我们必须要在IPCop中指定用户当前到底是使用是哪一种类型的因特网连接,以便IPCop路由器知道怎样来通过协商以得到一个成功的服务连接。图15中显示的是WAN端口可供选择的具体连接类型,其中的内容跟我们平常在电子市场购买的那种成型的路由器产品中的配置内容差不多,基本上也就是那几个常见的配置选项。

图片点击可在新窗口打开查看
图15:红色(因特网)接口的连接类型

  对使用cable modem和使用PPPoE拨号方式的DSL用户来说,其最常见的选择是“DHCP”那个选项(图15所示),不过一定要确认你所选择的连接类型是与你因特网服务提供商的实际类型相匹配。

  如果用户使用的静态的IP地址,那我们还需要为这台路由器指定所使用的DNS服务器和网关等信息,这是在图16中的第四个菜单选项中来完成的,具体的内容见图17所示。

图片点击可在新窗口打开查看
图16:进行DNS和网关设置

图片点击可在新窗口打开查看
图17:输入相应的DNS和网关设置值

  IPCop路由器也可为用户提供一个DHCP服务器功能,这样局域网端的用户就能够通过这个DHCP服务功能来获得一个动态的IP地址并同时获取相应的网关和DNS服务器地址。如同在图18中所显示的一样,我们可在其中指定DHCP服务器所分配地址段的起始地址与结束地址,还可在这指定客户端计算机所使用的DNS服务器地址及DHCP地址的租用期限。当然,我们也可通过它的Web界面,来为局域网中的某台客户端计算机绑定一个固定的IP地址,这样的话在每次这台客户端计算机连接到路由器上进都可获得同一个地址。

图片点击可在新窗口打开查看
图18:DHCP服务器设置

  安装过程总结;

 

  实际上,到此为止我们的安装过程差不多就要完成了。仅仅只需要为系统指定“root”和“admin”用户的密码就行了。“root”用户在一个Linux系统中实际上是一个超级用户,它对整个系统拥有无限制的访问与一切特权。不论什么时候,只要你想登录进入到命令行外壳程序,例如来安装一个附加的软件等,都需要使用这个用户才能完成。而这个“admin”用户,从另一方面来说,仅仅只是一个权限比普通用户稍大的管理用户,它仅仅只是在Web前端拥有全部的访问权限。这个用户能够更改IPCop路由器的DHCP服务配置内容、端口转发设置参数、初始化连接、更新IPCop和重新启动这台路由器等等。

  恭喜,恭喜,整个的安装过程总算是结束了。假如你愿意的话,你现在就可马上关闭这个系统,并且把它的CD-ROM取下来,因为在以后我们就再也不需要它了。而这样做的另外一个好处就是,这个系统的启动速度将会更快,并且可节省一些电源消耗。

  注意:如果你把这台机器的光驱取下来后,在下一次启动系统时,请不要忘记进入到它的BIOS设置程序中,把系统的引导顺序更改一下,让硬盘排列在这个引导序列的最前面,以便系统在启动时能够顺利地从硬盘驱动器上开始引导。

图片点击可在新窗口打开查看
图19:IPCop的欢迎屏幕

  再次启动系统后,我们就会得到一个欢迎屏幕,它是Grub启动管理程序在等待用户选择相应的硬件环境(如图19所示,在这个页面中,我们可选择适合于自己的启动选项。在这,有四个选项内容可供选择:IPCop、IPCop SMP、IPCop (ACPI enabled)和IPCop SMP(ACPI HT enabled)。它的第一个选项是适合于普通的IPCop硬件环境;接下来的那个IPCop SMP选项是针对那些多处理器机器的,如像使用了超线程技术的Pentium 4处理器或又内核处理器;对一些更新的机器,IPCop也提供了两个选项来支持主要所使用的ACPI技术。在这,这些选项仅仅只可供选择一次, IPCop会记住用户选择的这个选项值,并在每次启动时都会使用所保存的这个硬件环境设置值。

  在完成这个引导过程后,如果系统的登录屏幕(如图20所示)出现在屏幕上,那就表示着它就可正常工作了。然后,这台机器的显示器和键盘也就没什么作用了,我们也可把它们去掉,仅仅只留下一台主机在那运行就行了。

图片点击可在新窗口打开查看
图20:登录屏幕

  注意,如果你真的把所有的I/O设备都从主机上取下后,我们还是建议你把机箱的扬声器连接到主板上,这样的话,在系统进行操作时或引导的时候就可通过扬声器的声音给我们反馈一定的信息来判断相应的使用状态。当计算机成功通过自检后会有一声“滴”的叫声从扬声器中发出以告诉我们机器是正常启动的,并且在这台路由器创建或关闭了下因特网连接时也会有相应的提示音从扬声器中发出。但要注意的是,如果在没有连接键盘的状态下,如果计算机在引导的过程中被挂起,就表明这台机器如果没有键盘的话它是不会继续进行自检和引导系统的,如果是这们的话,我们可在BIOS设置菜单中作相应的更改,在“Halt on”那个选项中,会有“No Error”或“All But Keyboard”或供用户进行选择,我们只要选择前一个设置值就行了。

  IPCop的功能

  现在,虽说我们把这台路由器的显示器都取了,但在任何一个Web浏览器的地址栏中输入前面你所记下的那个URL地址,我们就可从任意一台客户端计算机上连接到这台路由器的管理界面上来。确信你在URL中指定了相应的端口,否则的话你所得到的仅仅只是一个错误提示的页面内容。成功连接后,我们可看到IPCop中有大量的功能设置选项可供用户进行详细配置。现在就让我们来开始看看它的具体功能吧。

  1、DSL设置

  对一个DSL用户来说,当他们访问IPCop的欢迎页面时会看到相应的提示信息(如图21所示),首先要做的事情就是对这些提示信息作相应的处理。随便哪个用户只要在他们的浏览器地址栏中输入这台IPCop路由器的主机名或IP地址(加上相应的端口号)都可看到这些信息。

图片点击可在新窗口打开查看
图21:DSL用户连接时看到的错误提示信息

  出现这个错误信息的原因是由于我们没有指定相应的DSL帐号与密码的缘故,要完成这些信息的指定,我们可进入到“Network”菜单下的“Dialup”选项,不过要使用那个admin或root用户的身份登录进入。图22显示的是是PPPoE连接中所有可用的配置选项内容。

图片点击可在新窗口打开查看
图22:DSL帐号设置

  2、DHCP服务器

 

  前面就已经提到过这样的功能,IPCop的DHCP服务器可让用户分配一个固定的IP地址给局域网中的某个特定的客户端计算机。不过首先要做的是先完成图23和图24中所示的内容。由于DHCP服务器设置的web界面窗口比较大,不能在一屏中完全显示出来,因此笔者为了更好地显示其中的内容,用两张图片来显示这个窗口中的内容,在这两个图片中分别表示的是左边和右边区域部分的内容。

图片点击可在新窗口打开查看
图23:DHCP服务器选项(左边部分)

图片点击可在新窗口打开查看
图24:DHCP服务器选项(右边部分)

  固定的IP地址(也称为被保留的IP地址)是通过使用每一台客户端计算机网卡的那个唯一的MAC地址来进行分配的,每块网卡中的MAC地址是其物理地址,由网卡的生产厂家烧入网卡的EPROM中,在全球都具有唯一性,一般不会出现重复的现象,可以形象地说,网卡的MAC地址就如同一个人的身份证号码一样。要获得一台计算机的MAC地址就很简单的,Windows操作系统的用户,仅仅只需要打开一个命令提示符窗口,然后再输入ipconfig/all命令就行了,在所得到的返回结果中,我们就可看到计算机中所安装的每一块网卡及其对应的MAC地址与IP地址;而对于Windows XP的用户,还可以打开“网上邻居”的属性,然后在“支持”标签中就可看到这台计算机所使用网卡的MAC地址了。

  一旦我们获得了相应客户端计算机的MAC地址后,我们就可以为这台计算机分配一个永久的IP地址了,具体的操作在DHCP配置窗口比较靠近底部的地方。为了更简单化,给大家举个实例说明,笔者使用的是192.168.0.168这个地址(如图25所示)。

图片点击可在新窗口打开查看
图25:分配给某台客户端计算机一个固定的IP地址

  为也有助于你以后更方便地找到这台计算机,在这还可以输入一些附加的信息来描述这台客户端计算机的一些基本情况,具体的内容是填在“Remark”这个输入框中的。我们也可看到,在这个窗口中,还有“Next Address”、“Filename”、“Root Path”这三个输入框可供用户输入,这些选项的内容就不一定需要输入了,仅仅只是在客户端是从网络中引导时才需要这几个参数(即就是无盘工作站)。如果我们添加了一个客户端计算机,则可以在列表中查看到这个客户端(如图26)

图片点击可在新窗口打开查看
图26:固定IP租用列表

  3、端口转发和动态DNS

 

  像IPCop这样的基于NAT(网络地址转换)的路由器,它们都会丢弃所有来自于因特网对内部网络的数据请求,因为这样的话能够保证局域网内计算机的安全,保证其免于受到来自于因特网上不明来源计算机的直接访问。但因此就引发出另外一个问题,当我们想允许一些来自于因特网上的数据请求时IPCop路由器会不分青红皂白一律加以拒绝,比如说我们在局域网中安装有web或FTP服务器时,来自于外网的请求便不能成功连接到这样的服务器上。因此,像那些商用的NAT路由器一样,IPCop也可为那些特定的因特网请求进行转发,把它们指定到局域网中的某些机器上。端口转发的设置是通过被称之为“Port Forwarding”的功能来完成的。

  下面笔者给大家举个例子来说明怎样为一台局域网中的Web服务器添加一条端口转发规则,如下图27所示。在这个新规则的添加窗口中,我们填入web服务器的IP地址192.168.0.168作为目的IP地址,并且指定HTTP源端口为端口80(对来自于因特网那一方的访问而言),目的端口也是设定为这一个数值(即我们本地内网中的客户端计算机192.168.0.168)。在“Remark”这一项中,可输入比较简单的信息来标明这样规则的名称及用途,在我们的这个实例中,是填入的“Webserver”这样一个简单信息,表明这条规则是针对局域网中的web服务器的。

图片点击可在新窗口打开查看
图27:添加一条端口转发规则

  然后再点击“添加/add”按钮,这样这条规则就被添加到此窗口下部的规则列表中了,并且马上就可开始发挥作用,供用户使用了。

  如果你在外面的网络中,例如像在办公室中,想远程访问位于家庭局域网中的某一台客户端计算机,可能会发现,又有一个难题摆在我们的面前。大多数的ISP分配给用户的IP地址都是动态的,在用户连接时从ISP处所获得的公网合法IP地址可能每次都会不同,这就意味着这台路由器(包括那些使用端口转发服务的内网服务器)只要它每次重新启动后再次连接到ISP时所获得的IP地址都会是不同的,那我们不可能每次都记下这个频繁变化的IP地址吧,况且这样也不现实,要是当你在外面的时候路由器重新启动或者是重新连接到因特网了,我们是很难确定它使用的是哪个IP地址的。幸运的是,动态DNS(dynamic DNS)提供了一种办法来解决这个难题。

  动态DNS服务可为我们提供一个子域名,这个子域名总是指向经常进行改变的你那台路由器的IP地址。一般情况下,要实现这样的功能要在你局域网计算机上运行一个客户端软件,当你网络中的WAN接口的IP地址已经改变后这个客户端软件可自动检测到,并且它会通知那台动态DNS服务器的服务程序让它来获取到这个新的IP地址。不过,令人比较高兴的是,IPCop已经在它的系统中内建了一个这样的客户端程序,我们就不需要在某一台局域网计算机上来运行这个程序了。

图片点击可在新窗口打开查看
图28:设置动态DNS客户端

  这个设置过程的开始要做的就是获得某个动态DNS服务提供商的使用帐号,当然,如果你已经有了这样的一个帐号,那就可以马上进入到设置过程。有些的动态DNS服务提供商,例如像www.dyndns.org,会提供免费的使用帐号。我们就可使用这样的服务提供商的免费帐号信息,把它们输入到IPCop的相关界面中(如图28所示)。因为有某些ISP有这方面的要求或者说用户的因特网连接是通过代理服务器的,IPCop的客户端程序能够处理那些通过一台HTTP代理的操作(即选中Behind a Proxy那个选择框);并且“”这个选择框是用来处理子域的。

  最后,IPCop需要知道到底怎样来确定它的IP地址,一般情况下,对绝大部分网络而言正确的设置是选择第一个选项的内容,即由“红色”接口来确定它的IP地址,如图29所示。第二个选项的内容只有在这样一种情况下才会使用,即当在IPCop路由器和因特网连接之间还有第二台路由器时就可选用这个选项。

图片点击可在新窗口打开查看
图29:确定动态DNS IP地址的方法

  4、代理服务器

 

  一台代理服务器的作用基本上就是用来对web网站进行缓存,即把web网站中的内容保存在本地计算机上。当我们使用一台代理服务器连接到因特网时,web浏览器并没有真正地直接连接到远程的站点上,可以这样说,实际上只是对代理服务器进行查询。接收到来自于用户的数据请求后,这台代理服务器会检查一下看是否在它的缓存中已经包含了所请求站点内容的一份拷贝,并且也查询一下因特网上是否有更新版本的数据,如果本地有用户所需的内容,就直接发送给所请求的用户,而本地没有用户所需的数据或因特网上的相应数据已经更新,代理服务器就从因特网上下载这些数据再发送给用户。使用这种方式就能够确保仅仅只能最新的数据才需要从因特网上下载下来,其余的部分都可由本地局域网来提供。这种方式可为用户节省大量的带宽,特别是在局域网中有许多用户同时在使用浏览器时。另外,可能还有一个重要之处就是事实上当用户经常访问某个站点时会发现页面的下载速度更快了,特别是多个用户同时访问同一个网站时,主要是因为大部分的因特网请求数据都是从本地传送过去的,故用户就能感觉到速度上的明显变化。

  在这有两种不同类型的代理服务器功能。经典型的代理服务方式(classic proxy)在一个特殊的端口上侦听对因特网的请求,通常这些端口为8080或3128。而如果用户想使用这样的代理服务器的话,就必须手工配置他们的浏览器相关设置值,否则的话是不能够使用这台代理服务器的。

  第二种类型提透明的代理服务方式(transparent proxy),它可侦听任何的HTTP连接请求,并且不需在客户端计算机上作任何的更改。使用这种方式的话,内网用户要想绕开这台代理服务器是不可能的了,这也就是为什么那些大的公司都喜欢使用这种配置方式的缘故:这种代理方式可让他们来限制用户对某一些站点的访问,更严格地控制用户访问因特网的权限与自由。

  IPCop对这两种代理方式都可支持,不过在默认状态下代理服务功能是被关闭的。要打开它的代理服务功能也是能简单的,只要在配置页面中选择“Services”,然后再选择“Proxy”。在这,对安装在这台路由器上的每一个网络接口,都可分别单独地开启它们的代理服务功能。因此,对绿色网络接口来说,正确的选项是选中如图30中所示的“Enabled on Green”这个选择框。如果在你的路由器还安装有一块WLAN无线网卡的话,我们也可配置这个接口来使用代理服务功能,只要选中“Enabled on Blue”这个选项就行了。

图片点击可在新窗口打开查看
图30:代理服务器设置

  把“Transparent”这个选项给勾选上,就使我们路由器的代理服务器工作在透明代理方式下。选择了这种方式的话,那代理的端口就不用再作设置了。如果我们没有开启这项功能,那在局域网中每一台客户端计算机中的每一个浏览器中都必须手工输入这台服务器和相应的端口号。代理服务器所使用的缓存空间大小能够在“Cache Management”进行调整,由于这个缓存空间本身就是使用的路由器的硬盘,故极方便我们操作。在我们的这个实例中,选择了缓存空间的大小为40 GB,并且设置了它所缓存的最大目标文件尺寸为不超过32 MB,而最小的文件大小就不需要作设置了。

  注意:在这跟大家提个醒的是,当我们选择了一个比较大的缓存容量,点击下保存按钮后,会出现这样的现象:这个web页面会很长时间没有反应,好像死机了一样,这是因为路由器在试着分配所指定的磁盘空间。不要着急,只要耐心等上一会儿,等这个过程结束后就恢复正常了。

  最后,在这还有另外一个选项,用来限制进行传输的数据总量。这个功能对那些没有使用包月收费制度的用户来说可能还是很有吸引力的,如果用户接入因特网是按流量大小来收费,这个功能就可防止你每月的因特网服务费超过标准,否则网络中用户常进行大文件的下载很容易使你的流量超出限额,特别是现在BT下载这么流行。

  5、监控功能

  只要IPCop被配置好后,它便可一直运行着,很有可能过了几个星期后,你就会忘记它的存在了,甚至根本就不曾注意到在你的网络中还有这么一台设备在运行着――至少只要它一直正常工作谁也不会多花时间去注意它。不过如果你是那种喜欢探究问题,并乐意于监控设备运行状态的人,IPCop也提供了大量有关系统和网络状态的相关信息供用户查询,也还包括有各种不同的系统资源利用率图表来供用户了解当前设备的工作状态。图31到图34显示的是一小段时间内的系统和网络信息。

图片点击可在新窗口打开查看
图31:供用户检测系统状态的服务列表

图片点击可在新窗口打开查看
图32:系统运行时间报告

图片点击可在新窗口打开查看
图33:使用Linux的ipconfig命令得到的网络状态

图片点击可在新窗口打开查看
图34:绿色接口(局域网)的通信流量

  6、日志功能和Shell

 

  尽管说来,一个系统中的日志文件的内容看起来让人头疼,远没有那种交互式的状态图表好看,但当问题真正发生的时候,系统的日志记录实际上还是对用户有相当帮助作用的。在IPCop中,可以在“Log”这个标签中来查看系统的日志文件内容。

图片点击可在新窗口打开查看
图35:动态DNS更新失败的日志记录

  有时,使用一个命令行接口界面完成一些功能可能会更方便、更简单,对那些操作熟练的用户来说,根本就不用在图形界面上用鼠标点来点去,直接用一个命令就可。IPCop也提供了一个直接的shell界面来供用户使用(当然,只限于root用户)。有时,当web界面的访问没有响应时,这样的命令行窗口可就派上用场了。图36显示的是当我们使用一个关机命令shutdown now –r来重新启动计算机时屏幕上显示的内容。

图片点击可在新窗口打开查看
图36:使用一个命令来关闭计算机

  当然,我们也可以在命令行状态下来安装一些另外的软件。不过在这我们还是强烈建议,即使是那些经验丰富的Linux老手,除了那些常见的IPCop安装选项外,最好也是不要在这台路由器上安装另外的附加软件,仅仅只有这一套干净的系统在这运行就行了(当然,你有另外的需求除外)。毕竟,那些附加的软件很有可能会对路由器的安全性能造成一定的危害,谁也不知道现在网络上下载的那些自由软件的安全性到底如何。

  结束语

  实际上,IPCop还有一些其他的有用功能,限于篇幅就不再详细介绍。其中包括有一个Snort入侵检测系统,这个入侵检测系统可设置来监视每一个网络接口,以检测那些可疑活动连接中的已知数据流量标志(如果大家想更多地了解这方面的内容,请参阅有关Snort方面的资料)。

  在IPCop中还包括有带宽管理(Traffic shaping,重组流量)的功能,系统内建有WonderShaper程序包。重组流量功能可让用户更充分地利用网络的上行和下行带宽,现在ISP所提供的网络带宽还远远不能满足用户的全部要求,特别是对DSL用户来说,他们的上下行带宽是不对称的,上行带宽更是少得可怜。重组流量功能可让用户分配高、中、低的优先权给特定的web服务(端口)。Wondershaper对通过网络接口的所有通信流量都进行管理,让它们都按照你所设定的优先权按一定的规则通行,从而满足那些对带宽实时性要求比较高的程序需求,例如VoIP应用。

  最后,IPCop系统还包括有一个IPsec VPN服务器功能,这个功能可处理网络对网络(Net-to-Net)的VPN通道,例如在两台IPCop路由器之间或一台IPCop路由器和一台商用的Ipsec网关之间;它也还可处理主机对网络(Host-to-Net)的VPN通道,例如在一台单独的运行有IPsec客户端的计算机和IPCop路由器之间。这个IPsec服务器也可处理pre-shared key/password/pass phrase或X.509证书验证方法,不过在IPCop的用户帮助文档中,有关VPN这一段的内容不太完善。因此如果你准备使用这项功能的话,那很有可能会需要用到IPCop网站上有关技术支持相关章节中的一些资源链接,来成功地建立一个VPN通道。

  如果你正准备来自己动手DIY一台路由器的话,可能会有许多的软件系统可供选择。不过IPCop简单方便的安装方式、丰富的功能设置和设计精美的用户界面可能会引起你的注意,从而进入到你所选择的软件名单中。