Iptables架構

 IPTABLES架構

iptables使用netfilter架構,在linux內核中管理報文過濾。iptables使用一種涉及內核和數據報文的完整架構,這種數據內核框架中被稱爲表,涉及的表有三種:
 
1.報文數據過濾表(fileter表);
 
2.網絡地址轉換表(NAT表);
 
3.報文數據修復表(mangle表)。
 
所有的數據都將流經這三個表中的至少一個表。這種數據包處理機制用於實現數據報過濾、網絡地址轉換及數據報處理。netfilter架構如圖:



上圖中可見每個表中又包含鏈和規則。每個規則還包含規則標準、規則對象和規則操作。當規則對象完全符合標準時,操作便會應用於報文。
 
fliter表不會修改數據報,而只對數據報文進行過濾。因此filter表中包含的INPUT、FORWARD、及OUTPUT三個鏈不包含的功能,全部是過濾作用。其中INPUT鏈包含着用來檢測過濾入站數據報文的規則。FORWARD鏈負責處理正在轉發的信息包的規則。OUTPUT鏈包含用來檢測過濾出站數據報文的規則。
 
NAT表的主要作用是進行網絡地址轉換器,即轉換數據報文中的IP地址,也稱之爲IP僞裝。NAT表PREROUTING、POSTROUTING及OUTPUT三個鏈,其中PREROUTING包含路由前的規則,轉換需要轉發數據包的目的地址,POSTROUTING包含路由後的規則,轉換需要轉發的數據報的源地址。對於本地數據報目的地址的轉換,則由OUTPUT來實現。
 
mangle表的主要作用是可以實現路由前對數據報文的報頭的修改,或者給數據報文附上一些外帶數據。mangle表有兩種鏈:PREROUTING和OUTPUT。
 
注意:
 
數據包一到達防火牆就改變它們的規則組成的是PREROUTING鏈,數據包在離開防火牆時才改變它們的規則組成的是POSTROUTING鏈。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章