Linux 的內建firewall機制,是通過kernel中的netfilter模組實現的(www.netfilter.ort)。Linux kernel使用netfilter對進出的資料包進行過濾,netfilter由三個規則表組成,每個表又有許多內建的鏈組成。通過使用iptables命令可以對這些錶鏈進行操作,如添加、刪除和列出規則等。 
  一、Netfilter規則表—filter nat mangle 
  filter,用於路由網路資料包。是預設的,也就是說如果沒有指定-t參數,當建立一條新規則時,它會預設存放到該表內。 
  INPUT 網路資料包流向伺服器 
  OUTPUT 網路資料包從伺服器流出 
  FORWARD 網路資料包經伺服器路由 
  nat,用於NAT表.NAT(Net Address Translation )是一種IP地址轉換方法。 
  PREROUTING 網路資料包到達伺服器時可以被修改 
  OUTPUT 網路資料包由伺服器流出 
  POSTROUTING 網路資料包在即將從伺服器發出時可以被修改 
  mangle,用於修改網路資料包的表,如TOS(Type Of Service),TTL(Time To Live),等 
  INPUT 網路資料包流向伺服器 
  OUTPUT 網路資料包流出伺服器 
  FORWARD 網路資料包經由伺服器轉寄 
  PREROUTING 網路資料包到達伺服器時可以被修改 
  POSTROUTING 網路資料包在即將從伺服器發出時可以被修改 
  1.配置Iptables 
  當資料包進入伺服器時,Linux Kernel會尋找對應的鏈,直到找到一條規則與資料包匹配。如果該規則的target是ACCEPT,就會跳過剩下的規則,資料包會被繼續發送。如果該規則的target是DROP,該資料包會被攔截掉,kernel不會再參考其他規則。 
  Note:如果從始至終都沒有一條規則與資料包匹配,而且表末尾又沒有drop all的規則,那末該資料包會被accept。Cisco則相反,在表末尾會因含deny all的規則。