基本介紹
簡介,歷史,功能,硬體需求,
簡介
M0n0wall提供界面相當友好的完全基於web界面(PHP)的的配置管理(就BSD系統來說,這是首創),區域網路內任何一台同一網段的計算機通過M0n0wall默認IP位址登錄Web界面後均可對系統進行管理。M0n0wall還提供VPN功能;支持地址1:1映射、NAT連線埠映射、路由規則自定義配置、8.11b無線網路支持(FreeBSD4.11核心版本不支持54M無線網卡)等功能,特別值得推薦的是M0n0wall還增加了大部分硬體路由器未包含的流量控制功能(解決BT等大量下載和網頁瀏覽速度矛盾的利器)。
歷史
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 網站的 Change Log 欄目找到。
功能
m0n0wall 是基於 bare-bones version of FreeBSD,包括一個 WEB 伺服器,PHP 和其它一些工具軟體。整個系統的配置保存在一個 XML 檔案當中,條理清晰。
m0n0wall 可能是第一個啟動時通過 PHP 配置的 UNⅨ 系統,這種結構勝於使用 shell 腳本。並且整個系統的配置用 XML 格式保存。
m0n0 是一個防火牆,而防火牆的目的是提供安全。增加越多的功能,新增功能的弱點給防火牆帶來安全隱患的機會就越大。m0n0wall 創建者及主要貢獻者的觀點是防火牆第 3 和 4層基本服務之外的任何東西都不屬於 m0n0wall。一些可能合適的服務占用 CPU 和記憶體,而 m0n0wall 著眼於嵌入式設備,CPU 和記憶體資源都有限。非連續(保存)的檔案系統是由於著眼於 CF(Compact Flash)安裝,這又是一個限制因素。最後,(核心)映象的大小限制,消除了其它可能性。我們覺得以下服務應該運行在其它伺服器,並特意不作為 m0n0wall 的一部分:
入侵檢測/保護系統(IDS)
第三、第四層外的任何數據包檢查
通用的 WEB 伺服器
FTP 伺服器
網路時間伺服器
日誌檔案分析器
基於同樣的原因,m0n0 不允許登錄(login): 控制台沒有登錄提示符(以顯示一個選單代替),沒有 telnet 和 ssh 服務進程(deamon)
硬體需求
M0n0wall對硬體要求很低,486晶片、32M記憶體(一般建議64M),8M硬碟(是個能用的硬碟就可以)加上網卡(兩塊,支持DMZ的話三塊)即可正常工作並有相當不錯的數據承受能力。該系統不使用外存交換機制,所以硬碟等外部存儲器僅在系統引導時使用,載入完成後就不再需要外存,所以還可以使用FLASH電子盤(包括CF卡轉接)來充當系統介質。這樣可以取得相當高的可靠性,由於FLASH介質較硬碟存取速度稍慢,所以要稍稍犧牲一點起動時間。對於奔騰級的硬體配置,典型啟動時間小於1分鐘。
m0n0wall 1.8.1此版本要求平台至少是 128 MB RAM,disk/CF 大小至少是 32 MB