IPtables常用命令及參數(shù)指南
IPtables常用命令及參數(shù)指南:
我們將要介紹所有的command以及它們的用途。command指定iptables 對(duì)我們提交的規(guī)則要做什么樣的操作。這些操作可能是在某個(gè)表里增加或刪除一些東西,或做點(diǎn)兒其他什么。 我們將要介紹所有的command以及它們的用途。command指定iptables常用命令對(duì)我們提交的規(guī)則要做什么樣的操作。這些操作可能是在某個(gè)表里增加或刪除一些東西,或做點(diǎn)兒其他什么。以下是iptables常用命令可用的command(要注意,如不做說(shuō)明,默認(rèn)表的是 filter表。
- Command-A, --append
- Example iptables -A INPUT ...
Explanation在所選擇的鏈末添加規(guī)則。當(dāng)源地址或目的地址是以名字而不是ip地址的形式出現(xiàn)時(shí),若這些名字可以被解析為多個(gè)地址,則這條規(guī)則會(huì)和所有可用的地址結(jié)合。
- Command-D, --delete
- Example iptables -D INPUT --dport 80 -j DROP或iptables -D INPUT 1
Explanation從所選鏈中刪除規(guī)則。有兩種方法指定要?jiǎng)h除的規(guī)則:一是把規(guī)則完完整整地寫(xiě)出來(lái),再就是指定規(guī)則在所選鏈中的序號(hào)(每條鏈的規(guī)則都各自從1被編號(hào))。
- Command-R, --replace
- Example iptables -R INPUT 1 -s 192.168.0.1 -j DROP
Explanation在所選中的鏈里指定的行上(每條鏈的規(guī)則都各自從1被編號(hào))替換規(guī)則。它主要的用處是試驗(yàn)不同的規(guī)則。當(dāng)源地址或目的地址是以名字而不是ip地址的形式出現(xiàn)時(shí),若這些名字可以被解析為多個(gè)地址,則這條command會(huì)失敗。
- Command-I, --insert
- Example iptables -I INPUT 1 --dport 80 -j ACCEPT
Explanation根據(jù)給出的規(guī)則序號(hào)向所選鏈中插入規(guī)則。如果序號(hào)為1,規(guī)則會(huì)被插入鏈的頭部,其實(shí)默認(rèn)序號(hào)就是1。
- Command-L, --list
- Example iptables -L INPUT
Explanation顯示所選鏈的所有規(guī)則。如果沒(méi)有指定鏈,則顯示指定表中的所有鏈。如果什么都沒(méi)有指定,就顯示默認(rèn)表所有的鏈。精確輸出受其它參數(shù)影響,如-n 和-v等參數(shù),下面會(huì)介紹。
- Command-F, --flush
- Example iptables -F INPUT
Explanation清空所選的鏈。如果沒(méi)有指定鏈,則清空指定表中的所有鏈。如果什么都沒(méi)有指定,就清空默認(rèn)表所有的鏈。當(dāng)然,也可以一條一條地刪,但用這個(gè)command會(huì)快些。
- Command-Z, --zero
- Example iptables -Z INPUT
Explanation把指定鏈(如未指定,則認(rèn)為是所有鏈)的所有計(jì)數(shù)器歸零。
- Command-N, --new-chain
- Example iptables -N allowed
Explanation根據(jù)用戶(hù)指定的名字建立新的鏈。上面的例子建立了一個(gè)名為allowed的鏈。注意,所用的名字不能和已有的鏈、target同名。
- Command-X, --delete-chain
- Example iptables -X allowed
Explanation刪除指定的用戶(hù)自定義鏈。這個(gè)鏈必須沒(méi)有被引用,如果被引用,在刪除之前你必須刪除或者替換與之有關(guān)的規(guī)則。如果沒(méi)有給出參數(shù),這條命令將會(huì)刪除默認(rèn)表所有非內(nèi)建的鏈。
- Command-P, --policy
- Example iptables -P INPUT DROP
Explanation為鏈設(shè)置默認(rèn)的target(可用的是DROP 和ACCEPT,如果還有其它的可用,請(qǐng)告訴我),這個(gè)target稱(chēng)作策略。所有不符合規(guī)則的包都被強(qiáng)制使用這個(gè)策略。只有內(nèi)建的鏈才可以使用規(guī)則。但內(nèi)建的鏈和用戶(hù)自定義鏈都不能被作為策略使用,也就是說(shuō)不能象這樣使用:iptables -P INPUT allowed(或者是內(nèi)建的鏈)。
- Command-E, --rename-chain
- Example iptables -E allowed disallowed
Explanation對(duì)自定義的鏈進(jìn)行重命名,原來(lái)的名字在前,新名字在后。如上,就是把a(bǔ)llowed改為disallowed。這僅僅是改變鏈的名字,對(duì)整個(gè)表的結(jié)構(gòu)、工作沒(méi)有任何影響。
在使用iptables時(shí),如果必須的參數(shù)沒(méi)有輸入就按了回車(chē),那么它就會(huì)給出一些提示信息:告訴你需要哪些參數(shù)等等。iptables的選項(xiàng)-v用來(lái)顯示iptables的版本,-h給出語(yǔ)法的簡(jiǎn)短說(shuō)明。。下面將要介紹的就是部分選項(xiàng),還有它們的作用。
Table 6-3. Options
Option(選項(xiàng))-v, --verbose(詳細(xì)的)
可用此選項(xiàng)的命令--list, --append, --insert, --delete, --replace
Explanation(說(shuō)明)這個(gè)選項(xiàng)使輸出詳細(xì)化,常與--list 連用。與--list連用時(shí),輸出中包括網(wǎng)絡(luò)接口的地址、規(guī)則的選項(xiàng)、TOS掩碼、字節(jié)和包計(jì)數(shù)器,其中計(jì)數(shù)器是以K、M、G(這里用的是10的冪而不是2的冪哦)為單位的。如果想知道到底有多少個(gè)包、多少字節(jié),還要用到選項(xiàng)-x,下面會(huì)介紹。如果-v 和--append、--insert、--delete 或--replace連用,iptables會(huì)輸出詳細(xì)的信息告訴你規(guī)則是如何被解釋的、是否正確地插入等等。
- Option-x, --exact(精確的)
- Commands used with--list
Explanation使--list輸出中的計(jì)數(shù)器顯示準(zhǔn)確的數(shù)值,而不用K、M、G等估值。注意此選項(xiàng)只能和--list連用。
- Option-n, --numeric(數(shù)值)
- Commands used with--list
Explanation使輸出中的IP地址和端口以數(shù)值的形式顯示,而不是默認(rèn)的名字,比如主機(jī)名、網(wǎng)絡(luò)名、程序名等。注意此選項(xiàng)也只能和--list連用。
- Option--line-numbers
- Commands used with--list
Explanation又是一個(gè)只能和--list連用的選項(xiàng),作用是顯示出每條規(guī)則在相應(yīng)鏈中的序號(hào)。這樣你可以知道序號(hào)了,這對(duì)插入新規(guī)則很有用哦。
- Option-c, --set-counters
- Commands used with--insert, --append, --replace
Explanation在創(chuàng)建或更改規(guī)則時(shí)設(shè)置計(jì)數(shù)器,語(yǔ)法如下:--set-counters 20 4000,意思是讓內(nèi)核把包計(jì)數(shù)器設(shè)為20,把字節(jié)計(jì)數(shù)器設(shè)為4000。
- Option--modprobe
- Commands used withAll
Explanation此選項(xiàng)告訴iptables常用命令探測(cè)并裝載要使用的模塊。這是非常有用的一個(gè)選項(xiàng),萬(wàn)一modprobe命令不在搜索路徑中,就要用到了。有了這個(gè)選項(xiàng),在裝載模塊時(shí),即使有一個(gè)需要用到的模塊沒(méi)裝載上,iptables也知道要去搜索。
【編輯推薦】