iptables防火墙--------基本操作

查看规则

查看filter表中的规则

$ iptables -t filter -L 

  使用-t选项,指定要操作的表。使用-L 选项,查看-t选项对应表的规则,-L 选项的意思是,列出规则。

  ps :

    -t filter可以不加,因为默认是会带-t filter

    -v 选项可以查看更详细的信息

    -n 选项表示不对IP地址进行名称反解,直接显示IP地址

    --line:显示规则的序号

    对应字段的含义:

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

    bytes:对应匹配到的报文包的大小总和

    target:规则对应的target,往往表示规则对应的“动作”,即规则匹配成功后需要采取的措施。

    port:表示规则对应的协议,是否只针对某些协议应用此规则。

    opt:表示规则对应的选项

    in:表示数据包由那个接口(网卡)流入,我们可以设置通过哪块网卡流入的报文需要匹配当前规则

    out:表示数据包由哪个接口(网卡)流出,我们可以设置通过哪块网卡流出的报文需要匹配当前规则

    source:表示规则对应的源头地址,可以是一个IP,也可以是一个网段

    destination:表示规则对应的目标地址,可以是一个IP,也可以是一个网段。

 

增加规则

$ iptables -t filter -I INPUT -s 192.168.170.137 -j DROP

  -t 表示要操作的表

  -I 指明将“规则”插入至哪个链中,在链的首部插入

  -s 指明“匹配条件”中的“源地址”,-s表示source

  -j 指明当“匹配条件”被满足时,所对应的动作

# 此时查看,可发现DROP这个链的拒绝报文的pkts为12
$ iptables -nvL INPUT
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
   12  1008 DROP       all  --  *      *       192.168.170.137      0.0.0.0/0        

  

此时再次添加一条接受的规则,看137是否可以ping通128机器

$ iptables -t filter -A INPUT  -s 192.168.170.137 -j ACCEPT

  -A 表示会在选择链的最后添加规则

  然后此时依然ping不通,说明,在链中匹配规则是从上往下匹配,如果匹配到了,后面对相同的报文也不会进行处理。

删除规则

方法一:根据规则的编号去删除规则

方法二:根据具体的匹配条件与动作去删除规则

$ iptables --line -nvL INPUT

 

$ iptables -t filter -D INPUT 9

-D 表示删除指定链中的某条规则

$ iptables -t filter -D INPUT -s 192.168.170.137 -j DROP

删除某个表中某条链中所有规则的命令

$ iptables -t filter -F INPUT

-F 表示flush,即冲刷指定的链,如果不指定链名,则冲刷指定表中的所有规则

修改规则

-s 选项指定对应的源地址不可省略,即使我们指定了对应的编号,但是在-R选项修改某个规则时,必须指定规则对应的原本的匹配条件(如果有多个匹配条件,都需要指定),如果没有-s的话,修改完成之后source就会变成0.0.0.0/0

 

$ iptables -t filter -R INPUT 1 -s 192.168.170.137 -j ACCEPT

-R 指定修改的表 序号

有时,如果为了避免修改错误,可以先将这条规则删除,然后在同样的位置再插一条新规则

保存规则

CentOS6,使用service iptables save命令即可保持规则,规则会被保存在/etc/sysconfig/iptables

CentOS7中

yum -y install iptables iptables-services
iptables-save > /etc/sysconfig/iptables

重载规则

iptables-restore < /etc/sysconfig/iptables

  

 

posted @ 2019-08-02 16:32  情浅凉心  阅读(379)  评论(0编辑  收藏  举报