m0n0wall 是一個完整的、嵌入式的防火牆軟體包,該軟體包可以安裝於嵌入式PC里。m0n0wall基於bare-bones version of FreeBSD,包括一個WEB伺服器,PHP和另一些工具軟體。整個系統的配置保存在一個XML檔案當中。m0n0wall可能是第一個啟動時通過PHP配置的UNIX系統。m0n0wall編寫者認為m0n0wall不包含在第3層 和第4層防火牆的基礎服務外的任何功能。因為m0n0wall是嵌入式的防火牆面向嵌入設備有限的CPU資源和記憶體資源。m0n0wall不允許登錄: 在控制台沒有登錄提示符,(它被一個功能選單代替) ,沒有任何Telnet或SSH守護程式。
基本介紹
歷史,特性,組成,說明,硬體兼容性,
歷史
Manuel Kasper(人名), m0n0wall的作者說:
從我開始在嵌入式PC上擺弄包過濾器,我就想有一個漂亮的基於web圖形界面的控制器來控制所有的防火牆功能,而不是通過鍵入單個的命令。在網際網路上有很多漂亮的帶有WEB接口的防火牆包(大部分是基於Linux的),但是沒有一個符合我要求的(自由,快速,簡單,乾淨以及我需要的所有特性)。所以,我終於開始寫屬於自己的WEB圖形界面。但是,我決不是想建立一個webmin的翻版----我想建立一個完整的、新的嵌入式防火牆軟體包。它的所有將被發展為一個接上電源的盒子,可以通過串口設定LAN IP位址,登錄進WEB界面設定它。然後我決定我不能像平常的啟動系統那樣通過SHELL腳本配置系統(由於它幾乎不可能用SHELL腳本完成,所以我已經寫了一個C程式產生過濾器規則),並且自從我使用了基於PHP的WEB接口,不長時間我就發現還是使用PHP來配置系統的好。這種方法,配置數據將不再必須被存儲在那些被SHELL腳本解析的文本檔案裡面----它現在被存儲在一個XML檔案里。所以我又完全重寫了整個系統,除了相當多的“引擎罩底下的東西”外,看上去感覺沒有什麼改變。
m0n0wall的第一個beta版在2003年2月15日發布。 第1.0 版本在一年以後的2004年2月15日發布。在那兩個之間發布了26個beta版,平均每兩周發布一個。在m0n0wall 網站可以查閱每個版本的變化。
特性
WEB圖形界面控制器(支持SSL)
用於恢復系統的串口界面
set LAN IP address (設定Lan IP)
reset password (重設密碼)
restore factory defaults (恢復到默認設定)
reboot system (重啟系統)
無線支持 (access point with PRISM-II/2.5 cards, BSS/IBSS with other cards including Cisco)
基於狀態的包過濾
block/pass 規則 (阻止/通過 規則)
logging 記錄
NAT/PAT (包括 1:1)
在WAN口上支持DHCP IP獲取、PPPoE、PPTP
IPsec VPN 隧道 (IKE; 支持硬體加密卡,移動客戶和證書)
PPTP VPN (支持 RADIUS 伺服器)
DHCP 服務
DNS快取/中繼
DynDNS 客戶端
SNMP 代理
WEB界面的固件升級
配置信息 備份/恢復
主機/網路 別名
組成
m0n0wall包含下列內容:
FreeBSD components (kernel, user programs)
ipfilter
PHP (CGI version)
thttpd
MPD
ISC DHCP server
ez-ipupdate (for DynDNS updates)
Dnsmasq (for the caching DNS forwarder)
racoon (for IPsec IKE)
說明
目前m0n0wall可以安裝在不小於6M 的CF卡(或者CD-ROM)上。
在net4501平台上,當運行默認配置的時候,包含NAT在內, m0n0wall提供大約17 Mbps的 WAN <-> LAN TCP 吞吐量。 在更快的平台上(類似於net4801或者WRAP),吞吐量可能超過50Mbp(在更新的標準PC上 > 100 Mbps)。
在net4501平台上, m0n0wall從上電啟動到完全可以工作的時間小於 40 秒 ,這其中包含POST (適當的BIOS配置)
硬體兼容性
2.1. 支持硬體架構
m0n0wall不支持非x86設備,(包括MIPS-based Linksys, ARM-based D-Link等等)。具體可以參閱FreeBSD 4.XX的硬體支持列表。因此m0n0wall 僅x86架構。
2.2. 標準PC硬體
m0n0wall將運行在支持至少兩個網路接口的任何標準的x86 PC上
2.2.1. 最低要求
486 處理器- m0n0wall充分支持所有486或更高的處理器. 更高的CPU將會提高你的網際網路連線頻寬和更多的連線數量. 大多數部署, 486或Pentium處理器已經足夠.
64 MB 記憶體 - 64 M記憶體是最低配置. 光碟版可以工作在32 MB記憶體上. 當使用 CompactFlash 或 m0n0wall硬碟版的時候,小於64 MB記憶體升級時將會失敗. 這是因為m0n0wall是完全運行在記憶體中的,且沒有使用交換分區----當記憶體耗盡的時候,它什麼也沒有依賴
2.2.2. 推薦BIOS設定
有些BIOS設定可能需要加以修改m0n0wall才能夠正常運轉.
Plug and Play OS (即插即用作業系統)
多數系統BIOS都設定為"Plug and Play OS(即插即用作業系統)"或類似名稱. 這應該永遠被設定為"no"或"disable" .當這個設定被關閉, 將BIOS 分配系統資源而不是留作業系統決定. FreeBSD(和 m0n0wall)在 BIOS 處理這項任務時能最好地工作。
關閉不必要的設備
這些可以是必須關心的,但如果你有硬體相關問題, 我們建議在BIOS中關閉所有不必要的設備 ,如集成音效卡,並口,串列連線埠,以及其他未使用大的設備. 如果你不使用它,最好還是關閉它更好.
2.2.3. 存儲介質
CompactFlash (CF卡)
至少8M的CF卡.
Hard Drive (硬碟)
任何 IDE 或 SCSI (被支持的控制器) 硬碟都可以運行m0n0wall.
CD/floppy setup (CD+軟碟機的模式啟動,及光碟版的m0n0wall)