歡迎使用訪問摩杰斯公司部落格
發(fā)布:admin | 分類:Linux | 引用:0 | 瀏覽:
15 Aug 2012
經(jīng)??吹胶芏嗳?,在爭論linux/bsd下面有那么多的防火墻,我們選擇誰呢,其實咱們經(jīng)常碰到的開源防火墻(那些由BSD基礎(chǔ)定制開發(fā)的商業(yè)防火墻ciso,jump,華為等)不在此列)有:iptables,ipfilter,pf,ipfw(panabit7層),看起來很多其實我們完全沒有必要恐慌,如果您有錢完全可以去買ciso,華為等品牌防火墻出了事可以找個背黑鍋的,反正不是花咱們自己的錢,還能拿到他們的回扣。。。,這樣的話你就不用往下面看了,因為你不用為選擇什么防火墻煩惱了呵呵。
其實對于一般的中小企業(yè),總出口帶寬不超過千兆的話,完全不需要賣那些價格高高在上,性能低低在下的東東,編程時門學(xué)問,核心庫算法都是百年不變的東西(基礎(chǔ)都是數(shù)學(xué),過時很難),有很多商家很聰明,會借用開源bsd,linux自己改改再加上一個定制的1U,半U機箱裝上一個賽揚或者更低能的嵌入式cpu就說是完全自主開發(fā),線性千兆性能了(就不告訴你倒是多大的包的性能測試,你問他64位小包性能,他就要哭了)。當(dāng)然網(wǎng)絡(luò)過濾性能是軟件與硬件的共同結(jié)果,如果您企業(yè)的帶寬超過了千兆,那就沒辦法省錢了,還是去買ciso,jump等大企業(yè)的mips多核心+專門網(wǎng)絡(luò)加速模塊防火墻吧,我想最少也要百來萬把,不過您的實力肯定是小意思了。
好了廢話不說了,最近由于項目原因,研究了下防火墻,我們網(wǎng)站的第一道防線,淺談下個人對iptables,ipfilter,pf,ipfw的個人看法吧,僅供參考,請謹慎部署,出問題與本人無關(guān)!
1,iptables,linux自帶的防火墻,對于這個防火墻本人不看好,首先我是不會拿linux來做防火墻的,為什么呢,很簡單linux核心開發(fā)者太多,無組織,無紀律,隔山查爾的更新kernel,最新版的kernel都到3.6了,而我們的debian,centos才可憐的2.6.32可悲啊,不過我欣賞debian,centos發(fā)行版,為了穩(wěn)定,還是不要冒進,linux核心都不穩(wěn)定,選擇iptables就是一個玩具了!動不動冒一個linux溢出漏洞,所有設(shè)置都是枉然,建議還是老老實實,用linux當(dāng)后端的web,數(shù)據(jù)庫用吧,當(dāng)然如果你非要用,我那么我還是建議你使用linux的專門的防火墻發(fā)行版-IPCop ,畢竟如果安全要求不高話,還是可以用用的,畢竟linux的性能,iptables-nat轉(zhuǎn)發(fā)性能大家都知道很高的,而且還有一個ly7項目,可以把iptables擴展到應(yīng)用層去,不過你可千萬不要還用ly7官網(wǎng)的特征碼了,那個太老了,以至于panabit都在笑了,其實大家完全可以學(xué)習(xí)ly7的7層特征碼正則表達式(不難就是用正則表達式過濾匹配分析數(shù)據(jù)包),自己通過,科萊分析軟件,tcpdump等包分析軟件書寫自己的特診嗎,當(dāng)然了這需要長時間的測試磨合了。
2,下面就來說說我們可愛的freebsd上的幾款防火墻其中最讓我糾結(jié)就是ipfilter,ipfw了,這兩個家伙,一個是普通過濾性能強悍-ipfw,一個是nat轉(zhuǎn)發(fā)性能強悍-ipfilter(由于版權(quán)協(xié)議,已經(jīng)被openbsd拋棄了,這也就誕生了pf),ipfw是freebsd的親生防火墻,在以前很老的版本中nat模式還不是核心模式,所以轉(zhuǎn)發(fā)性能很低下,當(dāng)然現(xiàn)在已經(jīng)是核心模式了,而且配置簡單明了,而且有強人寫了linux-iptables中的ly7山寨bsd7層過濾模塊-ipfw-classly借用了linux-ly7的正則特征碼,說白了就是linux-ly7的的bsd實現(xiàn),只用我們常用到的pfsense,7層過濾功能就是調(diào)用了bsd-ly7模塊,當(dāng)然也是落后的7層過濾特征碼,需要自己寫新的,還有那個笑使用linux-ly7的panabit,其實他也是在使用ipfw-classly只是人家把所有的軟件名字全部改掉了,不叫ipfw也不叫ipfw-classly了,(全完自主開發(fā)嘛),但是他們還是做了一點事情的就是設(shè)計了一個很漂亮的web前臺,和自己經(jīng)常性的編寫最新的ly7特征碼,以跟上騰訊QQ,迅雷的腳步,可惜啊,那些都是加密的,本人是沒有辦法破解了,但是加密了怎么能開源呢!對于ipfw我的看法是如果你不需要防護墻來實現(xiàn) F5一樣的集群負載均衡的話,可以使用,因為他缺乏pf的地址池輪訓(xùn)功能,只能說是一個功能和linux-iptables差不多的防火墻吧,我給他打70分吧。。。
至于ipfilter除了nat轉(zhuǎn)發(fā)性能蠻好外,沒有其他特別的功能,甚至還沒有人開發(fā)7層過濾模塊,當(dāng)然如果您的防火墻后面保護的是網(wǎng)吧游戲電腦,可以有效的降低ping延遲,對于網(wǎng)吧來說是不不錯的選擇,不需要什么負載均衡啊,地址池,7層過濾等功能,是不不錯的選擇,建議選擇基于freebsd的m0n0wall防火墻系統(tǒng)。。。打個60分吧。
下面我們來研究下我們的pf防火墻吧,這個東東原來是openbsd中用來替代ipfilter的防火墻,和openbsd配合簡直是完美的集合,加上openbsd的relayd可以實現(xiàn)和F5(聽說要幾十萬把)的防火墻負載均衡功能,pf有著很多很使用的功能,ip地址池的強大配置,syn代理握手,方便的包整流,流控,狀態(tài)表控制,網(wǎng)關(guān)認證等等除了不支持7層過濾外,其他防火墻有的他都有,其他防火墻沒有的他也有,全完能滿足咱們的各種變態(tài)的要求,但是唯一的不好就是openbsd雖然安全但是,硬件支持不好,其中導(dǎo)致的最讓我崩潰的就是沒有不支持intel網(wǎng)卡的polling功能,遇到64小包,syn攻擊等流量攻擊直接掛住,定死!好在freebsd是一個研究,學(xué)者性的操作系統(tǒng),他在偷學(xué)linux的同時,還在偷學(xué)其他的BSD,他很好的把pf從openbsd中移植了過來,而且功能語法知道freebsd9.0基本沒發(fā)上變化,(freebsd是移植openbsd4.5-pf,openbsd此前經(jīng)行了性能最大調(diào)整版本),當(dāng)我們遇到非常大的syn小包攻擊,導(dǎo)致 cpu中斷崩潰時我們可以馬上開啟網(wǎng)卡的polling模式,雖然性能下降了點,不過好歹不怕syn攻擊了,我的最后選擇就是freebsd+pf作為我們的前端防火墻,把freebsd的swap關(guān)閉,所有系統(tǒng)加載到內(nèi)存中區(qū)運行,精簡內(nèi)核,刪除所有無用的程序,把freebsd運行等級提高到2,保護內(nèi)核,及防火墻規(guī)則組件,如果你不是很熟悉pf規(guī)則編寫,或者喜歡圖形化,可以選擇pfsense2.01-freebsd8.1+pf的防火墻系統(tǒng)。我給pf打80分吧,畢竟性能不算最高的,建議部署在千兆帶寬以內(nèi),500臺機器左右的機房。
好了,防火墻選擇好了,隨便談?wù)刣iy防火墻的硬件選擇及要求:
1,cpu,我們要選擇多核心最少2個核心,最關(guān)鍵的還有頻率,由于x86cpu是通用處理器,完成一個數(shù)據(jù)包的過濾需要很大的中斷開銷,已經(jīng)非常多的指令執(zhí)行(大概完整的處理一個數(shù)據(jù)包需要大約14000條指令),導(dǎo)致了其處理64位小包的能里低下,沒辦法我大概的算了一下,要使用x86處理器達到小包線速處理千兆帶寬流量,需要處理器頻率達到7G左右,但是除非你超頻,否則我建議最少不要小于3.2G頻率吧,而且最好選擇intel-cpu支持能配合intel-網(wǎng)卡,更好的支持發(fā)送,接受列隊功能,miix中斷等專門的網(wǎng)絡(luò)優(yōu)化技術(shù)。
2,網(wǎng)卡不用多說了,唯一的選擇intel網(wǎng)卡。而且要處理千兆的話最好是兩塊intrel網(wǎng)卡綁定聚合mode=0,這個我就不說了,linux配置大家都會吧,接口一定是pci-e接口,芯片組嘛5257系列了吧,最好支持隊列,支持miix2代中斷。把所有的外部網(wǎng)卡中斷都cpuset 到第一個cpu上,可有效的防止ddos中斷是的cpu切換開銷,當(dāng)然了你要知道那塊網(wǎng)卡是外部的,通過vmstat -i查看中斷號,你懂得。
3,不要硬盤,隨便整一個dom盤,就可以了,反正只是作為啟動用,一旦freebsd啟動所有的東東都會加入到 內(nèi)存中運行!關(guān)閉swap.
4,內(nèi)存這個東東,越大越好羅。最少2G-4G吧, 如果你圖穩(wěn)定就選擇32位的freebsd,內(nèi)存嘛 有個2G就好了,一般來說一個連接占用1K左右內(nèi)存,10M內(nèi)存處理1萬個連接吧。處理百萬并發(fā)肯定要2G羅呵呵
5,其他的就沒什么要求了,想耗電少點還是選擇一塊迷你小板吧,把所有東東塞進一個火柴盒子里面,就算是專業(yè)的千兆硬件防火墻了(開個十萬八萬的越高越有人買,越便宜越?jīng)]人要)。
好了,大概的說了說。大家有時間多看看openbsd-pf手冊,pfsense手冊,研究研究,一定會有收獲的。最后希望netbsd6.0趕緊出release,想用用他的新型防火墻 npf官方介紹對多核心有優(yōu)化期待中。。。。。
本文出自 “清蒸BSD紅燒LINUX” 博客,轉(zhuǎn)載請與作者聯(lián)系!
自從有了Blog,我們的世界變得不一樣了,在這里說我想說的,說我能說的,能看到這里的,感謝您的關(guān)注,同時最美好的祝愿送給您。
發(fā)表評論
◎歡迎參與討論,請在這里發(fā)表您的看法、交流您的觀點。