【iptables】规则查询

1 iptables的基本语法格式

iptables [-t 表名] 命令选项 [链名] [条件匹配] [-j 目标动作或跳转]

说明:

        表名、链名用于指定 iptables命令所操作的表和链;

        命令选项用于指定管理iptables规则的方式(比如:插入、增加、删除、查看等;

        条件匹配用于指定对符合什么样条件的数据包进行处理;

        目标动作或跳转用于指定数据包的处理方式(比如允许通过、拒绝、丢弃、跳转给其它链处理)。

注意:

        在虚拟机上使用iptables查看表的规则时,需要进入先su模式

iptables命令的管理控制选项

【iptables】规则查询_第1张图片

2 查看指定表中的规则

查看对应表的所有规则

        iptables -t 表名 -L

【iptables】规则查询_第2张图片

        上图中绿色标记的部分为规则,蓝色标记的部分为链,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】规则查询_第3张图片

如图,表头有如下信息

  • num 表示当前规则编号,从1开始
  • ptks 表示对应规则匹配到的报文的个数
  • bytes 表示对应匹配到的报文包的大小总和
  • target 表示规则对应的target,往往表示规则对应的动作,即规则匹配成功后需要采取的措施
  • prot 表示规则对应的协议,是否只针对某些协议应用此规则(TCP、UDP等)
  • opt 表示规则对应的选项
  • in 表示该规则会匹配那些的输入网口,如果包是由该网口输入,则会被匹配
  • out 表示该规则会匹配的目标网口,如果包的目标网口是该网口,则会被匹配
  • source 表示该规则匹配的具体源ip范围
  • destination 表示该规则匹配的具体目标ip范围

3 查看指定表中指定链的规则

查看指定表中指定链的规则

        iptables -t 表名 -L 链名

【iptables】规则查询_第4张图片

        图中显示filter表中INPUT链中的规则(省略-t默认为filter表),可以使用-v选项查看出更多更详细的信息

【iptables】规则查询_第5张图片

        再看上图绿色标注部分,发现表中的每个链后面都有一个括号,里面有一些信息:

  • policy表示当前链的默认策略,policy ACCEPT表示上图中INPUT链的默认动作是ACCEPT,换句话说就是,默认接受通过INPUT关卡的所有请求,所以我们在配置INPUT链的具体规则时,应该将需要拒绝的请求配置到规则中。当我们把INPUT链默认动作设置为接受(ACCEPT),就表示所有人都能通过这个关卡,此时就应该在具体的规则中指定需要拒绝的请求,就表示只有指定的人不能通过这个关卡,这就是黑名单机制
  • packets表示当前链默认策略匹配到的包的数量,0 packets表示默认策略匹配到0个包
  • bytes表示当前链默认策略匹配到的所有包的大小总和

你可能感兴趣的:(iptables学习,linux,服务器,网络)