开源 java linux Firefox apache 编程 nginx 程序员 Android google wordpress php mysql centos Python 云计算 Windows shell Ubuntu 微软

Linux的防火墙-IPtables

   防火墻在做信息包過濾決定時,有一套遵循和組成的規則,這些規則存儲在專用的信 息包過濾表中,而這些表集成在 Linux 內核中。在信息包過濾表中,規則被分組放在我們所謂的鏈(chain)中。而netfilter/iptables ip 信息包過濾系統是一款功能強大的工具,可用於添加、編輯和移除規則。

   Linux防火墻是一種典型的包過濾的防火墻,通過檢測到達的數據包頭中的信息確定哪些數據包可以通過,哪一些應該被丟棄,防火墻行為的依據主要是數據包的目的地址,端口號和協議類型。所有這些都應該由管理員指定。

   Linux中的包過濾器引擎在2.4版本內核中做了升級。防火墻工具最初叫做ipchains。取這個名字的原因在於防火墻將一系列規則組成一些鏈應用到網絡數據包上。iptables則更進一步把一些功能相似的鏈組合成一個個表。

  上面的說法有些抽象,現在考慮一個具體的例子,iptables默認使用的表是filter。其中默認的包含了三個鏈。分別是forworld,input和output。forward鏈中定義的規則作用哪些用於需要轉發到另一個網絡接口的數據包。input鏈中自定義的規則作用於發送到本機的數據包,相對應的。output鏈中定義的規則作用於從本機發送出去的數據包。

  通常定義filter表就迎合大部分的安全需求,因為這個表包含了包過濾的所有內容。除了filter,iptables還包含nat和mangle。nat用於網絡地址轉換。mangle則用於修改除了nat和包過濾之外的網絡包。

延伸阅读

评论