基于流過濾技術(shù)的IPv6防火墻設(shè)計(jì)與分析
3.2 運(yùn)行平臺(tái)及開發(fā)工具
Linux作為開放源代碼的操作系統(tǒng)[5],性能穩(wěn)定且安全性較高,有著廣泛的應(yīng)用。自2.4內(nèi)核以來的版本不僅支持IPv6協(xié)議棧,而且所采用的Netifilter/Iptables框架引入了模塊化的構(gòu)建方式,可以方便地實(shí)現(xiàn)IPv6防火墻。并且還得利用MySql數(shù)據(jù)庫來保存信息。開發(fā)工具為C語言。
3.3 基于流過濾技術(shù)的IPv6防火墻系統(tǒng)設(shè)計(jì)
3.3.1 防火墻設(shè)計(jì)圖
圖4 IPv6防火墻設(shè)計(jì)圖
3.3.2 本文設(shè)計(jì)各模塊實(shí)現(xiàn)的功能
數(shù)據(jù)包捕獲模塊:實(shí)現(xiàn)對(duì)IPv6數(shù)據(jù)包的捕獲,并進(jìn)行報(bào)文分類。
包過濾模塊:實(shí)現(xiàn)對(duì)非關(guān)鍵報(bào)文的過濾。
流過濾模塊:實(shí)現(xiàn)對(duì)關(guān)鍵報(bào)文的重組過濾。
控管規(guī)則模塊:負(fù)責(zé)對(duì)過濾規(guī)則進(jìn)行控制和管理。
報(bào)警信息記錄模塊:負(fù)責(zé)將報(bào)警信息記錄進(jìn)日志數(shù)據(jù)庫,并將報(bào)警信息交給客戶端處理。
客戶端模塊:查詢數(shù)據(jù)庫和查看報(bào)警信息。
3.4 實(shí)現(xiàn)過程
本文主要是利用Linux內(nèi)核防火墻底層結(jié)構(gòu)netfilter的高度可擴(kuò)展性,對(duì)其功能進(jìn)行擴(kuò)展。Nefilter針對(duì)IPv6定義了若干個(gè)鉤子(HOOK),每個(gè)鉤子都是處理函數(shù)掛載點(diǎn)。當(dāng)IPv6的數(shù)據(jù)包將按照一定的規(guī)則通過若干個(gè)鉤子時(shí),就會(huì)觸發(fā)這些函數(shù)進(jìn)行相關(guān)處理。本防火墻主要是數(shù)據(jù)經(jīng)過鉤子NF_IP6_FORWARD即數(shù)據(jù)包轉(zhuǎn)發(fā)時(shí),對(duì)數(shù)據(jù)進(jìn)行處理和控制,所以本防火墻的程序主要掛載在這個(gè)鉤子上。
4 實(shí)驗(yàn)及結(jié)論
經(jīng)測試本文設(shè)計(jì)的防火墻系統(tǒng)在IPv6網(wǎng)路環(huán)境中能夠獲得嚴(yán)格的IPv6訪問控制策略,實(shí)現(xiàn)對(duì)IPv6數(shù)據(jù)包的控制訪問;并且在流量大于100Mbps的千兆網(wǎng)卡上,丟包率小于萬分之(如表1所示),性能達(dá)到了防火墻行業(yè)的性能標(biāo)準(zhǔn)。
千兆網(wǎng)卡80%負(fù)載丟包率
5 結(jié)束語
本文在采用屏蔽子網(wǎng)防火墻體系結(jié)構(gòu)基礎(chǔ)上,設(shè)計(jì)并實(shí)現(xiàn)了基于流過濾技術(shù)的IPv6防火墻系統(tǒng),經(jīng)實(shí)驗(yàn)測試達(dá)到了防火墻行業(yè)的性能標(biāo)準(zhǔn)。但該系統(tǒng)卻打破了IPv6的端到端模式,在IPv6網(wǎng)絡(luò)中,端對(duì)端的通信是一種重要的通信方式也是IPv6的一個(gè)重要的優(yōu)點(diǎn)。如何實(shí)現(xiàn)基于流過濾技術(shù)的IPv6端對(duì)端的防火墻系統(tǒng)將是本文下一步研究的重點(diǎn)。
評(píng)論