歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux服務器 >> Linux命令Iptables使用介紹

Linux命令Iptables使用介紹

日期:2017/3/2 16:33:44   编辑:Linux服務器

用iptables -ADC 來指定鏈的規則,-A添加 -D刪除 -C 修改

  iptables - [RI] chain rule num rule-specification[option]

  用iptables - RI 通過規則的順序指定

  iptables -D chain rule num[option]

  刪除指定規則

  iptables -[LFZ] [chain][option]

  用iptables -LFZ 鏈名 [選項]

  iptables -[NX] chain

  用 -NX 指定鏈

  iptables -P chain target[options]

  指定鏈的默認目標

  iptables -E old-chain-name new-chain-name

  -E 舊的鏈名 新的鏈名

  用新的鏈名取代舊的鏈名

  說明

  Iptalbes 是用來設置、維護和檢查Linux內核的IP包過濾規則的。

  可以定義不同的表,每個表都包含幾個內部的鏈,也能包含用戶定義的鏈。每個鏈都是一個規則列表,對對應的包進行匹配:每條規則指定應當如何處理與之相匹配的包。這被稱作'target'(目標),也可以跳向同一個表內的用戶定義的鏈。

  TARGETS

  防火牆的規則指定所檢查包的特征,和目標。如果包不匹配,將送往該鏈中下一條規則檢查;如果匹配,那麼下一條規則由目標值確定.該目標值可以是用戶定義的鏈名,或是某個專用值,如ACCEPT[通過], DROP[刪除], QUEUE[排隊], 或者 RETURN[返回]。

  ACCEPT 表示讓這個包通過。DROP表示將這個包丟棄。QUEUE表示把這個包傳遞到用戶空間。RETURN表示停止這條鏈的匹配,到前一個鏈的規則重新開始。如果到達了一個內建的鏈(的末端),或者遇到內建鏈的規則是RETURN,包的命運將由鏈准則指定的目標決定。

  TABLES

  當前有三個表(哪個表是當前表取決於內核配置選項和當前模塊)。

  -t table

  這個選項指定命令要操作的匹配包的表。如果內核被配置為自動加載模塊,這時若模塊沒有加載,(系統)將嘗試(為該表)加載適合的模塊。這些表如下:filter,這是默認的表,包含了內建的鏈INPUT(處理進入的包)、FORWORD(處理通過的包)和OUTPUT(處理本地生成的包)。nat,這個表被查詢時表示遇到了產生新的連接的包,由三個內建的鏈構成:PREROUTING (修改到來的包)、OUTPUT(修改路由之前本地的包)、POSTROUTING(修改准備出去的包)。mangle 這個表用來對指定的包進行修改。它有兩個內建規則:PREROUTING(修改路由之前進入的包)和OUTPUT(修改路由之前本地的包)。

  OPTIONS

  這些可被iptables識別的選項可以區分不同的種類。

  COMMANDS

  這些選項指定執行明確的動作:若指令行下沒有其他規定,該行只能指定一個選項.對於長格式的命令和選項名,所用字母長度只要保證iptables能從其他選項中區分出該指令就行了。

  -A -append

  在所選擇的鏈末添加一條或更多規則。當源(地址)或者/與 目的(地址)轉換為多個地址時,這條規則會加到所有可能的地址(組合)後面。

  -D -delete

  從所選鏈中刪除一條或更多規則。這條命令可以有兩種方法:可以把被刪除規則指定為鏈中的序號(第一條序號為1),或者指定為要匹配的規則。

  -R -replace

  從選中的鏈中取代一條規則。如果源(地址)或者/與 目的(地址)被轉換為多地址,該命令會失敗。規則序號從1開始。

  -I -insert

  根據給出的規則序號向所選鏈中插入一條或更多規則。所以,如果規則序號為1,規則會被插入鏈的頭部。這也是不指定規則序號時的默認方式。

  -L -list

  顯示所選鏈的所有規則。如果沒有選擇鏈,所有鏈將被顯示。也可以和z選項一起使用,這時鏈會被自動列出和歸零。精確輸出受其它所給參數影響。

  -F -flush

  清空所選鏈。這等於把所有規則一個個的刪除。

  --Z -zero

  把所有鏈的包及字節的計數器清空。它可以和 -L配合使用,在清空前察看計數器,請參見前文。

  -N -new-chain

  根據給出的名稱建立一個新的用戶定義鏈。這必須保證沒有同名的鏈存在。

  -X -delete-chain

  刪除指定的用戶自定義鏈。這個鏈必須沒有被引用,如果被引用,在刪除之前你必須刪除或者替換與之有關的規則。如果沒有給出參數,這條命令將試著刪除每個非內建的鏈。

  -P -policy

  設置鏈的目標規則。

  -E -rename-chain

  根據用戶給出的名字對指定鏈進行重命名,這僅僅是修飾,對整個表的結構沒有影響。TARGETS參數給出一個合法的目標。只有非用戶自定義鏈可以使用規則,而且內建鏈和用戶自定義鏈都不能是規則的目標。

  -h Help.

  幫助。給出當前命令語法非常簡短的說明。

  PARAMETERS

  參數

  以下參數構成規則詳述,如用於add、delete、replace、append 和 check命令。

  -p -protocal [!]protocol

  規則或者包檢查(待檢查包)的協議。指定協議可以是tcp、udp、icmp中的一個或者全部,也可以是數值,代表這些協議中的某一個。當然也可以使用在/etc/protocols中定義的協議名。在協議名前加上"!"表示相反的規則。數字0相當於所有all。Protocol all會匹配所有協議,而且這是缺省時的選項。在和check命令結合時,all可以不被使用。

  -s -source [!] address[/mask]

  指定源地址,可以是主機名、網絡名和清楚的IP地址。mask說明可以是網絡掩碼或清楚的數字,在網絡掩碼的左邊指定網絡掩碼左邊"1"的個數,因此1234下一頁

Copyright © Linux教程網 All Rights Reserved