<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/ DTD/wml_1.1.xml">

<wml>
<head>
<meta http-equiv="cache-control" content="max-age=180,private" />
</head>
<card title="关于m0n0wall的安装及配置（转）">
<p>
作者:<a href="index.php?action=showuser&amp;userid=1&amp;hash=">xreacn</a><br />时间:2007-07-25 00:50<br />分类:<a href="index.php?action=list&amp;cid=5&amp;hash=">电脑爱好者</a><br />内容:






m0n0wall is a project aimed at creating a complete, embedded firewall software package that, when used together with an embedded PC, provides all the important features of commercial firewall boxes (including ease of use) at a fraction of the price (free software).
m0n0wall is based on a bare-bones version of FreeBSD, along with a web server, PHP and a few other utilities. The entire system configuration is stored in one single XML text file to keep things transparent. 

一、   认识M0n0wall

M0n0wall是基于FreeBsd内核开发的免费软件防火墙。m0n0wall提供基于web的配置管理、提供VPN功能、支持DHCP Server、DNS转发、动态DNS、Ipsec、流量控制、无线网络支持等功能。该系统最新版本是1.2b8，最稳定版是1.1版，本文以1.1版进行介绍。

 
&lt;图1—m0n0wall标志&gt;

二、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元左右，读者可以根据实际情况进行选择。

&lt;图2—电子硬盘图&gt;           


&lt;图3--CF-IDE转接卡和CF存储卡图&gt;

M0n0wall可以在Windows和Unix/Linux平台下把系统IMG文件写到硬盘中，无论是使用IDE硬盘，还是DOM或CF卡，安装M0n0wall的方法是相同的，下面我们以在Windows 2000下安装m0n0wall到IDE硬盘为例进行说明。

步骤一：把IDE硬盘安装到一台安装有Windows 2000的电脑的主板的另一个IDE接口，连接好电源线。

步骤二： 下载M0n0wall系统和physdiskwrite工具，官方下载网址：http://www.m0n0.ch/wall/download.php?file=generic-pc-1.11.img，选择任何一个镜像站下载，我们把下载的文件保存在c:\m0n0目录，1.1 版的文件名为generic-pc-1.11.img，m0n0wall是用img格式打包的，我们还需要下载physdiskwrite工具，该工具的下载地址：http://www.m0n0.ch/wall/downloads/physdiskwrite-0.5.zip。官方的下载速度较慢，大家也可以到到：http://www.router.nt.cn下载。下载后对physdiskwrite-0.5.zip进行解压并拷贝到C:\M0N0目录中（图4）。 



&lt;图4—m0n0目录&gt;

步骤三：开始运行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系统已经安装到硬盘中了。
提示：不要选错，否则硬盘数据将全部被清除。
 

&lt;图5—选择硬盘&gt;

步骤四：把安装好m0n0wall的硬盘安装到作为防火墙的电脑，在系统BIOS中设置从硬盘启动。
（二）、光盘+软盘运行模式
  光盘+软盘运行模式需要准备一个光驱和一个3.5英寸软驱，光盘用于存储m0n0wall 系统，软盘存储配置文件。从网站上下载m0n0wall光盘版文件，并把文件刻录到光盘，具体操作步骤如下。
步骤一：m0n0wall光盘版文件下载。官方下载地址：http://www.m0n0.ch/wall/download.php?file=cdrom-1.11.iso，选择任一下载链接下载。国内下载地址:http://www.Router.Net.cn。
步骤二：把下载的cdrom-1.11.iso文件刻录到光盘，推荐使用nero进行刻录。不要解压后再刻录，否则刻录出来的光盘将无法启动。
步骤三：格式化一张1.44MB软盘，在Windows命令符方式下输入：format a:。
步骤四：把刻录成功的光盘和软盘插入作为路由器的电脑上，在BIOS设置中设置成从光盘启动。

三、M0n0wall的配置实例

  为了让大家更容易的学会使用m0n0wall，笔者以安装某学校校园网络的m0n0wall防火墙为例进行说明。该学校约有200余台电脑，已经申请电信的2M光纤，分得一个固定IP地址，为了节约经费决定使用M0n0wall作为防火墙并使用NAT功能，实现该校园内全部电脑共享上网，该校架设一台web和FTP服务器（网络拓扑图6）。

 
&lt;图6—网络拓扑&gt;

