1、在生产中selinux 是关闭的。iptables 根据环境,内网关闭,外网开启。如果是大并发的情况,不开启iptables.

2、/var/log/messages 出现kernel:nf_conntrack:table full,dropping packet  是因为业务访问慢造成的
    优化:
         net.nf_conntrack_max = 25000000
         net.netfilter.nf_conntrack_max = 25000000
    #表池调大
        net.netfilter.nf_conntrack_tcp_timeout_established = 180
        net.netfilter.nf_conntrack_tcp_timeout_time_wait = 120
        net.netfilter.nf_conntrack_tcp_timeout_close_wait = 60
        net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 120
    #超时时间调小


3、Netfilter /iptables 是基于包过滤的防火墙。安全性比老一辈的ipfwadm、ipchains 强大很多,主

   要工作在二、三、四层。如果重新编译内核,也可以支持七层控制。


4、容器:包含或者说属于的关系
   Netfilter /iptables 是表的容器。(filter、NAT、mangle、raw)

   iptanles tables是chains的容器

   (INPUT(进入)、OUTPUT(出)、FORWARD(转发)、PREROUTING(预路由)、POSTROUTING(出路由))

   chins:是policy(规则)的容器。

5、FILTER 表(默认): 真正负责主机防火墙的(过滤主机流入主机的数据包)
       INPUT :负责过滤所有目标地址是本机地址的数据包
         OUTPUT:处理所有源地址是本机地址的数据包
         FORWARD :负责转发流经主机的数据包; lvs NAT模式 (net.ipv4.ip_forward=0)


6、NAT 表:负责网络地址转换,即来源与目的ip地址和port的转换。,一般用于局域共享上网或者特殊端口转换。
       OUTPUT :改变主机发出数据包的目的地址。
         PREROUTING:在数据包到达防火墙是进行路由判断之前执行规则,作用改变数据包的目的地址、目前端口
         POSTROUTING: 在数据包在离开防火墙时进行路由判断之前执行规则 改变数据包的源地址,源端口。


7、防火墙是层层过滤的,实际是按照配置规则的顺序从上到下,从前到后进行匹配的。
   如果匹配上规则,即明确表名是阻止还是通过,数据包就不在向下匹配新规则了

   如果所有规则中没有明确表明是阻止还是通过,也就是没有匹配规则,向下进行匹配 ,直到匹配默认

   规则得到明确的阻止还是通过。

   防火墙默认规则是所有的规则执行完才会执行。

8、iptables的工作流程图。


                             FILTER           ============>            MANGLE

                                   INPUT            内核                  OUTPUT

                            ∧                                ∨

                            ∧                                NAT

                           MANGLE                                      OUTPUT 

                           INPUT                               ∨

                            ∧                            FILTER OUTPUT

                            ∧                                ∨

    MANGLE    ======>  NAT  ======== ==== >MANGLE =======>FILTER============>MANGLE========---->NAT

   PREROUTING      PREROUTING   FORWORD   FORWARD        FORWARD            POSTROUTING    POSTROUTING