iptables实用教程(二):管理链和策略

概念和原理请参考上一篇文章“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中的策略

还有一种不直接显示策略配置命令,而是按照表格形式显示当前生效策略的方法:

iptables [-t table] -L [-v] [-n] [--line-number ]

默认情况下显示协议、源目的地址、目标等信息,使用-v参数可以显示额外的进出接口、包和流量统计信息。

使用-n参数表示用数字表示IP和端口号,默认会尝试查找dns

使用--line-number参数显示策略行号,可以在插入、修改策略时用此参数查看rule-num

 

原文地址:http://www.cnblogs.com/foxgab/p/6904627.html

 果觉得本文对您有帮助,请扫描后面的二维码给予捐赠,您的支持是作者继续写出更好文章的动力!

posted @ 2017-05-25 17:54  foxgab  阅读(3115)  评论(0编辑  收藏  举报