李家隆
防火墙是网络中的重要设备,而功能齐全的硬防火墙往往价格不菲,能否利用开源软件,架构一台高性能的软防火墙呢?
m0n0wall是基于FreeBsd内核开发的免费软件防火墙。提供基于Web的配置管理、提供VPN功能、支持DHCP Server、DNS转发、动态DNS、Ipsec、流量控制、无线网络支持等功能。我们可以借助此款软件,DIY自己的个性防火墙。
● 软件下载
m0n0wall系统和physdiskwrite写盘工具可从网上下载。英文版下载地址是http://www.m0n0.ch,汉化版下载地址是http://bbs.m0n0china.org。
● 硬件需求
任何标准的X86 PC、只要配备两块网卡,内存不小于64M都能运行该系统,而且系统可以安装在IDE硬盘、电子硬盘(DOM)、CF存储卡等存储介质上。
● 系统安装
以m0n0wall1.235在XP下安装到IDE硬盘为例。
把下载好的系统文件和写盘工具保存在c:\m0n0目录,将准备安装m0n0wall系统的IDE硬盘接到XP系统电脑的主板第二个IDE口上。进入m0n0目录中,运行“physdiskwrite-generic-pc-1.235_sc.img”,此时系统显示两个硬盘的一些信息,并提示“Which disk do you want to write?(0..1)”,选择“1”(即安装m0n0wall系统的硬盘),并输入“y”确认(如图1)。将该硬盘安装到用做防火墙的电脑中,设置为硬盘启动。
● 系统配置
首次运行m0n0wall,需要对其进行简单配置,配置菜单共有六项(如图2),一般只需要配置前两项,后四项可在Web管理方式完成。各菜单的功能如下:
⑴网卡:指定网络端口,即设置连接WAN和LAN的网卡;
⑵设置LAN IP地址,即内网的网关,默认为192.168.1.1;
⑶复位WebGUI密码,默认密码为mono;
⑷恢复出厂默认设置;
⑸重新启动系统;
⑹Ping主机,用于检测网络。
● 应用实例
学校有100台教师用机、40台多媒体教室用机;1台服务器提供Web和FTP服务;出口为10M宽带(静态IP);2个微机房均采用双网卡服务器代理上网。网络拓扑图(如图3)。
在同网段中的任意计算机上启动浏览器,输入http://192.168.1.1,即可进入m0n0wall的Web管理界面(如图4),默认用户名:admin,密码:mono。
1.实现共享上网
首先设置DNS:通过“系统\常规设置”,在DNS服务器项文本框中填入ISP提供的DNS服务器地址(218.2.135.1和61.147.37.1),并保存。在此页面还可以修改用户名和密码、WEB管理页面的协议类型和端口等,以提高防火墙的安全性。
接着设置上网类型:通过“网络接口\WAN”,在类型下拉框中选择“Static”(共有Static、DHCP、PPPoE、PPTP、BigPond五种,根据接入方式来选择)。静态IP设置项中输入IP地址(221.226.127.*)、子网掩码输入“/26”(m0n0wal子网掩码采用的是CIDR标记法,即子网掩码二进制表示的数位为1的个数,如255.255.255.0,用CIDR标记为/24)、网关(221.226.127.*),保存设置。
最后打开DNS转发:通过“服务功能\DNS转发”,勾选“DNS转发功能”,保存设置。
完成上述操作后,根据校园网的IP分配规划,修改客户机网络设置,就可以通过m0n0wall实现共享上网。
2.配置防火墙规则
与大部分硬件防火墙一样,m0n0wall也是工作在第三层(网络层)。默认状态下已建立两条规则:允许内网到任意位置的通讯、阻断外网端口上所有的进入连接。我们可以根据需求通过“防火墙\规则”自行配置规则来控制上网行为,防火墙是按照顺序来匹配规则列表,如果匹配了所配置的一条规则,将不再匹配该条规则以下的规则(如图5)。
3.内网服务发布
目前,校内计算机只能通过内网地址来访问Web和FTP服务器,校外机器则无法访问。要使校内、校外的计算机都可以使用域名访问,需对m0n0wall进行相应配置。
首先映射Web端口:通过“防火墙\NAT”,在“转入”项中点“+”图标,添加一条规则。网络接口为WAN,Protocol设置为TCP,外部端口范围设置为HTTP,NAT的IP地址填Web服务器地址(192.168.1.2),本地端口设置为HTTP,描述输入NAT Web Server,勾选“在防火墙中自动添加一条允许NAT侧则通过的过滤规则”,保存并应用更改。
接着映射FTP端口:方法类似映射WEB端口,只需将外部端口范围设置为FTP,本地端口设置为FTP,描述输入NAT FTP Server。
依此类推,还可以将远程桌面3389、SMTP(25)、POP3(110)等常用的端口映射(如图6)。此时,校外计算机已经可以使用域名访问Web和FTP服务器,而校内计算机还不可以。
最后设置主机:通过“服务功能\DNS转发”,点“+”图标添加主机。在主机输入WWW,域输入使用的域名(如router.net.cn),IP地址填WEB服务器地址(192.168.1.2),描述可以输入www server,并保存。同理再添加FTP主机。
完成上述操作,将校内计算机的DNS设置为防火墙的LAN IP,就能使用域名访问Web和FTP服务器了。
4.流量限制
m0n0wall具有流量控制功能,可以对基于IP地址、Mac地址、网段、协议等方式来实现对上传下载速度的控制。
通过“防火墙\流量管理”,先在管道项中,建立数据通道(如图7);然后在规则项中,将相应的管道添加到规则中,保存并应用更改(如图8)。
5.DHCP服务器配置
将m0n0wall路由防火墙作为内部局域网的DHCP服务器,能够防止局域网内机器产生IP地址冲突,减少手工设置IP地址的麻烦。
通过“服务功能\DHCP服务”,勾选“在LAN接口打开DHCP服务”,在地址范围项文本框中分别输入起始IP地址和结束IP地址,保存设置,就可以启动DHCP服务。通过“诊断\DHCP租约”,能查看到当前活动及过期的DHCP租约。
6.备份/还原配置文件
利用“诊断—备份/还原”,备份当前防火墙的配置信息,以防不测之时能快速地恢复系统配置。
以上只介绍了m0n0wall中的部分功能和应用,经过长时间的运行,性能良好。m0n0wall作为一个网关设备,具备了路由与防火墙的功能,并以简单和稳定的特点给网络安全和网络管理带来了方便。