新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于Linux的IPv6復合防火墻的設計

基于Linux的IPv6復合防火墻的設計

作者: 時間:2011-06-12 來源:網(wǎng)絡 收藏

Squid是下一個高性能的代理緩存服務器,支持FTP、gopher和HTTP協(xié)議。和一般的代理緩存軟件不同,Squid用一個單獨的、非模塊化的、I/O驅動的進程來處理所有的客戶端請求??蓮膚ww.squid-cache.org獲取該軟件的源代碼安裝包squid-2.5.STABLE.tar.gz,解壓縮包:

#tarxvfzsquid-2.5.STABLE2.tar.gz
然后,進入相應目錄對源代碼進行配置和編譯:
#cdsquid-2.5.STABLE2
#./configure--prefix=/var/squid
--sysconfdir=/etc
--enable-arp-acl
--enable-linux-netfilter
--enable-pthreads
--enable-err-language=Simplify_Chinese
--enable-storeio=ufs,null
--enable-default-err-language=Simplify_Chinese

最后執(zhí)行#make;makeinstall將源代碼編譯為可執(zhí)行文件完成安裝。為了使squid支持,從devel.squid-cache.org/projects.html#squid3-ipv6下載squid3-ipv6.patch補丁并安裝。接下來在/etc/squid.conf中對squid的運行進行配置。

下面是一個在配置文件中有關部分的簡單例子:
#的訪問控制列表
aclallsrc::/0
aclsitelocalsrcfec0:/16
aclipv4::ffff:0:0/96
#對列表所做的處理
http_accessdenyipv4
http_accessallowsitelocal
http_accessdenyall

IPv6

把分組過濾系統(tǒng)ip6tables和應用代理squid結合使用,由分組過濾控制通信的底層,代理服務器用于過濾應用層的服務,這樣就能從網(wǎng)絡層到應用層進行全方位的安全處理。比如若要對http協(xié)議進行控制,則用ip6tables把對Web端口80的請求轉發(fā)到squid端口,由squid對這個應用層協(xié)議進行控制,而用戶瀏覽器仍然認為它訪問的是對方的80端口。如下面這條命令:

#ip6tables-tnat-APREROUTING-ieth0-s3ffe:ffff:200:: 1/128-ptcp--dport80-jREDIRECT--to-ports3128(eth0為主機輸入接口,3128是squid監(jiān)聽HTTP客戶連接請求的缺省端口)。系統(tǒng)的工作流程如圖4所示。當一個數(shù)據(jù)包進入后,首先由ip6tables的nat表中PREROUTING鏈的規(guī)則來判斷這個數(shù)據(jù)包的高層協(xié)議(如HTTP、FTP等)是否應受控制,若應受控制,則將其定向到squid端口,由squid代理進程進行處理,如上命令所示。之后,進行路由判斷,若是防火墻本地包,則要由INPUT鏈處理,若是外地包,則要由FORWARD鏈來處理,最后經(jīng)過POSTROUTING鏈的snat處理把數(shù)據(jù)包轉發(fā)出防火墻,形成透明代理。如下命令所示:


圖4 IPv6型防火墻系統(tǒng)的工作流程

ip6tables-APOSTROUTING-tnat-sIPv6(s1)-oeth1-jSNAT--to-sourceIPv6(s)。其中IPv6(s1)指數(shù)據(jù)包的源IPv6地址,eth1為防火墻主機輸出接口,IPv6(s)指防火墻主機的出口地址。

若數(shù)據(jù)包來自防火墻主機本身,經(jīng)過PREROUTING鏈規(guī)則處理,判斷是否應進行squid代理,若是,則進行squid處理,之后經(jīng)過OUTPUT鏈規(guī)則處理,再判斷路由,最后由POSTROUTING鏈的snat處理把數(shù)據(jù)包轉發(fā)出防火墻。

結論

由squid限定內(nèi)外網(wǎng)絡之間的服務連接,使它們都通過squid的介入和轉換,再由防火墻本身提交請求和應答,這樣就使內(nèi)外網(wǎng)絡的計算機不會直接進行會話,結合ip6tables的包過濾控制底層通信,從而能建立起一種從網(wǎng)絡層到應用層堅固的IPv6防火墻系統(tǒng)。ip6tables和squid都可以免費獲得,因此無論從安全性還是從經(jīng)濟性來說,這都是一種非常好的IPv6防火墻解決方案。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

上一頁 1 2 下一頁

評論


相關推薦

技術專區(qū)

關閉