前面学习了IPTABLES的所有功能介绍后,一个Linux设备里的IPTABLES规则集是如何运行的,这里简单做个介绍。
- 在Linux设备里输入"iptables -nvl",得到该设备的所有防火墙规则,得到的结果中可以看到这个设备防火墙里所有的链以及链里的规则集,如下图所示
可以看到这个设备的防火墙有5个链:INPUT、OUTPUT、FORWARD、ACL_SSH、XXXX_INPUT、XX_FORWARD,每个链下面有一连串规则,其中"INPUT、OUTPUT、FORWARD"是默认的链," ACL_SSH、XXXX_INPUT、XX_FORWARD " 为自定义链
-
上面的图片中我们看到自定义链中"XXXX_INPUT" 和" XX_FORWARD" 右边都带有"(1 references)",而"ACL_SSH"链为"0 references",这里的意思是这个设备目前的防火墙规则里,自定义链 "XXXX_INPUT" 和" XX_FORWARD"已经被引用,在发挥作用,而 "ACL_SSH"没有被引用,它里面的规则集没有发货作用,
-
上面的图片中仔细看"INPUT"链,XXXX_INPUT为其里的一个目标,这样XXXX_INPUT就被INPUT引用了,同理XX_FORWARD是FORWARD中的一个目标,它也被引用。而ACL_SSH不是上述所有规则集中的目标,它就没被引用,无法生效。
-
要想ACL_SSH链生效,我们只需要输入一条指令: iptalbes -A XXXX_INPUT -j ACL_SSH, 这样之后,我们再查看这个Linux设备的防火墙规则时,就会看到自定义链ACL_SSH 生效了,如下图所示