7.2. 使用 iptables

使用 iptables 的第一步驟便是啟動 iptables 服務,可以由下列指令來完成:

service iptables start

警告警告
 

必須要使用下列指令來關閉 ip6tables 服務才能正確地使用 iptables 服務:

service ip6tables stop
chkconfig ip6tables off

如要於系統開機時預設啟動 iptables,您必須使用 chkconfig 來更改服務的執行等級狀態。

chkconfig --level 345 iptables on

iptables 的語法被劃分為許多層級,主要的層級是 chain,一個 chain 可指定一個封包將被處理的狀態,用法如下:

iptables -A chain -j target

-A 將會增加一個規則到目前既有之規則組的最後,chain 便是一個規則的鏈結名稱。 IPTables 三個嵌入的鏈結(也就是影響穿越網路之每一個封包的鏈結)為 INPUT, OUTPUT 與 FORWARD,這些鏈結是永久性的,您不能刪除它們。-j 目標選項指明了 iptables 規則中,要 跳到(jump)的特定規則。內定的目標包括了 ACCEPT、DROP、以及 REJECT。

您可以使用 -N 選項,建立新鏈結(也稱為使用者定義的鏈結)。在自訂粗略的(granulate)或精細的(elaborate)規則時,新鏈結都非常有用。

7.2.1. 基本的防火牆方針

一開始所建立的一些基本的政策可以用來當作一個建立更詳細且使用者定義之規則的基礎,iptables 使用政策(-P)來建立預設的規則。擁有安全性警覺的系統管理員通常會選擇丟棄 (DROP)所有的封包來當作一個政策,而且只允許個別例子的特定封包。下列的規則將會阻擋在一個網路閘道器上所有流入與流出的封包。

iptables -P INPUT DROP
iptables -P OUTPUT DROP

除此之外,也建議您拒絕任何的轉送封包 — 從防火牆轉送到目的地節點的網路 封包 —,以限制內部的用戶端不經意地暴露在網際網路中。 如要如此做,請使用下列的規則:

iptables -P FORWARD DROP 

在設定好政策鏈結後,請為您特定的網路與安全性需求建立新的規則,下列的部份列出當您要建立您的 iptables 防火牆時,您也許會實作的一些規則。

7.2.2. 儲存與回復 iptables 規則

防火牆規則只在電腦開機時才有效,假如系統重新開機,規則將會自動清除並且重設,如要儲存規則,以便您將來使用,請使用下列的指令:

/sbin/service iptables save

這些規則將會儲存在 /etc/sysconfig/iptables 檔案中,然後在服務啟動或重新啟動後 套用,也包含機器重新開機後。