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