m0n0wall 中文手册.docx
《m0n0wall 中文手册.docx》由会员分享,可在线阅读,更多相关《m0n0wall 中文手册.docx(24页珍藏版)》请在冰点文库上搜索。
m0n0wall中文手册
第一章介紹
1.1.什麼是m0n0wall
m0n0wall是一個完整的、嵌入式的防火牆套裝軟件,該套裝軟件可以安裝于嵌入式PC裡,提供所有商業防火牆的重要特性(包括易用性),而且價格只有商業防火牆幾分之一(自由軟體)。
m0n0wall是基于bare-bonesversionofFreeBSD,包括一個WEB伺服器,PHP和另一些工具軟體。
整個系統的配置保存在一個XML文件當中。
m0n0wall可能是第一個啟動時透過PHP配置的UNIX系統,這種架構勝于使用shell腳本。
並且整個系統的配置用XML格式保存。
1.2.m0n0wall的局限
m0n0wall是防火牆,並且防火牆的目的是提供安全。
功能被增加的越多,這些額外的功能的脆弱將損害防火牆安全的機會越大。
因此m0n0wall編寫者認為m0n0wall不包含在第3層和第4層防火牆的基礎服務外的任何功能。
因為m0n0wall是嵌入式的防火牆面向嵌入設備有限的CPU資源和記憶體資源。
並為適應低端設備的CPU和記憶體的局限,以及Flash記憶體等原素的限制。
最後,為了限制image文件的大小取消了這些額外的功能。
●我們認為以下的這些服務應該在另一台伺服器上運轉,所以m0n0wall不包含這些部分︰
●入侵察覺/預防系統
●代理服務
●除了第3層和第4層以外其他任何層的包檢查
●WEB服務
●FTP服務
●網路時間服務
●日誌文件分析
不支持Telnet或SSH程式。
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網站可以查閱每個版本的變化。
1.4.特徵
●m0n0wall提供的大多數商業防火牆的特徵,和在商業防火牆內不具備的特徵,包括︰
●WEB圖形界面控制單元(支持SSL)
●用于恢復系統的串口界面
●設定LANIP位址
●重置密碼
●恢復初始默認設置
●重啟系統
●無線支持(accesspointwithPRISM-II/2.5/3cards,BSS/IBSSwithothercardsincludingCisco)基于狀態的包過濾
●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包含下列內容︰
●所有FreeBSD要求的組件(內核、應用程式)
●ipfilter
●PHP(CGI版本)
●mini_httpd
●MPD
●ISCDHCP伺服器
●ez-ipupdate(forDynDNSupdates)
●Dnsmasq(forthecachingDNSforwarder)
●racoon(forIPsecIKE)
●UCD-SNMP
●choparp
BPALogin
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.
Redistributionanduseinsourceandbinaryforms,withorwithoutmodification,arepermittedprovidedthatthefollowingconditionsaremet:
1.Redistributionsofsourcecodemustretaintheabovecopyrightnotice,thislistofconditionsandthefollowingdisclaimer.
2.Redistributionsinbinaryformmustreproducetheabovecopyrightnotice,thislistofconditionsandthefollowingdisclaimerinthedocumentationand/orothermaterialsprovidedwiththedistribution.
THISSOFTWAREISPROVIDED"ASIS''ANDANYEXPRESSORIMPLIEDWARRANTIES,INCLUDING,BUTNOTLIMITEDTO,THEIMPLIEDWARRANTIESOFMERCHANTABILITYANDFITNESSFORAPARTICULARPURPOSEAREDISCLAIMED.INNOEVENTSHALLTHEAUTHORBELIABLEFORANYDIRECT,INDIRECT,INCIDENTAL,SPECIAL,EXEMPLARY,ORCONSEQUENTIALDAMAGES(INCLUDING,BUTNOTLIMITEDTO,PROCUREMENTOFSUBSTITUTEGOODSORSERVICES;LOSSOFUSE,DATA,ORPROFITS;ORBUSINESSINTERRUPTION)HOWEVERCAUSEDANDONANYTHEORYOFLIABILITY,WHETHERINCONTRACT,STRICTLIABILITY,ORTORT(INCLUDINGNEGLIGENCEOROTHERWISE)ARISINGINANYWAYOUTOFTHEUSEOFTHISSOFTWARE,EVENIFADVISEDOFTHEPOSSIBILITYOFSUCHDAMAGE.
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.
MPD-Multi-linkPPPdaemonforFreeBSD(http:
//www.dellroad.org/mpd)Copyright©1995-1999WhistleCommunications,Inc.Allrightsreserved.
ez-ipupdate(http:
//www.gusnet.cx/proj/ez-ipupdate)Copyright©1998-2001AngusMackay.Allrightsreserved.
CircularlogsupportforFreeBSDsyslogd(Copyright©2001JeffWheelhouse(jdw@)
Dnsmasq-aDNSforwarderforNATfirewalls(http:
//www.thekelleys.org.uk)Copyright©2000-2003SimonKelley
Racoon(Copyright©1995-2002WIDEProject.Allrightsreserved.
beforeversionpb23:
watchdogd(watchdog)Copyright©2002-2003Dirk-WillemvanGulik.Allrightsreserved.ThisproductincludessoftwaredevelopedbytheStichtingWirelessLeiden(http:
//www.wirelessleiden.nl).SeeLICENSEformorelicensinginformation.
msntp(http:
//www.hpcf.cam.ac.uk/export)Copyright©1996,1997,2000N.M.Maclaren,UniversityofCambridge.Allrightsreserved.
UCD-SNMP(http:
//www.ece.ucdavis.edu/ucd-snmp)Copyright©1989,1991,1992byCarnegieMellonUniversity.Copyright©1996,1998-2000TheRegentsoftheUniversityofCalifornia.Allrightsreserved.Copyright©2001-2002,NetworkAssociatesTechnology,Inc.Allrightsreserved.Portionsofthiscodearecopyright©2001-2002,CambridgeBroadbandLtd.Allrightsreserved.
choparp()Copyright©1997TakamichiTateoka(tree@mma.club.uec.ac.jp)Copyright©2002ThomasQuinot(thomas@cuivre.fr.eu.org)
1.6.協助人員
1.6.1.代碼
ManuelKasper編寫m0n0wall。
下列人員為編寫m0n0wall做出貢獻︰
BobZoller(bobatkludgeboxdotcom):
Diagnostics:
Pingfunction;WLANchannelauto-select;DNSforwarder
MichaelMee(m0n0wallatmikemeedotcom):
TimezoneandNTPclientsupport
MagneAndreassen(magnedotandreassenatbluezonedotno):
Remotesyslog'ing;somecodebitsforDHCPserveronoptionalinterfaces
RobWhyte(robatg-labsdotcom):
Idea/codebitsforencryptedwebGUIpasswords;minimalizedSNMPagent
PetrVerner(verneratippsdotcz):
AdvancedoutboundNAT:
destinationselection
BruceA.Mah(bmahatacmdotorg):
Filteringbridgepatches
JimMcBeath(monowallatjdotjimmcdotorg):
Filterrulepatches(ordering,block/pass,disabled);betterstatuspage;webGUIassignnetworkportspage
ChrisOlive(chrisattechnologEasedotcom):
enhanced"executecommand"page
PaulineMiddelink(middelinkatpolywaredotnl):
DHCPclient:
sendhostnamepatch
BjörnPålsson(bjornatnetworksabdotcom):
DHCPleaselistpage
PeterAllgeyer(allgeyeratwebdotde):
"reject"typefilterrules
ThierryLechat(devatlechatdotorg):
SVG-basedtrafficgrapher
StevenHonson(stevenathonsondotorg):
per-userIPaddressassignmentsforPPTPVPN
KurtIngeSmådal(kurtatemspdotno):
NATonoptionalinterfaces
DineshNair(dineshatalphaquedotcom):
captiveportal:
pass-throughMAC/IPaddresses,RADIUSauthenticationHTTPserverconcurrencylimit
JustinEllison(justinattechadvisedotcom):
trafficshaperTOSmatching;magicshaper;DHCPdenyunknownclients;IPsecuserFQDNs
FredWright(fwatwelldotcom):
ipfilterwindowscalingfix;ipnatICMPchecksumadjustmentfix
1.6.2.文檔編製
ManuelKasper編寫m0n0wall。
下列人員為m0n0wall技術資料做出貢獻︰
ChrisBuechler(m0n0wallat):
Editor,numerouscontributionsthroughout.
JimMcBeath(monowallatjdotjimmcdotorg):
UsersGuideoutline,editing
RudivanDrunen(r.van.drunenatxs4alldotnl)withthankstoManuelKasper,EdwinKremer,PicoBSD,MattSimersonandJohnVoight:
m0n0wallHackersGuide,usedasthebasisfortheDevelopmentchapter.
FranciscoArtes(falcorat):
IPsecandPPTPchapters.
FredWright(fwatwelldotcom):
Suggestionsandreview.
AxelEble(axel+m0n0-0001atbalrogdotde):
Helpwiththewiki,ddclienthowtocontribution.
BrianZushi(brianatriceragedotorg):
LinuxCDburninginstructions,documentationreviewandsuggestions.
DinoBijedic(dino.bijedicateracom-techdotcom):
SonicwallexampleVPNcontribution.
第二章 硬件兼容性
2.1.支援硬體架構
m0n0wall只支持x86架構。
支持x86標準PC和基于x86多種嵌入的設備。
m0n0wall不支持non-x86設備,(MIPS-basedLinksys設備,ARM-basedD-Link設備等等)。
具體可以參閱FreeBSD4.XX的硬體支持列表。
因此m0n0wall唯一支持的平台是x86。
2.2.支持標準基于PC的硬體
m0n0wall支持至少兩個網路界面的任何標準x86PC機上營運。
2.2.1.最小要求
486CPU-任何486或更高的CPU可以滿足m0n0wall。
更高的CPU將會提升你的網際網路連接帶寬和更多的連接數量。
對大多數部署來說,486或者奔騰處理器是足夠的。
64M內存-64M內存是最低配置。
m0n0wall的光盤版可以使用32MB內存工作。
使用CompactFlash或HDm0n0wall的版本必須使用64MB內存,這是因為m0n0wall要完全在內存中營運。
2.2.2.推薦系統BIOS設置
m0n0wall的一些BIOS正確設置
PlugandPlayOS
BIOS中的“PlugandPlayOS”或相似的設置。
調整到“ON”或者“En”。
關閉多餘的設備
m0n0wall只需要基本的設備,為了減少衝突和穩定,建議你關閉多餘的設備。
(如聲卡、並行端口等)
2.2.3.存儲體
m0n0wall營運在CF卡、硬碟或CD+軟驅(存儲配置文件)。
CF卡︰
至少需要一張8MBCompactFlash卡。
硬碟︰
IDEorSCSI硬碟。
CD/軟驅︰
IDEorSCSICD-ROM或DVD、一個1.44MB軟驅和用MS-DOS格式化的空白的軟碟。
Zip盤
從1.2b3開始,m0n0wall硬碟版可以在Zip盤營運。
和硬碟使用相同方法。
2.3.嵌入設備支持
m0n0wall可以在如下的嵌入x86機器營運。
2.3.1.Soekris系統
m0n0wal可以兼容全部Soekris設備。
對于net4501和其他45xx型號,使用net45xximage。
對于net4801,使用net48xximage。
●規格
●net4501-30:
133MhzCPU,64MbyteSDRAM,3Ethernet,2Serial,CFsocket,1Mini-PCIsocket,3.3VPCIconnector.
●net4511-30:
100MhzCPU,64MbyteSDRAM,2Ethernet,1Serial,CFsocket,1Mini-PCIsocket,SinglePC-Cardsocket,PoE.
●net4521-30:
133MhzCPU,64MbyteSDRAM,2Ethernet,1Serial,CFsocket,1Mini-PCIsocket,DualPC-Cardsocket,PoE.
●net4526-20:
100MhzCPU,32MbyteSDRAM,1Ethernet,1Serial,16MbyteCFFlash,2Mini-PCIsockets,PoE.
●net4526-30:
133MhzCPU,64MbyteSDRAM,1Ethernet,1Serial,64MbyteCFFlash,2Mini-PCIsockets,PoE.
net4801-50:
266MhzCPU,128MbyteSDRAM,