赞
踩
iptables [-t 表名] 命令选项 [链名] [条件匹配] [-j 目标动作或跳转]
说明:
表名、链名用于指定 iptables命令所操作的表和链;
命令选项用于指定管理iptables规则的方式(比如:插入、增加、删除、查看等;
条件匹配用于指定对符合什么样条件的数据包进行处理;
目标动作或跳转用于指定数据包的处理方式(比如允许通过、拒绝、丢弃、跳转给其它链处理)。
注意:
在虚拟机上使用iptables查看表的规则时,需要进入先su模式
iptables命令的管理控制选项
查看对应表的所有规则
iptables -t 表名 -L
上图中绿色标记的部分为规则,蓝色标记的部分为链,INPUT链、FORWARD链、OUTPUT链,每条链都有自己的规则,所以可以看出这三条链都有“过滤”能力(因为filter表有过滤功能)。当我们要定义某条“过滤”规则时,我们会在filter表中定义,但是具体在哪条链上定义规则呢?
这取决于我们的工作场景。当需要禁止某个IP地址访问我们主机时,则需要在INPUT链上定义规则,因为报文发往本机时,会经过PREROUTING链与INPUT链,所以如果我们想禁止某些报文发往主机,只能在PREROUTING链与INPUT链中定义规则,但是PREROUTING链并不存在与filter表中,换句话说,PREROUTING关卡天生就没有过滤能力,所以只能在INPUT链中定义。
iptables -t nat -nvL --line-numbers
-t :表示想要查看那个表,这里查看的是nat表。(iptables的所有命令如果不指定-t,默认是filter表)
-L:表示列出该表所有的链和规则
-v:详细显示,会将规则匹配的进出网口也列出来
--line-numbers :表示给规则进行编号处理,编号能方便我们后续对规则进行修改、删除等操作
如图,表头有如下信息
查看指定表中指定链的规则
iptables -t 表名 -L 链名
图中显示filter表中INPUT链中的规则(省略-t默认为filter表),可以使用-v选项查看出更多更详细的信息
再看上图绿色标注部分,发现表中的每个链后面都有一个括号,里面有一些信息:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。