<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

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

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

          Squid是下一個高性能的代理緩存服務器,支持FTP、gopher和HTTP協(xié)議。和一般的代理緩存軟件不同,Squid用一個單獨的、非模塊化的、I/O驅(qū)動的進程來處理所有的客戶端請求??蓮膚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的請求轉(zhuǎn)發(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ù)包轉(zhuǎn)發(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ù)包轉(zhuǎn)發(fā)出防火墻。

          結論

          由squid限定內(nèi)外網(wǎng)絡之間的服務連接,使它們都通過squid的介入和轉(zhuǎn)換,再由防火墻本身提交請求和應答,這樣就使內(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ū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();