TCP/IP协议是在Unix上发展起来的,并在Linux系统中得到了很好地继承,这使TCP/IP成为Linux系统不可分割的组成部分。因为Linux系统中TCP/IP栈的实现尤为成熟,Linux更是号称拥有业界最强的路由功能,加之其灵活、容易定制的优点,所以深受资深网管和高水平用户的青睐。用户都是通过网关连接到互联网。网关多数是专用的路由器和交换机。目前,Linux的通用性越来越强,经过适当地配置之后,它完全可以担当互联网的物理基石——路由器这一重要角色。互联网上的高水平开发者对Linux进行精简和定制后,推出了Linux软件coyote Linux(北美土狼)是一款非常小巧方便的软件路由器和防火墙软件,它以一张软盘为载体,可以使用一些古老的机器做为代理防火墙,而它的功能却很强大,本文简要介绍一些coyote Linux的安装及配置使用。
它可以仅通过一张软盘来运行,有效降低了对硬件资源的要求,并提高了工作效率。coyote Linux声称可以在486以上的PC机上顺畅运行,而且只需8MB以上的内存。它的用途和设计思路与嵌入式系统非常类似。和另外一个Linux路由器/防火墙软件——LRP相比,它们的工作原理基本一致,不同之处在于LRP的配置方法相对比较原始,每一步都需要命令行或修改配置文件来进行,而coyote Linux了交互式的选单向导配置程序,更易于操作。另外一个其中比较常见、配置简单的是BBIagent,但是现在已经不是免费的了,每台路由器的软件注册费为 36 美元。已经完全背离开源道路。
coyote Linux 官方网址:http://www.vortech.net/ 最新版本是2005年6月24日推出的2.24。主要功能:
1.支持静态IP地址连接方式,支持普通调制解调器拨号方式,支持PPPOE也就是ADSL的连接方式;
2. 程序内建DHCP服务器功能;
3. 防火墙,包括七层过滤;
4. IP自动转发,支持令牌回环,也就是俗称双通,能实现端口映射,将内部服务器发布出去。 5. 远程管理支持中文。
6. 可以设置为DNS服务器。
7. 可以配置为无线接入点或者打印服务器。
系统要求
作为路由器的计算机需要具有486以上的中央处理器、16MB以上的内存、软驱、连接局域网的网卡和连接互联网的网络设备,该设备可以是连接XDSL的网卡,也可以是线缆调制解调器(Cable Modem)或普通的调制解调器。支持以下网卡:
3com509 Modul:3c509
3com900 Modul:3c59x
Intel Ethernet Pro 100 Modul:eepro100
3com590 Modul:3c59x
RTL8139 Modul:8139cp eller8139too
下面详细介绍coyote Linux的安装及配置使用的步骤:
将安装coyote Linux软件的计算机加入局域网,如果是用ADSL/Cable调制解调器方式连接互联网,需要两块网卡,一块接入局域网,一块连接ADSL/Cables设备。笔者网络拓扑见图1。
图1 网络拓扑结构
步骤一:
软件下载安装:现在从http://www.coyotelinux.com/ 上可以下载到Linux版和Windows版的制作程序,为了体现开源精神我选择了Linux版本:
#wegt http://downloads.vortech.net/cgi-bin/dlmgr/download?ChannelID=5&DownloadID=22
#tar vxf coyote-2.24.tar.gz;#cd coyote-2.24
#./makefloppy.sh
Coyote floppy builder script v2.9
Please choose the desired capacity for the created floppy:
1) 1.44Mb (Safest and most reliable but may lack space needed
for some options)
2) 1.68Mb (Good reliability with extra space) - recommended
3) 1.72Mb (Most space but may not work on all systems or with
all diskettes)
按照提示选择1。
步骤二:选择接入互联网方式
Please select the type of Internet connection that your system uses.
1) Standard Ethernet Connection
2) PPP over Ethernet Connection
3) PPP Dialup Connection
下面系统会自动工具检测到的网络设备,确定连接互联网所使用的协议类型。如果是安装了ADSL或线缆调制解调器,选择2;如果是专线选择1;如果是普通调制解调器拨号上网,则要使用3。以下操作是1为例。
步骤三:设置网络参数:
这个需要根据自己内部ip地址的分配情况进行设置。例如:如果内部网的ip是192.168.0.1/24,这里就要把ip设置成192.168.0.X。而其他的机子要将网关设置成这个地址。以上三个步骤选项见图2。
图2 相关配置选项
步骤四:选择是否把coyote Linux设置为dhcp服务器给其他的机器分配ip地址。可以根据自己的实际情况决定用还是不用。缺省设置是把它配置为dhcp服务器,IP分配地址:192.168.0.100-192.168.0.200。
步骤五:是否将coyote Linux构建“Demilitarized Zone”(DMZ)的区域。缺省设置是否。最简单的情况是直接将防火墙放置在外网和企业网络之间,所有流入企业网络的数据流量都将通过防火墙,使企业的所有客户机及服务器都处于防火墙的保护下。然而这种结构毕竟比较简单,企业中有许多服务器、客户机等资源需要保护,不同的资源对安全强度的要求也不同。不能用对待客户机的安全级别来对待服务器,这样服务器将会很危险;同样,也不能用对待服务器的安全级别来对待客户机,这样用户会感觉很不方便。针对不同资源提供不同安全级别的保护,可以考虑构建一个叫做“Demilitarized Zone”(DMZ)的区域。DMZ可以理解为一个不同于外网或内网的特殊网络区域。DMZ内通常放置一些不含机密信息的公用服务器,这样来自外网的访问者可以访问DMZ中的服务,但不可能接触到存放在内网中的公司机密或私人信息等。许多防火墙产品都提供了DMZ的接口。硬件防火墙由于使用专门的硬件芯片,所以在性能和流量上有绝对的优势。
步骤六:设置DNS服务器选项
为局域网内计算机提供域名服务代理,加快主机名对应IP地址的查找,从而提高访问网页的速度,可自设主机名称和IP地址的解析。
步骤七:选择WEB管理语言。中文一般情况下选择CHN 。coyote Linux支持11国家的语言。见图3。
图3 语言设置选项
步骤八,选择日志服务器的地址,日志对于安全来说非常重要,他记录了系统每天发生的各种各样的事情,你可以通过他来检查错误发生的原因,或者受到攻击时攻击者留下的痕迹。日志主要的功能有:审计和监测。他还可以实时的监测系统状态,监测和追踪侵入者等等。
步骤九:系统自检,提示输入网卡中断、IO是否启用7层过滤等选项。RTL8139的pci接口的网卡,直接被支持的,IO地址和IRQ不需要设置的,直接使用会车键NEXT,如果你用的是ISA网卡就必须填写。完成后会系统当前信息,见图4。
图4 系统信息
步骤十:完成操作启动Linux路由器、防火墙
按照提示加入一张1.44MB的软盘,制作过程自动完成,大约需要250秒钟。coyote Linux软盘就完成了。用这张软盘启动一台打算作为路由器的机器,在bios里设置成软驱启动。
步骤十一:远程管理coyote Linux 路由器、防火墙
目前主要的远程连接技术大致分为以下两种:一种是基于浏览器的Web界面方式,另一种是基于命令行的方式。命令行的管理方式适合进行初始化、网卡配置等基本操作,不适合做丰富的管理功能。Web管理方式是另一种管理工具。这种方式提供了简单的管理界面,直观,是一种重要的管理工具,适合进行复杂的配置,连接多台服务器,同时支持丰富的审计和日志的功能。下面分别这介绍这两种方法。
SSH命令行方法:
目前通过SSH的远程管理工具在安全性上已经相当可靠,因为从目前来看,如果要对这些远程管理方式进行攻击,所有的可能就是在传输中。在传输中,假设所有的信息都被截下来,由于解密的工作量非常大,它依然是安全的。如果使用IDA加密算法,用每秒钟可以猜测10亿密码的分析机器,需要2的19次方/年才可以解密。SSH由于它本身是一种协议,所以对于异构平台之间,不存在兼容性问题,是一种跨平台的方式。在Linux客户端下使用SSH,优点是操作更方便无须其他软件。用户只需要使用系统提供的默认的配置文件“/etc/ssh/ssh_config”,并且使用如下简单的命令即可登录:
ssh -l root 192.168.0.1
[email protected]’s password: *******
图5 通过SSH登录的管理界面
下面简单介绍一下主菜单:
1)Edit main configuration file :修改主配置文件。
2) chang system password :修改系统密码。
3)Edit rc.local script file :修改/etc/rc.d/rc.local配置文件。
4)Custom firewall rule :自定义防火墙规则。
5)Edit Firewall configuration :修改防火墙配置。
6)Edit port forward :修改端口转发。
c) Show running configuration :查看正在运行的配置。
f)Reload firewall :重新加载防火墙。
r)Reboot system :重新启动系统。
w)Write configuration to disk :把配置文件写入磁盘。
q)quit :不存盘退出。
e)exit :存盘退出。
另外如果使用Windows操作系统的话,可以使用putty。该工具目前使用得相当普遍,可以从网上免费下载。最新版本为: putty 0.58。操作非常简单笔者就不赘述了。
浏览器管理方式:
浏览器方式管理界面一般需要完成对系统的配置、管理和监控。配置好之后,通过一个Web服务器、网络上任何一个计算机的浏览器都可以管理它。在浏览器的IP地址中输入它的地址和管理端口号8180(Coyote Linux自定义的端口为8180),然后输入管理员口令。即可见到如图所示管理界面。通常使用浏览器连接远程Linux服务器用于:远距离的技术支持。以前一般技术人员和用户之间的电话交流来进行,这种交流既耗时又容易出错。许多用户对Linux系统知道得很少,然而当遇到问题时,有了远程控制技术,技术人员就可以远程控制用户的电脑,就像直接操作本地电脑一样,只需要用户的简单帮助就可以得到该机器存在的问题的第一手材料,很快就可以找到问题的所在,并加以解决。见图5。
图6 浏览器远程管理界面
步骤十二:高级应用,以其他存储介质使用coyote Linux
coyote Linux 官方网址的链接说明其不支持USB启动(http://www.vortech.net/faq/?myfaq=yes&id_cat=2&categories=Coyote+Linux+2.x+-+General#28 )。但是为了使软盘Linux路由系统具备更多的功能,必然要求在软盘空间上容纳更多的内容。然而软盘空间有限,读写速度比较慢,也容易被损坏。现在比较新的计算机都支持USB闪盘进行启动,所以可以将软盘中的文件拷贝到USB闪盘中,来提高系统工作的性能。需要的软件包括syslinux(由它来引导Coyote Linux,下载站点:http://downloads.planetmirror.com/pub/linux-router/utils/syslinux-1.48.tar.bz2)。步骤:
1.使用FAT格式对其进行格式化,建立USB启动盘目录,注意使用正确的 USB 盘设备名称。mkdosfs 命令包含在 dosfstools工具包中。为了能在 USB 闪盘引导后启动内核,我们要在 USB 闪盘上放入一个启动引导程序。尽管任何引导装载程序(比如 LILO)都应该可以胜任这个工作,不过还是使用 SYSLINUX 更方便。主要原因是是它可以使用 FAT16 分区,而且只需要编辑一个文本文件就能对其进行配置。任何支持 FAT 文件系统的操作系统可以用来改变启动引导器的配置文件。
#mkdosfs /dev/sdb1
#mkdir /mnt/usb
2.挂载USB启动盘:
#mount –t vaft /dev/sda1 /mnt/usb
3. 拷贝、修改配置文件
将coyote的系统软盘中除了“LDLINUX.sys”之外的文件和目录全部拷入USB盘的根目录中。下载支持usb启动 的coyote内核文件(链接:http://www.cnrot.cn/upload/2005_10/05100614353469.rar ):linux覆盖掉USB盘的linux这个文件。然后将syslinux.com这个文件也拷贝到USB盘中。用编辑器修改USB盘上syslinux.cfg这个文件的一行:
append=load_ramdisk=1 initrd=root.tgz initrd_dyn=minix ramdisk_size=4096 root=/dev/ram0 boot=/dev/fd0,vfat
改为:
append=load_ramdisk=1 initrd=root.tgz initrd_dyn=minix ramdisk_size=4096 root=/dev/ram0 boot=/dev/sda1,vfat
4. 首先现在的主板大多数都支持从USB盘启动,启动时,需要到BIOS下设置从USB设备启动。进入BIOS的Advanced BIOS Features下的first boot device选项,就有usb-fdd、usb-hdd、usb-zip、usb-cdrom等usb设备的启动选项了,如果是以usb-hdd启动,运行命令:“syslinux -s c:”
5.常见问题:如果您的系统拒绝从 USB 闪盘引导,那么可能是因为它含有无效的主引导扇区记录(MBR)。您可以使用 install-mbr 命令来修复这个问题,该命令来自 mbr 软件包。另外某些USB闪盘(朗科优盘或鲁文的易盘)要先去掉加密系统,鲁文的易盘设密码为空即可,否则mount挂载上的只是usb-fdd。
另外在完成配置后,可以省去显示器、硬盘、键盘、鼠标等,从而大大降低硬件成本。另外除了本文介绍的Linux软盘路由器、防火墙外,coyote Linux还可以作为打印服务器、无线接入点。
总结:Coyote Linux 是一个单磁盘Linux套件,用来设置各种网络服务,比如互联网连接共享,防火墙;无线接入点等。最大的特点就是所有需要的组件都浓缩在一张软盘中,使用非常方便。它可以使局域网的计算机可以共享一条宽带线路访问互联网,并同时可在互联网和局域网间建立起一道安全的防火墙。该方案适用于家庭、SOHO用户等使用Linux系统作为路由器的网络环境。
参考文献:http://www.router.net.cn/softrouter/CoyoteLinux/200505/2441.html