linux 防火牆

 linux防火牆分三種:

1:三層過濾,也就是包過濾。

2:七層過濾,也稱代理服務器型防火牆。它工作在osi模型的第七層,對數據的內容進行過濾。

3:複合型防火牆:整合三層和七層功能。

    *三層過濾只對源ip和目的ip根據控制列表進行檢測而後選擇操作。

    *七層過濾是進行拆包到用戶數據,並進行檢測後再進行操作。並且有日誌記錄的      功能。

        七層過濾的原理是用戶的請求數據先發到代理服務器也就是防火牆,防火牆根        據它內部定義的規則來完成操作,然後把數據返回給服務器。返回數據也一          樣。

  linux 防火牆分兩段:一段是工作在內核中對數據包進行真正的過濾的模塊,另一段是工作在用戶空間,實現規則的定義。

 主要的命令是:iptables,它也就是我們剛所說的,一段工作在內核中,實現數據的過濾;一段工作在用戶空間,定義規則。

    工作在內核中的規則鏈實現用戶與內核之間的“通信”。

       默認有五條規則鏈:

     1:INPUT:處理入站數據包。

     2:OUTPUT:處理出站數據包

     3:FORWARD:不進站,直接處理轉發數據。

     4:POSTROUTING:在進入防火牆時進行路由選擇後處理數據包。

     5: PREROUTING:在進行路由選擇前外理數據包。

處理機制在用戶空間叫規則表對五個規則鏈進行定義操作。

   規則表有以下四種:

          1:raw表:確定是否對該數據包進行狀態跟蹤

          2:mangle表:爲數據包設置標記。

          3:nat表:修改數據包中的源目標ip地址。

          4:filter:確定是否放行該數據包

規則表間的優先順序:

  依次是:raw  mangle  nat   filter

  規則鏈之間的匹配順序:1:入的順序:PREROUTING INPUT

  出的數據:OUTPUT POSTROUTING  

  轉發數據:PREROUTING FORWORD POSTROUTING

 規則鏈內的匹配順序:1:按照順序依次進行檢查,找到匹配的規則即停止。

                     2:若在該鏈內找不到匹配的規則則按照默認的規則進行處理

下面是規則表定義的規則鏈:raw:PREROUTING   OUTPUT

             manggle:PREROUTING POSTROUTING INPUT OUTPUT FORWARD五個規則鏈

             nat表:PREROUTING POSTROUTING OUTPUT

             filter:規則…… INPUT OUTPUT

 下面是命令iptables的運用:

  -t:指定操作的表 raw mangle nat filter

鏈管理命令:-P:默認策略

              -F:清除

              -N:自定義規則鏈

               -E:重命名

               -Z:清除計數器

               -X:刪除指定的用戶自定義的鏈,且鏈必須還沒有運用。

規則管理命令:

       -A:新增規則

       -I:插入規則

       -R: 修改規則 

       -D: 刪除規則

例:iptables -t filter -A INPUT -s 192.168.0.1/32 -j accept

   意思是:在INPUT鏈上新增規則要求源ip爲192.168.0.1/32 的主機的數據包實行放行的規則。

 最常用的匹配條件有:1:來源,目的(-s -d)

                     2:協議類型(-p)

                     3:來源;目的端口(-sport; dport)

                      4:流入;流出(-i;-o)

icmp協議是實現ping功能的協議。類型8:回射請求

                              類型0:回射應答

                              類型11:超時

基於協議的檢測。

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章