MONOWALL简明配置手册分解.docx
《MONOWALL简明配置手册分解.docx》由会员分享,可在线阅读,更多相关《MONOWALL简明配置手册分解.docx(11页珍藏版)》请在冰豆网上搜索。
MONOWALL简明配置手册分解
MONOWALL配置手册
撰写人:
萧烺
一.MONOWALL简介
m0n0wall是一项针对建立一个完整的、嵌入式的防火墙软件包的计划,该软件包可以安装于嵌入式PC里,提供所有商业防火墙的重要特性(包括易用性),而且价格只有商业防火墙几分之一(自由软件)。
m0n0wall是基于bare-bonesversionofFreeBSD,包括一个WEB服务器,PHP和其它一些工具软件。
整个系统的配置保存在一个XML文件当中,条理清晰。
m0n0wall可能是第一个启动时通过PHP配置的UNIX系统,这种结构胜于使用shell脚本。
并且整个系统的配置用XML格式保存。
m0n0是一个防火墙,而防火墙的目的是提供安全。
增加越多的功能,新增功能的弱点给防火墙带来安全隐患的机会就越大。
m0n0wall创建者及主要贡献者的观点是防火墙第3和4层基本服务之外的任何东西都不属于m0n0wall。
一些可能合适的服务占用CPU和内存饥渴,而m0n0wall着眼于嵌入式设备,CPU和内存资源都有限。
非连续(保存)的文件系统是由于着眼于CF(CompactFlash)安装,这又是一个限制因素。
最后,(内核)映象的大小限制,消除了其它可能性。
我们觉得以下服务应该运行在其它服务器,并特意不作为m0n0wall的一部分:
入侵检测/保护系统(IDS)
代理服务器
第三、第四层外的任何数据包检查
通用的WEB服务器
FTP服务器
网络时间服务器
日志文件分析器
基于同样的原因,m0n0不允许登录(login):
控制台没有登录提示符(以显示一个菜单代替),没有telnet和ssh服务进程(deamon)
1.3历史
ManuelKasper,m0n0wall的作者,说:
从我开始在嵌入式PC上摆弄包过滤器,我就想有一个漂亮的基于web图形界面的
控制器来控制所有的防火墙功能,而不是通过键入单个的命令。
在互联网上有很多漂亮的带有WEB接口的防火墙包(大部分是基于Linux的),但是没有一个符合我要求的(自由,快速,简单,干净以及我需要的所有特性)。
所以,我终于开始写属于自己的WEB图形界面。
但是,我决不是想建立一个webmin的翻版----我想建立一个完整的、新的嵌入式防火墙软件包。
它的所有将被发展为一个接上电源的盒子,可以通过串口设置LANIP地址,登录进WEB界面设置它。
然后我决定我不能像平常的启动系统那样通过SHELL脚本配置系统(由于它几乎不可能用SHELL脚本完成,所以我已经写了一个C程序产生过滤器规则),并且自从我使用了基于PHP的WEB接口,不长时间我就发现还是使用PHP来配置系统的好。
这种方法,配置数据将不再必须被存储在那些被SHELL脚本解析的文本文件里面----它现在被存储在一个XML文件里。
所以我又完全重写了整个系统,除了相当多的“引擎罩底下的东西“外,看上去感觉没有什么改变。
m0n0wall的第一个公共beta版于2003年2月15日,1.0版本正好在一年后的2004年2月15日。
这两个版本之间共发布了另外26个公共beta版,平均每两个星期发布一个。
每个版本完整的修改列表可以在m0n0wall网站的ChangeLog栏目找到。
1.4功能
monowall提供了很多昂贵商用防火墙中的功能,其中一些功能还是商用防火墙中没有的。
包括:
WEB界面(支持SSL)
用于恢复系统的串口界面
设置LANIP地址
重置密码
恢复初始默认设置
重启系统
无线支持(accesspointwithPRISM-II/2.5/3cards,BSS/IBSSwithothercardsincludingCisco)
上网认证(captiveportal)
支持802.1QVLAN
基于状态的包过滤
block/pass规则
日志
NAT/PAT(包括1:
1)
在WAN口上支持DHCP客户、PPPoE、PPTP和TelstraBigPondCable
IPsecVPN隧道(IKE;支持硬件加密卡,移动客户和证书)
PPTPVPN(支持RADIUS服务器)
静态路由
DHCP服务器与中继
缓存DNS转向器
动态DNS客户端与RFC2136DNS更新器
SNMP代理
流量整形(带宽限制)
基于SVG的流量图
可以通过WEB界面进行固件升级
唤醒LAN客户
配置文件备份/恢复
主机/网络别名
1.4.1组件
m0n0wall包括以下软件组件:
FreeBSDcomponents(kernel,userprograms)
ipfilter
PHP(CGIversion)
thttpd
MPD
ISCDHCPserver
ez-ipupdate(forDynDNSupdates)
Dnsmasq(forthecachingDNSforwarder)
Raccoon(forIPsecIKE)
1.4.2规格
当前的m0n0wall系统可以存放在小于6M的CF卡(或者CD-ROM)上
在net4501平台上,当运行默认配置的时候,包含NAT在内,m0n0wall提供大约17Mbps的WAN<->LANTCP吞吐量。
在更快的平台上(类似于net4801或者WRAP),吞吐量可能超过50Mbp(在更新的标准PC上>100Mbps)。
在net4501平台上,m0n0wall从上电启动到完全可以工作的时间小于40秒,这其中包含POST(适当的BIOS配置)
1.5软件版本和分发(许可)
m0n0wallisCopyright©2002-2004byManuelKasper.Allrightsreserved.
允许以源代码和二进制形式再分发未经修改或经过修改的版本,只要满足以下的条件:
以源代码形式再分发必须不加修改地保留上述版权告示、本条件清单和下述弃权书。
以二进制形式再分发必须复制上述版权告示、本条件清单和下述弃权书到再分发相关的文档和其介质中。
本软件“按现状条件”提供,并在此明示不提供任何明示或暗示的保障,包括但不限于对商业适销性、对特定目的的适用性的暗示保障。
任何情况下,均不对任何直接、间接、偶然、特殊、惩罚性的,或必然的损失(包括但不限于替代商品或服务的采购、使用、数据或利益的损失或营业中断)负责,无论是如何导致的并以任何有责任逻辑的,无论是否是在本文档使用以外以任何方式产生的契约、严格责任或是民事侵权行为(包括疏忽或其它)中的,即使已被告知发生该损失的可能性。
1.5.1其它软件包
m0n0wall基于或包含多种自由软件,在下面列出。
m0n0wall的作者很感谢这些软件作才所做出的努力。
FreeBSD(http:
//www.freebsd.org)Copyright©1994-2003FreeBSD,Inc.Allrightsreserved.
ThisproductincludesPHP,freelyavailablefrom.Copyright©1999-2003ThePHPGroup.Allrightsreserved.
mini_httpd(Copyright©1999,2000byJefPoskanzer.Allrightsreserved.
ISCDHCPserver(http:
//www.isc.org/products/DHCP)Copyright©1996-2003InternetSoftwareConsortium.Allrightsreserved.
ipfilter(http:
//www.ipfilter.org)Copyright©1993-2002byDarrenReed.
二.硬件兼容性和配置
2.1支持的硬件架构
m0n0wall只支持X86架构。
所支持的设备包括标准的PC设备,以及各种嵌入设备。
其目标是基于X86的嵌入PC。
这意味着不包括非X86的设备,如基于MIPS的Linksys设备,基于ARM的D-Link设备等。
FreeBSD不支持MIPS和ARM平台。
FreeBSD所支持的平台可以阅http:
//www.freebsd.org/platforms/index.html。
其中列出的某些平台还不能工作,如MIPS。
目前m0n0wall只支持X86平台。
2.2支持基于PC的硬件
m0n0wall可以运行在任何标准X86PC,只要求具备两个网络接口。
2.2.1最低要求
486CPU–任何486或更高的CPU就足够运行m0n0wall。
具体需要多高的CPU才满足需求,取决于多种因素,包括互联网的接入带宽,所需要的并发连接数,使用什么功能等。
对于大部分应用,一个486或奔腾(Pentium)CPU就足够了
64M内存–64MRAM是官方建议的最少配置。
m0n0wall的CD版本据报告在32MB内存机器中也运行得很好。
当使用m0n0wall的CF(CompactFlash)或硬盘版本,少于64MB内存时升级将失败,这是因为m0n0wall在RAM中保存所有东西,并没有使用交换空间(swapspace)-当内存耗尽,没有任何后援内存支持。
2.2.2建议的BIOS修改
需要修改一些BIOS设备,才能让m0n0wall正确地工作。
PlugandPlayOS
很多主板的BIOS都有一项“PlugandPlayOS”设置其它类似的设置。
这一项该设置为“NO”或“Disable”。
通过关闭这些选项,让BIOS分配系统的资源而不留给操作系统来做。
由BIOS负责分配资源,FreeBSD(包括m0n0wall)运行得最好。
禁止不必要的设备
一般情况下不需要关心这一点,但如果遇到硬件相关的问题,我们建议在BIOS中禁止所有不必要的设备,如果主机板中的声卡,某种情况下的并口、串口,以及其它不使用的设备。
如果不使用该设备,禁止它是安全的。
2.2.3存储介质
m0n0wall可以安装在CF(compactFlash),硬盘,或CD,配一软驱保存配置。
CompactFlash
需要至少8MCompactFlash卡。
硬盘
一般的IDE或SCSI硬盘都可以(只要是FreeBSD支持的磁盘控制器)。
CD/软驱
任何IDE或SCSICD-ROM/DVD驱动器都可以启动m0n0wall。
另外需要一个1.44MB的软驱(任何标准的软驱),一张用MS-DOS/FAT格式化后的软盘。
使用这种配置方法,你的PC应该能够从CD-ROM启动。
ZipDrivesetup
从版本1.2b3开始,m0n0wall可以在一个ZipDrive中运行硬盘映象。
使用写硬盘的方式来写ZipDrive。
2.3支持的嵌入式设备
以下的嵌入式设备可以运行m0n0wall。
2.3.1.SoekrisEngineering
所有Soekris设备都与m0n0wall完全兼容。
对于net4501和其它45xx型号,使用net45xx映象。
对于net4801,使用net48xx映象。
二.我公司防火墙配置流程
3.1硬件
一台废旧的毒龙。
128内存。
18g硬盘。
两块D-link530TX网卡。
3.2配置
IP分配规划
(1)m0n0wall网络配置
外接网卡配置
IP地址:
218.69.98.91
子网掩码:
255.255.255.248
网关:
218.69.98.89
DNS:
202.99.96.68
接局域网网卡配置
IP:
192.168.2.205子网:
255.255.255.0
1、通过控制台进行设置
步骤一:
按照以上介绍的方法制作好m0n0wall,把安装有m0n0wall的硬盘安装到目标机,在BIOS中设置从硬盘启动,启动完成后出现图7所示。
这个是主界面,也证明安装完毕
下面对菜单进行简单介绍。
1)Interfaces:
assignnetworkports(网卡:
指定网络端口),指定安装的网卡,用那一块连接WAN,那一块连接LAN。
2)SetUPLANIPAddress(设定LAN网卡的IP地址)。
3)ResetWebGuiPassword(重设Webgui密码为Mono);
4)Resettofactorydefaults(恢复成出厂设置);
5)Rebootsystem(重新启动)。
在这里我们输入1并回车。
系统提示是否设置对VLAN(虚拟局域网)的支持,回答N(图8),系统接着提示:
“EntertheLANinterfacenameor''a''forauto-detection:
”(输入LAN网卡名称或输入a自动检测),在这里输入”fxp0”,回车后系统再提示“EntertheWANinterfacenameor''a''forauto-detection:
”fxp1”,回车后系统再提示“EntertheOption1interfacenameor''a''forauto-detection(ornothingiffinished):
,按回车键。
提示Thefirewallwillrebootaftersavingthechanges.Doyouwanttoproceed?
(y/n)输入y,系统将重新启动。
接着我们就在游览器地址栏输入:
http:
//192.168.2.205在用户名处输入admin,密码处输入mono(默认密码,为了安全密码不公开,需要可以联系我)就可以通过web进行管理了。
这是主界面
常规信息的设置
首先对系统的基本信息进行设置,m0n0wall的管理界面还是比较直观明了的,遗憾的是现在还没有中文版本,单击System下面的Generalsetup(常规设置)在这里我们可以进行admin用户密码,dns服务器,Web管理界面的协议,端口进行设置。
为了防火墙的安全我们建议对admin用户密码、访问协议、端口等信息进行重新设置。
我把webGUIprotocol设为HTTPS,webGUIport设为8080,DNS为:
和202.99.96.68(请根据网络环境进行设置),按Save保存配置,这时系统提示重新启动防火墙,点YES,防火墙将重启。
防火墙启动完成后,请用修改后的协议、端口、新密码访问防火墙。
固定IP方式设置
公司使用固定IP,请选择选择Static,在这里我选择了Static,StaticIPIPconfiguration(静态IP地址配置)Address(IP地址)输入外网IP地址218.69.98.91/29,Gateway(网关)输入外网网关地址218.69.98.89。
提示:
m0n0wall子网掩码采用的是CIDR标记法,公司的掩码是255.255.255.248.根据换算得出掩了29位
3.搭建VPN服务器
由于公司有VPN的需求,而且为了安全考虑。
所以开启VPN服务
在VPN的PPTP服务下,配置服务器地址218.69.98.91和拨号池192.168.2.128.系统最大承载16个客户的同时拨入
配置VPN的用户和密码
4.放行VPN端口
在防火墙的规则中,添加一条,允许PPTP通行的规则。
否则客户端将拨号失败
VPN使用1723端口通信
至此,配置完成!
客户能够成功拨入,但是。
却不能与公司内部网络进行通信。
这是因为公司局域网划分了VLAN。
所以需要在防火墙上添加静态路由,实现与内网VLAN间的跨网通信。
而不影响安全