安装M0n0wall的PC硬件配置如下：
CPU P3 933，256M RAM，64M DOM，两块Intel 82559服务器版网卡。

IP分配规划
（１）   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
（２）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所示。


&lt;图7—启动完成&gt;

下面对菜单进行简单介绍。
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，系统将重新启动。



&lt;图8--vlans&gt;

提示：要求输入的网卡名称不同品牌的网卡的名称是不一样的，RTL8139系列网卡提示为rtlx，530tx网卡提示为dfex，Intel网卡提示为fxpx，读者请根据屏幕显示输入（x为数字）。从提示通常分不清那块网卡是连接到wan，那块网卡连接Lan，可以采取单接wan或lan连线的方法，连线正常的会有up显示。

2、   进入防火墙Web管理界面
在局域网内找一台安装有Windows系统的电脑，设置ＩＰ设置与防火墙同一网段（图9）。


&lt;图9—windowsip设置&gt;

在命令提示符下用Ping 命令测试与防火墙是否连通（图10），则说明与防火墙已经连通了。

 

&lt;图10--Ping&gt;

接着我们就在游览器地址栏输入：http://192.168.1.1 在用户名处输入admin，密码处输入mono（英文字母o，非数字0）就可以通过web进行管理了（图11）。


&lt;图11—第一个页面&gt;

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）。


&lt;图12—WAN设置&gt; 

在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（静态路由），如果你使用的是动态的ＡＤＳＬ接入方式Static Routers可以不设置，固定ＩＰ方式的用户建议进行设置。点击System Static routes点击＋号符号在Interface选择LAN，Destination network（目标网络）我这里输入192.168.1.0/24，Gateway（网关）我这里输入219.159.82.xxx，　Description（描述信息）可以随意输入（图13）。
 

&lt;图13—静态路由&gt;

５、工作站的设置
  完成以上设置后，我们就可以对工作站进行设置，让工作站可以通过m0n0wall共享上网了，根据我们原来的ＩＰ分配规划，192.168.1.2至192.168.1.10分配给网络中心其他服务器使用，192.168.1.11至192.168.1.250分配给其他部门计算机使用，所以其他部门户的计算机只需把ＩＰ地址设置为192.168.1.x（x从11至250），网关设置为192.168.1.1，DNS1:192.168.1.1，DNS2:192.168.1.1，就可以实现共享上网了。
６、发布Web和ftp服务器
  该校在网络中心安装有对外开放的web和ftp服务器，配置m0n0wall让校外和校内都可以访问web和ftp服务器。
  步骤一：点击Firewall NAT，将出现图14，点击Inbound的+号增加配置信息。

 
&lt;图14&gt;

步骤二：配置Web端口映射。其中Interface设置为ＷＡＮ，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键。



&lt;图15&gt;

步骤三：配置FTP端口映射。其中Interface设置为ＷＡＮ，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]www.router.net.cn[/url]就可以访问发布的web服务器了。



&lt;图16&gt;

提示：局域网内的电脑还无法用域名访问校内的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]www.router.net.cn[/url]访问网站了。

 

&lt;图17&gt;

四、其他常用功能介绍
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）。



&lt;图18&gt;

步骤四：按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组件，下载地址：http://www.adobe.com/svg/viewer/install/，安装完成后可以点击Status Traffic graph就可以对LAN和WAN网卡的数据流量情况进行动态监视，如图19。



（图19）

4、   升级m0n0wall
一般情况下如果你使用的m0n0wall工作很正常，如果没有新的m0n0wall正式版本推出(版本号带b为测试版本)，建议不升级。M0n0wall可以通过web界面进行升级，升级后可以使用原有的配置。下面以1.1版升级到1.2b8版为例进行说明，其他版本的升级类似。
步骤一：到http://www.m0n0.ch/wall下载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]www.Router.net.cn[/url])和路由器论坛([url]www.RouterBBS.com[/url])众多网友的帮助，大家在使用中遇到问题可以访问网站和论坛，同样欢迎与我交流m0n0wall@126.com。

</p><p>
<a href="index.php?action=login&amp;hash=">立即登陆发表评论</a><br />
</p>
<p><a href="index.php?action=list&amp;hash=">返回日志列表</a><br /><a href="index.php?action=index&amp;hash=">返回主页</a></p>
</card>
</wml>
