iptables操作

查看iptables

iptables -t filter -nvL INPUT


参数:

    -t 指定了查看的表。

    -n 表示不进行名称解析。如果不带-n source和destination的0.0.0.0/0会被解析成 anywhere,in和out的*会被解析成any

    -v 表示详细信息(verbose),会增加pkts,bytes,in,out信息

    -L 表示list信息, 后跟具体的链名,不跟链名打印所有链

    --line / --line-numbers 打印rule行号

    -x 显示计数中精确值,比如pkts和bytes将3217M显示成3216849936(3217*1000*1000)

rule表字段含义:

    pkts:    对应规则匹配到的报文个数

    bytes:    对应规则匹配到的报文包大小综合

    target:    规则对应的target,可以理解为下一步处理,可以是ACCEPT,DROP等基本处理动作,也可以是一个自定义链

    prot:    协议

    opt:    额外参数,使用的较少,多为空“--”

    in:    入网卡

    out:    出网卡

    source:    源ip/网段

    destination:    目的ip/网段


增加规则:

iptables -t filter -I INPUT -s 192.163.40.2 -j DROP

iptables操作_第1张图片

参数:

    -I:    insert,默认添加到第一行。在链名之后加数字可以指定加到哪一行

    -A:    append,添加到最后一行。


删除规则:

iptables操作_第2张图片

1.    按照rule行号删除:iptables -t filter -D INPUT 1

2.    按照rule内容删除:iptables -t filter -D INPUT -s 192.163.40.2 -j DROP

       当按照内容删除时,如果存在多条内容相同的rule,只会删除第一条匹配规则

3.    大粒度删除:

       清除filter表的INPUT链: iptables -t filter -F INPUT

       -F : flush,直接清除,如果不带链名,则清除filter表中所有链


修改规则:

iptables操作_第3张图片

修改规则:iptables -t filter -R INPUT 1 -d 1.1.1.1 -j ACCEPT

    根据行号修改规则,比如上图修改第一条规则,指定了-d 和 -j,但是没有指定-s,发现source被默认为了0.0.0.0/0 并没有保存修改之前的192.163.40.2,即修改规则不会保留修改命令中未指定的参数,直接按照默认值处理,修改规则需要指定所有参数才能保证与预期一致

修改链的默认策略:iptables -t filter -P FORWARD DROP

    把filter表的FORWARD链的默认策略改为DROP,当没有任何规则匹配时,使用默认规则

    

保存规则:

    service iptables save

    在某些版本中需要使用:iptables-save > /etc/sysconfig/iptables 来保存iptables

    使用iptables-restore < /etc/sysconfig/iptables 来重载以保存的规则,冲掉命令行中执行的还未保存的iptables操作


你可能感兴趣的:(iptables)