欢迎各位兄弟 发布技术文章
这里的技术是共享的
iptables是Linux内置的封装包过滤软件。它定义了进出Linux封包的过滤规则。Iptables由多个表格组成,每个表格由若干链组成,每个链由若干规则组成。
其中最常用也是最重要的是管理本机进出封包的filter(过滤器)表格,filter默认包含以下3个链:
INPUT链:定义了进入Linux主机的封包的过滤规则;
OUTPUT链:定义了送出Linux主机的封包的过滤规则;
FORWORD链:这个链与本机没有什么关系,它可以转递封包到后台的计算机中,与iptables中的另外一个表格nat相关性较高;
上面三个链是filter表格中默认的链,可以称作父链。用户还可以自定义自己的链规则,可以称作子链。当封包满足一定规则,则由父链跳转到子链进行特定的处理。
用iptables-save命令查看完整的防火墙规则,也即是查看/etc/sysconfig/iptables中保存的内容。在实验室服务器的执行结果如下:
其中防火墙规则可以从总体上分为两个部分,如图所示,由红线分开;
红线上面部分为防火墙filter过滤器定义的4个链:INPUT,FORWARD,OUTPUT,RH-Firewall-1-INPUT。其中前面三个链是系统默认的链,称为父链;RH-Firewall-1-INPUT是用户自定义的链,称为子链。
红线以下部分是4个链所定义的对应的规则。这部分规则可以分为三个部分,由蓝线分开。
第一部分:INPUT链所对应的规则;这部分规则其实只有第一条会有用,其他的都不会用到,因为当一个封包进入主机后,首先会进入INPUT链,然后再由INPUT链进入RH-Firewall-1-INPUT进行处理
第二部分:FORWARD链所对应的规则;和INPUT链一样,封包会由RH-Firewall-1 -INPUT链所定义的规则处理
第三部分:RH-Firewall-1-INPUT链所对应的规则;
其实上面这两条规则就是将子链RH-Firewall-1-INPUT分别加到INPUT和FORWORD主链中,这样封包进入到INPUT链后,然后会进入到RH-Firewall-1-INPUT子链中进行相应的处理。
这是Red hat独有的防火墙设置,把INPUT 和 FORWARD 链引到一起统一处理。所以在这种防火墙规则的前提下,增加防火墙规则时,必须把规则都添加到子链RH-Firewall-1 -INPUT中,这样才会生效,添加到父链中是没有效果的。
来自 https://blog.csdn.net/anonymalias/article/details/8478587