分类: BSD
2006-09-12 16:15:47
一、 认识M0n0wall
M0n0wall是基于FreeBsd内核开发的免费软件防火墙。m0n0wall提供基于web的配置管理、提供VPN功能、支持DHCP Server、DNS转发、动态DNS、Ipsec、流量控制、无线网络支持等功能。该系统最新版本是1.2b8,最稳定版是1.1版,本文以1.1版进行介绍。
<图1—m0n0wall标志>
二、m0n0wall安装
m0n0wall可以安装在IDE硬盘、电子硬盘(DOM)、CF存储卡、光盘+软盘上。任何486以上的电脑,只要配备二块网卡,不小于64M内存就可以运行该系统。下面分别介绍这几种安装方式,读者可以根据自身情况选择一种最适合自己的运行模式。m0n0wall虽然可以在很低的硬件环境下使用,但笔者建议最好还是采用586以上的计算机,不低于128M内存,M0n0wall可以RTL8139、DFE530-TX等常见的网卡,但从笔者所安装的防火墙的使用情况来看,要充分发挥m0n0wall的性能,性能优良的网卡是必不可少的,所以我们建议有条件的朋友选用Intel或3COM等品牌的网卡。
(一)、硬盘运行模式
m0n0wall对硬盘没有特殊要求,只需准备容量大于8MB以上的硬盘就可以了,m0n0wall启动完成后,所有的运行都是在内存中进行的,但由于路由器通常是长时间的连续运行的,普通IDE硬盘长时间运行容易出现故障,在笔者维护的网络中,最容易出现问题的就是IDE硬盘的损坏,建议有条件的朋友使用电子硬盘(图2)或CF存储卡,电子硬盘是非机械式的不容易坏损,电子硬盘市面一般较少见,做工控产品的厂商一般都有出售,64M 的DOM大概需要200元左右;CF存储卡市场容易购得,但CF-IDE转接卡(图3)市场很难见到,每块售价一般在80元左右,读者可以根据实际情况进行选择。
<图2—电子硬盘图>
<图3--CF-IDE转接卡和CF存储卡图>
M0n0wall可以在Windows和Unix/Linux平台下把系统IMG文件写到硬盘中,无论是使用IDE硬盘,还是DOM或CF卡,安装M0n0wall的方法是相同的,下面我们以在Windows 2000下安装m0n0wall到IDE硬盘为例进行说明。
步骤一:把IDE硬盘安装到一台安装有Windows 2000的电脑的主板的另一个IDE接口,连接好电源线。
步骤二: 下载M0n0wall系统和physdiskwrite工具,官方下载网址:,选择任何一个镜像站下载,我们把下载的文件保存在c:\m0n0目录,1.1 版的文件名为generic-pc-1.11.img,m0n0wall是用img格式打包的,我们还需要下载physdiskwrite工具,该工具的下载地址:。官方的下载速度较慢,大家也可以到到:下载。下载后对physdiskwrite-0.5.zip进行解压并拷贝到C:\M0N0目录中(图4)。
<图4—m0n0目录>
步骤三:开始运行cmd回车,cd c:\m0n0进入m0n0目录中运行physdiskwrite -u generic-pc-1.11.img (只有当硬盘容易大于800MB时才需要-u)。系统显示你电脑中的两个硬盘的一些信息,并提示Which disk do you want to write?(0..1),我们这里选择1(图5)。屏幕显示“6291456/6291456 bytes written in total”则表示m0n0wall系统已经安装到硬盘中了。
提示:不要选错,否则硬盘数据将全部被清除。
<图5—选择硬盘>
步骤四:把安装好m0n0wall的硬盘安装到作为防火墙的电脑,在系统BIOS中设置从硬盘启动。
(二)、光盘+软盘运行模式
光盘+软盘运行模式需要准备一个光驱和一个3.5英寸软驱,光盘用于存储m0n0wall 系统,软盘存储配置文件。从网站上下载m0n0wall光盘版文件,并把文件刻录到光盘,具体操作步骤如下。
步骤一:m0n0wall光盘版文件下载。官方下载地址:,选择任一下载链接下载。国内下载地址:。
步骤二:把下载的cdrom-1.11.iso文件刻录到光盘,推荐使用nero进行刻录。不要解压后再刻录,否则刻录出来的光盘将无法启动。
步骤三:格式化一张1.44MB软盘,在Windows命令符方式下输入:format a:。
步骤四:把刻录成功的光盘和软盘插入作为路由器的电脑上,在BIOS设置中设置成从光盘启动。
三、M0n0wall的配置实例
为了让大家更容易的学会使用m0n0wall,笔者以安装某学校校园网络的m0n0wall防火墙为例进行说明。该学校约有200余台电脑,已经申请电信的2M光纤,分得一个固定IP地址,为了节约经费决定使用M0n0wall作为防火墙并使用NAT功能,实现该校园内全部电脑共享上网,该校架设一台web和FTP服务器(网络拓扑图6)。
<图6—网络拓扑>
安装M0n0wall的PC硬件配置如下:
CPU P3 933,256M RAM,64M DOM,两块Intel 82559服务器版网卡。
IP分配规划
(1) m0n0wall 网络配置
外接网卡配置
IP地址: 219.159.82.XXX
子网掩码:255.255.255.252
网关:219.159.82.xxx
DNS1:202.103.224.XXX DNS2:202.103.225.XXX
接局域网网卡配置
IP:192.168.1.1 子网:255.255.255.0
(2)Web和ftp服务器网卡配置
IP地址: 192.168.1.2
子网掩码:255.255.255.0
网关:192.168.1.1
DNS1:192.168.1.1 DNS2:192.168.1.1
(3)客户机网卡配置:
IP:192.168.1.(11~250)、子网:255.255.255.0
网关:192.168.1.1
DNS1:192.168.1.1 DNS2:192.168.1.1
1、 通过控制台进行设置
步骤一:按照以上介绍的方法制作好m0n0wall,把安装有m0n0wall的硬盘安装到目标机,在BIOS中设置从硬盘启动,启动完成后出现图7所示。
<图7—启动完成>
下面对菜单进行简单介绍。
1)Interfaces:assign network ports(网卡:指定网络端口),指定安装的网卡,用那一块连接WAN,那一块连接LAN。
2)Set UP LAN IP Address(设定LAN网卡的IP地址)。
3)Reset WebGui Password(重设Webgui密码为Mono);
4)Reset to factory defaults(恢复成出厂设置);
5)Reboot system(重新启动)。
在这里我们输入1并回车。系统提示是否设置对VLAN(虚拟局域网)的支持,回答N(图8),系统接着提示:“Enter the LAN interface name or 'a' for auto-detection:”(输入LAN网卡名称或输入a自动检测),在这里输入”fxp0”,回车后系统再提示“Enter the WAN interface name or 'a' for auto-detection:”fxp1”,回车后系统再提示“Enter the Option 1 interface name or 'a' for auto-detection(or nothing if finished):,按回车键。
提示The firewall will reboot after saving the changes.Do you want to proceed?(y/n)输入y,系统将重新启动。
<图8--vlans>
提示:要求输入的网卡名称不同品牌的网卡的名称是不一样的,RTL8139系列网卡提示为rtlx,530tx网卡提示为dfex,Intel网卡提示为fxpx,读者请根据屏幕显示输入(x为数字)。从提示通常分不清那块网卡是连接到wan,那块网卡连接Lan,可以采取单接wan或lan连线的方法,连线正常的会有up显示。
2、 进入防火墙Web管理界面
在局域网内找一台安装有Windows系统的电脑,设置IP设置与防火墙同一网段(图9)。
<图9—windowsip设置>
在命令提示符下用Ping 命令测试与防火墙是否连通(图10),则说明与防火墙已经连通了。
<图10--Ping>
接着我们就在游览器地址栏输入: 在用户名处输入admin,密码处输入mono(英文字母o,非数字0)就可以通过web进行管理了(图11)。
<图11—第一个页面>
3、常规信息的设置
首先对系统的基本信息进行设置,m0n0wall的管理界面还是比较直观明了的,遗憾的是现在还没有中文版本,单击System下面的General setup(常规设置)在这里我们可以进行admin用户密码,dns服务器,Web管理界面的协议,端口进行设置。为了防火墙的安全我们建议对admin用户密码、访问协议、端口等信息进行重新设置。
我把webGUI protocol设为HTTPS,webGUI port设为8080,DNS为:和192.168.1.1 和202.103.224.xxx(请根据网络环境进行设置),按Save保存配置,这时系统提示重新启动防火墙,点YES,防火墙将重启。
防火墙启动完成后,请用修改后的协议、端口、新密码访问防火墙。
4、设置共享上网
m0n0wall支持光纤、ADSL、ISDN、有线电视宽带等常见的接入方式,下面我们对WAN进行设置。点击Interfaces WAN(图12)。
<图12—WAN设置>
在TYPE(类型)中有Static(固定)、DHCP(动态)、PPPoE、PPTP、BigPond等五种类型,这里我们介绍固定IP和ADSL的设置,另外的设置方式类似。
a. 固定IP方式设置
如果您使用的固定IP请选择选择Static,在这里我选择了Static,Static IP configuration(静态IP地址配置)IP Address(IP地址)输入外网IP地址219.159.82.XXX/30,Gateway(网关)输入外网网关地址219.159.82.xxx。
提示:m0n0wall子网掩码采用的是CIDR标记法,如255.255.255.0用/24表示,255.255.0.0用/16表示,255.0.0.0用/8表示等,实际上x中的就是子网掩码二进制表示的数位1的个数,如255.255.255.252,用CIDR标记为/30。
b. ADSL宽带设置
如果你使用的是ADSL,请在type中选择PPPoE在PPPoE Configuration下的username(用户名)处输入用户名,Password处输入密码,Service name(服务商名称)可以随意输入或留空,最后点击Save保存配置。
提示:只需设置一种上网方式。
c. 静态路由设置
完成WAN的设置后,我们可以继续设置Static routes(静态路由),如果你使用的是动态的ADSL接入方式Static Routers可以不设置,固定IP方式的用户建议进行设置。点击System Static routes点击+号符号在Interface选择LAN,Destination network(目标网络)我这里输入192.168.1.0/24,Gateway(网关)我这里输入219.159.82.xxx, Description(描述信息)可以随意输入(图13)。
<图13—静态路由>
5、工作站的设置
完成以上设置后,我们就可以对工作站进行设置,让工作站可以通过m0n0wall共享上网了,根据我们原来的IP分配规划,192.168.1.2至192.168.1.10分配给网络中心其他服务器使用,192.168.1.11至192.168.1.250分配给其他部门计算机使用,所以其他部门户的计算机只需把IP地址设置为192.168.1.x(x从11至250),网关设置为192.168.1.1,DNS1:192.168.1.1,DNS2:192.168.1.1,就可以实现共享上网了。
6、发布Web和ftp服务器
该校在网络中心安装有对外开放的web和ftp服务器,配置m0n0wall让校外和校内都可以访问web和ftp服务器。
步骤一:点击Firewall NAT,将出现图14,点击Inbound的+号增加配置信息。
<图14>
步骤二:配置Web端口映射。其中Interface设置为WAN,Protocol设置为tcp,External port range设置为http, NAT IP设置为192.168.1.2,Local port设置为http,Description(描述信息)设置为web Server,最后Auto-add a firewall rule to permit traffic through this NAT rule一定要选定,否则必须手动在Firewall中rules 加规则,所有设置如图15所示,点击save键。
<图15>
步骤三:配置FTP端口映射。其中Interface设置为WAN,Protocol设置为tcp,External port range设置为FTP, NAT IP设置为192.168.1.2,Local port设置为FTP,Description(描述信息)设置为FTP Server,最后Auto-add a firewall rule to permit traffic through this NAT rule一定要选定,否则必须手动在Firewall中rules 加规则,点击save键,再点击“apply Changes”(修改确认),系统提示应用生效,通过查看Firewallrules,发现系统已经有二条新加入的规则(图16)。在外网输入[url][/url]就可以访问发布的web服务器了。
<图16>
提示:局域网内的电脑还无法用域名访问校内的web和ftp。
步骤四:实现内网用户用域名访问本地web和ftp站点。点击ServicesDNS forwarder(DNS转发),点击+号按钮,在host输入主机名(如www),domain输入你将使用的域名(如router.net.cn),Ip Address输入作为web服务器的IP地址(如192.168.1.2),最后Description可以输入如www server(图17)。FTP DNS转发的设置与WWW DNS转发设置类似。设置完成后内部网计算机DNS设置为防火墙的LAN IP(如192.168.1.1),就可以通过输入[url][/url]访问网站了。
<图17>
四、其他常用功能介绍
1、 流量限制
m0n0wall具有强大流量整形功能,可以对基于IP地址、mac地址、网段、p2p软件、协议等方式来实现对上传下载速度的控制。下面举一个例子进行说明,如要求限制IP地址为192.168.1.20的计算机下载速度不得超过200Kbit/S。
步骤一:Firewall: Traffic shaperRulesEnable traffic shaper打勾,按Save按钮保存。
步骤二:点击Pipes,按+号按钮,在Bandwidth(带宽)处输入200,Description处随意输入一些说明,其它设置不可以不设。
步骤三:点击Firewall: Traffic shaperrules,按+符号按钮,Interface处设置为LAN,Protocol设置为tcp,DestinationType处选择Single host or alias,在address处输入你将要控制的IP地址如192.168.1.20,其他设置一般可以不设,最后按Save保存(图18)。
<图18>
步骤四:按Apply changes(确认修改),让系统生效,经测试IP为192.168.1.20的计算机下载速度在25KB/S(200/8=25)左右,说明设置生效了。
2、 备份/恢复配置文件
配置备份:点击Diagnostics Backup/restore,点击Download configuration按钮,选定备份配置的目录,按保存键完成配置的备份。
配置恢复:如果m0n0wall设置出现问题,可以通过从备份配置文件进行恢复。点击Diagnostics Backup/restore,点击游览按钮选择配件文件所在位置,点击Restore configuration(恢复配置),m0n0wall将自动重启,配置恢复完成。
3、 系统运行状态监视
m0n0wall可以对CPU、内存、网卡工作状态、网络流量状态进行监视。CPU、内存使用情况对m0n0wall的性能有很大的影响,通过点击StatusSystem可以看到cpu和内存使用情况。通过点击StatusInterface可以监看网卡的工作状态。网络流量监视必须安装安装Adobe SVG viewer组件,下载地址:,安装完成后可以点击Status Traffic graph就可以对LAN和WAN网卡的数据流量情况进行动态监视,如图19。
(图19)
4、 升级m0n0wall
一般情况下如果你使用的m0n0wall工作很正常,如果没有新的m0n0wall正式版本推出(版本号带b为测试版本),建议不升级。M0n0wall可以通过web界面进行升级,升级后可以使用原有的配置。下面以1.1版升级到1.2b8版为例进行说明,其他版本的升级类似。
步骤一:到下载generic-pc-1.2b8.img文件。
步骤二:在浏览器中输入http://防火墙IP,在SystemFirmware(固件),点击Enable firmware upload(允许固件上载),点击游览选定新版本文件(如generic-pc-1.2b8.img),点击Upgrade firmware(更新固件)开始更新,如图20所示,完成后系统提示This image is not digitally signed…,无须理会,按YES系统将重新启动,启动完成后发现版本已经从原来的1.1变为1.2b8了,说明升级成功。在升级过程中不要关闭IE,否则m0n0wall系统将可能无法启动。
五、写在最后
M0n0wall的功能非常强大,受文章编幅和笔者水平所限,更高级的应用有待大家一起共同探讨,希望本文能起到抛砖引玉的作用,在写作本文过程中得到了中国路由网([url][/url])和路由器论坛([url][/url])众多网友的帮助,大家在使用中遇到问题可以访问网站和论坛,同样欢迎与我交流。