iptables中文man文檔(四)其他選項
其他選項
還可以指定下列附加選項:
- -v --verbose
- -v --詳細
詳細輸出。這個選項讓list命令顯示接口地址、規(guī)則選項(如果有)和TOS(Type of Service)掩碼。包和字節(jié)計數(shù)器也將被顯示,分別用K、M、G(前綴)表示1000、1,000,000和1,000,000,000倍(不過請參看-x標(biāo)志改變它),對于添加,插入,刪除和替換命令,這會使一個或多個規(guī)則的相關(guān)詳細信息被打印。
- -n --numeric
- -n --數(shù)字
數(shù)字輸出。IP地址和端口會以數(shù)字的形式打印。默認(rèn)情況下,程序試顯示主機名、網(wǎng)絡(luò)名或者服務(wù)(只要可用)。
- -x -exact
- -x -精確
擴展數(shù)字。顯示包和字節(jié)計數(shù)器的精確值,代替用K,M,G表示的約數(shù)。這個選項僅能用于 -L 命令。
- --line-numbers
當(dāng)列表顯示規(guī)則時,在每個規(guī)則的前面加上行號,與該規(guī)則在鏈中的位置相對應(yīng)。
- MATCH EXTENSIONS
對應(yīng)的擴展
iptables能夠使用一些與模塊匹配的擴展包。以下就是含于基本包內(nèi)的擴展包,而且他們大多數(shù)都可以通過在前面加上!來表示相反的意思。
tcp
當(dāng) --protocol tcp 被指定,且其他匹配的擴展未被指定時,這些擴展被裝載。它提供以下選項:
- --source-port [!] [port[:port]]
源端口或端口范圍指定。這可以是服務(wù)名或端口號。使用格式端口:端口也可以指定包含的(端口)范圍。如果首端口號被忽略,默認(rèn)是"0",如果末端口號被忽略,默認(rèn)是"65535",如果第二個端口號大于***個,那么它們會被交換。這個選項可以使用 --sport的別名。
- --destionation-port [!] [port:[port]]
目標(biāo)端口或端口范圍指定。這個選項可以使用 --dport別名來代替。
- --tcp-flags [!] mask comp
匹配指定的TCP標(biāo)記。***個參數(shù)是我們要檢查的標(biāo)記,一個用逗號分開的列表,第二個參數(shù)是用逗號分開的標(biāo)記表,是必須被設(shè)置的。標(biāo)記如下:SYN ACK FIN RST URG PSH ALL NONE。因此這條命令:iptables -A FORWARD -p tcp --tcp-flags SYN, ACK, FIN, RST SYN只匹配那些SYN標(biāo)記被設(shè)置而ACK、FIN和RST標(biāo)記沒有設(shè)置的包。
- [!] --syn
只匹配那些設(shè)置了SYN位而清除了ACK和FIN位的TCP包。這些包用于TCP連接初始化時發(fā)出請求;例如,大量的這種包進入一個接口發(fā)生堵塞時會阻止進入的TCP連接,而出去的TCP連接不會受到影響。這等于 --tcp-flags SYN, RST, ACK SYN。如果"--syn"前面有"!"標(biāo)記,表示相反的意思。
- --tcp-option [!] number
匹配設(shè)置了TCP選項的。
- udp
當(dāng)protocol udp 被指定,且其他匹配的擴展未被指定時,這些擴展被裝載,它提供以下選項:
- --source-port [!] [port:[port]]
源端口或端口范圍指定。詳見 TCP擴展的--source-port選項說明。
- --destination-port [!] [port:[port]]
目標(biāo)端口或端口范圍指定。詳見 TCP擴展的--destination-port選項說明。
- icmp
當(dāng)protocol icmp被指定,且其他匹配的擴展未被指定時,該擴展被裝載。它提供以下選項:
- --icmp-type [!] typename
這個選項允許指定ICMP類型,可以是一個數(shù)值型的ICMP類型,或者是某個由命令iptables -p icmp -h所顯示的ICMP類型名。
- mac
- --mac-source [!] address
匹配物理地址。必須是XX:XX:XX:XX:XX這樣的格式。注意它只對來自以太設(shè)備并進入PREROUTING、FORWORD和INPUT鏈的包有效。
limit
這個模塊匹配標(biāo)志用一個標(biāo)記桶過濾器一一定速度進行匹配,它和LOG目標(biāo)結(jié)合使用來給出有限的登陸數(shù).當(dāng)達到這個極限值時,使用這個擴展包的規(guī)則將進行匹配.(除非使用了"!"標(biāo)記)
- --limit rate
***平均匹配速率:可賦的值有'/second', '/minute', '/hour', or '/day'這樣的單位,默認(rèn)是3/hour。
- --limit-burst number
待匹配包初始個數(shù)的***值:若前面指定的極限還沒達到這個數(shù)值,則概數(shù)字加1.默認(rèn)值為5
- multiport
這個模塊匹配一組源端口或目標(biāo)端口,最多可以指定15個端口。只能和-p tcp 或者 -p udp 連著使用。
- --source-port [port[, port]]
如果源端口是其中一個給定端口則匹配
- --destination-port [port[, port]]
如果目標(biāo)端口是其中一個給定端口則匹配
- --port [port[, port]]
若源端口和目的端口相等并與某個給定端口相等,則匹配。
- mark
這個模塊和與netfilter過濾器標(biāo)記字段匹配(就可以在下面設(shè)置為使用MARK標(biāo)記)。
- --mark value [/mask]
匹配那些無符號標(biāo)記值的包(如果指定mask,在比較之前會給掩碼加上邏輯的標(biāo)記)。
owner
此模塊試為本地生成包匹配包創(chuàng)建者的不同特征。只能用于OUTPUT鏈,而且即使這樣一些包(如ICMP ping應(yīng)答)還可能沒有所有者,因此永遠不會匹配。
- --uid-owner userid
如果給出有效的user id,那么匹配它的進程產(chǎn)生的包。
- --gid-owner groupid
如果給出有效的group id,那么匹配它的進程產(chǎn)生的包。
- --sid-owner seessionid
根據(jù)給出的會話組匹配該進程產(chǎn)生的包。
state
此模塊,當(dāng)與連接跟蹤結(jié)合使用時,允許訪問包的連接跟蹤狀態(tài)。
- --state state
這里state是一個逗號分割的匹配連接狀態(tài)列表??赡艿臓顟B(tài)是:INVALID表示包是未知連接,ESTABLISHED表示是雙向傳送的連接,NEW表示包為新的連接,否則是非雙向傳送的,而RELATED表示包由新連接開始,但是和一個已存在的連接在一起,如FTP數(shù)據(jù)傳送,或者一個ICMP錯誤。
unclean
此模塊沒有可選項,不過它試著匹配那些奇怪的、不常見的包。處在實驗中。
tos
此模塊匹配IP包首部的8位tos(服務(wù)類型)字段(也就是說,包含在優(yōu)先位中)。
- --tos tos
這個參數(shù)可以是一個標(biāo)準(zhǔn)名稱,(用iptables -m tos -h 察看該列表),或者數(shù)值。
TARGET EXTENSIONS
iptables可以使用擴展目標(biāo)模塊:以下都包含在標(biāo)準(zhǔn)版中。
LOG
為匹配的包開啟內(nèi)核記錄。當(dāng)在規(guī)則中設(shè)置了這一選項后,linux內(nèi)核會通過printk()打印一些關(guān)于全部匹配包的信息(諸如IP包頭字段等)。
- --log-level level
記錄級別(數(shù)字或參看 syslog.conf(5))。
--log-prefix prefix
在紀(jì)錄信息前加上特定的前綴:最多14個字母長,用來和記錄中其他信息區(qū)別。
--log-tcp-sequence
記錄TCP序列號。如果記錄能被用戶讀取那么這將存在安全隱患。
--log-tcp-options
記錄來自TCP包頭部的選項。
--log-ip-options
記錄來自IP包頭部的選項。
MARK
用來設(shè)置包的netfilter標(biāo)記值。只適用于mangle表。
--set-mark mark
REJECT
作為對匹配的包的響應(yīng),返回一個錯誤的包:其他情況下和DROP相同。
此目標(biāo)只適用于INPUT、FORWARD和OUTPUT鏈,和調(diào)用這些鏈的用戶自定義鏈。這幾個選項控制返回的錯誤包的特性:
--reject-with type
Type可以是icmp-net-unreachable、icmp-host-unreachable、icmp-port-nreachable、icmp-proto-unreachable、 icmp-net-prohibited 或者 icmp-host-prohibited,該類型會返回相應(yīng)的ICMP錯誤信息(默認(rèn)是port-unreachable)。選項 echo-reply也是允許的;它只能用于指定ICMP ping包的規(guī)則中,生成ping的回應(yīng)。***,選項tcp-reset可以用于在INPUT鏈中,或自INPUT鏈調(diào)用的規(guī)則,只匹配TCP協(xié)議:將回應(yīng)一個TCP RST包。
TOS
用來設(shè)置IP包的首部八位tos。只能用于mangle表。
--set-tos tos
你可以使用一個數(shù)值型的TOS 值,或者用iptables -j TOS -h 來查看有效TOS名列表。
MIRROR
這是一個試驗示范目標(biāo),可用于轉(zhuǎn)換IP首部字段中的源地址和目標(biāo)地址,再傳送該包,并只適用于INPUT、FORWARD和OUTPUT鏈,以及只調(diào)用它們的用戶自定義鏈。
SNAT
這個目標(biāo)只適用于nat表的POSTROUTING鏈。它規(guī)定修改包的源地址(此連接以后所有的包都會被影響),停止對規(guī)則的檢查,它包含選項:
--to-source [-][:port-port]
可以指定一個單一的新的IP地址,一個IP地址范圍,也可以附加一個端口范圍(只能在指定-p tcp 或者-p udp的規(guī)則里)。如果未指定端口范圍,源端口中512以下的(端口)會被安置為其他的512以下的端口;512到1024之間的端口會被安置為1024以下的,其他端口會被安置為1024或以上。如果可能,端口不會被修改。
--to-destiontion [-][:port-port]
可以指定一個單一的新的IP地址,一個IP地址范圍,也可以附加一個端口范圍(只能在指定-p tcp 或者-p udp的規(guī)則里)。如果未指定端口范圍,目標(biāo)端口不會被修改。
MASQUERADE
只用于nat表的POSTROUTING鏈。只能用于動態(tài)獲取IP(撥號)連接:如果你擁有靜態(tài)IP地址,你要用SNAT。偽裝相當(dāng)于給包發(fā)出時所經(jīng)過接口的IP地址設(shè)置一個映像,當(dāng)接口關(guān)閉連接會終止。這是因為當(dāng)下一次撥號時未必是相同的接口地址(以后所有建立的連接都將關(guān)閉)。它有一個選項:
--to-ports [-port>]
指定使用的源端口范圍,覆蓋默認(rèn)的SNAT源地址選擇(見上面)。這個選項只適用于指定了-p tcp或者-p udp的規(guī)則。
REDIRECT
只適用于nat表的PREROUTING和OUTPUT鏈,和只調(diào)用它們的用戶自定義鏈。它修改包的目標(biāo)IP地址來發(fā)送包到機器自身(本地生成的包被安置為地址127.0.0.1)。它包含一個選項:
--to-ports [ ]
指定使用的目的端口或端口范圍:不指定的話,目標(biāo)端口不會被修改。只能用于指定了-p tcp 或 -p udp的規(guī)則。
DIAGNOSTICS
診斷
不同的錯誤信息會打印成標(biāo)準(zhǔn)錯誤:退出代碼0表示正確。類似于不對的或者濫用的命令行參數(shù)錯誤會返回錯誤代碼2,其他錯誤返回代碼為1。
BUGS
臭蟲
Check is not implemented (yet).
檢查還未完成。
COMPATIBILITY WITH IPCHAINS
與ipchains的兼容性
iptables和Rusty Russell的ipchains非常相似。主要區(qū)別是INPUT 鏈只用于進入本地主機的包,而OUTPUT只用于自本地主機生成的包。因此每個包只經(jīng)過三個鏈的一個;以前轉(zhuǎn)發(fā)的包會經(jīng)過所有三個鏈。其他主要區(qū)別是 -i 引用進入接口;-o引用輸出接口,兩者都適用于進入FORWARD鏈的包。當(dāng)和可選擴展模塊一起使用默認(rèn)過濾器表時,iptables是一個純粹的包過濾器。這能大大減少以前對IP偽裝和包過濾結(jié)合使用的混淆,所以以下選項作了不同的處理:
-j MASQ
-M -S
-M -L
在iptables中有幾個不同的鏈。
iptables中文man文檔就介紹到這里了。
上一節(jié):iptables中文man文檔參數(shù)
總共分為四個部分:1、概述 2、說明 3、參數(shù) 4、其他選項
【編輯推薦】