概念和原理請參考上一篇文章“iptables實用教程(一)”。
本文講解如果管理iptables中的鏈和策略。
下面的代碼格式中,下划線表示是一個占位符,需要根據實際情況輸入參數,不帶下划線的表示是固定的命令,方括號內表示是可選參數。
管理chain
清空chain中所有的策略:
iptables [-t table] -F [chain]
刪除指定chain中的所有策略,如果不指定清空哪個chain,則清空table中的所有chain,當不指定是哪個tables時,默認為filter。
新增自定義chain:
iptables [-t table] -N chain
當不指定是哪個tables時,默認把新chain添加到filter table
刪除自定義chain:
iptables [-t table] -X [chain]
刪除自定義的chain,注意內置chain是不能刪除的,刪除的chain必須是一個空的chain,也就是說如果chain中有策略的話是不能刪除的。當不指定刪除哪個chain,會刪除所有空的chain。
重命名chain:
iptables [-t table] -E old-chain new-chain
給自定義chain改名,改名時chain內的策略和chain間的跳轉不會發生變化。
設置默認policy:
ipables [-t table] -P target
在filter table中,target可以是DROP或者ACCEPT,其它table默認都是ACCEPT,貌似無法修改(存疑)。
管理策略:
策略(rule-specification)由匹配規則(match)和目標(target)組成,關於表、鏈和策略請看教程(一)。
追加策略:
iptables [-t table] -A chain rule-specification
在chain的末尾追加策略,當不指定是哪個tables時,默認為filter。
插入策略:
iptables [-t table] -I chain [rule-num] rule-specification
在chain指定位置插入策略,原來位於該位置的策略自動下移,如果不指定策略的位置(rule-num),則默認在首部插入。位置序號可以用在后面的“顯示策略”章節中的命令查看。
刪除策略:
iptables [-t table] -D rule-specification iptables [-t table] -D rule-num
可以有兩種形式,第一種匹配策略,如果該策略存在則刪除,否則報錯,第二種匹配位置。位置序號可以用在后面的“顯示策略”章節中的命令查看。
修改策略:
iptables [-t table] -R chain rule-num rule-specification
修改/覆蓋一條指定位置的策略。位置序號可以用在后面的“顯示策略”章節中的命令查看。
顯示策略
iptables [-t table] -S [chain]
這條命令可以顯示指定的chain中當前生效的策略,如果不指定chain,那么顯示table中所有的chain,如果不指定table,默認為filter table。
顯示所有iptables中生效的策略可以使用下面的命令:
iptables-save
這條命令顯示包括所有table中的策略
還有一種不直接顯示策略配置命令,而是按照表格形式顯示當前生效策略的方法:
默認情況下顯示協議、源目的地址、目標等信息,使用-v參數可以顯示額外的進出接口、包和流量統計信息。
使用-n參數表示用數字表示IP和端口號,默認會嘗試查找dns
使用--line-number參數顯示策略行號,可以在插入、修改策略時用此參數查看rule-num
原文地址:http://www.cnblogs.com/foxgab/p/6904627.html
果覺得本文對您有幫助,請掃描后面的二維碼給予捐贈,您的支持是作者繼續寫出更好文章的動力!