• 防火墙知识总结


    防火墙的五元组:源IP,目的IP,源端口,目的端口,协议。
    
    防火墙配置文件中一个策略中都有什么,有哪些元素:源地址,源端口,目的地址,目的端口,源zone,目的zone,服务,时间,状态,描述。其中zone、时间、状态都是唯一的其他均可多个。
    
    源地址:
        地址簿:
            IP地址具体展现的几种方式:
                IP/掩码:10.1.1.1/16或者10.1.1.1 255.255.0.0
                ip范围:10.1.1.1-10.1.1.100或range
                
            引用地址簿:
            
            山石eg:
                address FCI-10.1.89.14
                    ip 10.1.89.14/32
                exit
                address FCI-10.1.89.15
                    ip 10.1.89.15/32
                exit
        
        地址组:
            同上地址簿的IP地址:具体差别需要看手册文档
            引用地址簿:
            引用地址组:
            
            山石eg:
            address DNS-DENY-G
                member 10.1.88.74/32
                member DOC-10.1.88.7
                member FAQS-10.1.88.6
                member intra-10.1.88.12
                member RPTS-10.1.88.1
                member SUMMIT-10.1.88.80
                member ZH-10.1.88.187
                description trust
            exit
            address DNS-GROUP-88
                member ANTIV-10.1.88.50
                member DNS-10.1.88.5
                member DNS-10.1.88.71
                member DNS-10.1.88.72
                description trust
            exit
            
        区分A、B、C类地址。(提供接口可由用户自定义各类地址的默认掩码)
            A类地址的第一组数字为1~126。注意,数字0和 127不作为A类地址,数字127保留给内部回送函数,而数字0则表示该地址是本地宿主机(代表你自己的主机),不能传送。
                (A类网络地址127是一个保留地址,用于网络软件测试以及本地机进程间通信,叫做回送地址(loopbackaddress)。
                    无论什么程序,一旦使用回送地址发送数据,协议软件立即返回之,不进行任何网络传输。含网络号127的分组不能出现在任何网络上。)
                A类地址的缺省掩码是:255.0.0.0 也就是:11111111.00000000.00000000.00000000
            B类地址的第一组数字为128~191。
                B类地址的缺省掩码:255.255.0.0
            C类地址的第一组数字为192~223。现在申请能拿到大多数是C类地址。
                C类地址的缺省掩码:255.255.255.0
                D类用于组播(224.0.0.1---239.255.255.254)
                E类用于实验,各类可容纳的地址数目不同(240.0.0.1---247.255.255.254 )
        
    服务:存在重复协议,需要区分出来。
    eg:可能定义的名称不同,但是里面的内容确实相同的。
        协议:
        端口:
            具体端口:80
            端口范围:80-88
            网络通信:
                目的IP:
                源ip:
                协议:
                    TCP:建立连接:三次握手,客户端给服务端发送请求,服务端响应返回给客户端信息,客户端在发送一个状态给客户端
                    UDP:不用建立,不保证信息送到位,只管把信息丢出去,自认为对方能够收到。
                目的端口:
                源端口:是系统自动提供一个空闲端口。
                
            端口其实分为源端口和目的端口,但是大多数(因为有时候会指定端口)不提供源端口,因为源端口是0-65535之间的任意值。
        描述:可有可无
        
    生成策略:
        选墙:
            路由:
                展现方式同IP地址簿
                IP段(范围)否
            具体方式:需求中的源ip找到对应的路由IP然后由下一跳找到对应的接口,再找到对应的zone,目的IP同源IP。
            
        
        需求跟防火墙比较
            结果:
                满足:
                    包含率:
                        1、只有一个元素不满足,则追加
                        2、两条或以上则新增策略
                        
                不满足:(动作时间状态对比没有具体的顺序,但是可以先比较动作,因为时间和状态有时候会没有)
                    1、动作:拒绝还是允许
                    2、时间:可能已经失效等
                    3、状态:是否被禁用
                    4、zone:相同的zone,则不需要开通(可能会有相同的zone也需要生成策略的需求)
                    5、所有元素均未匹配上
                (返回结果一定要清楚详细,最好是两个列表对应,左侧用户策略,右侧配置策略,存在则对应的该条信息高亮显示。)
                
    系统的主要作用:
    
        防火墙性能优化:防火墙优化,找到防火墙配置中时间到期,或者重复协议等无用的信息,展现给客户,可以进行删除或者合并等操作。
        
        
        生成策略以及提供可分析的信息。
        
    为啥IPV4是四段类似10.11.11.11这样的数字。
        四段每一段十进制的数都是最多八位的二进制,八个二进制的1代表十进制的256,也就是256个数,因为从0开始,所以最大是255.
    掩码具体含义:
    32位,代表四个端都是八个1,11111111:11111111:11111111:11111111
    24位,代表三个段都是八个1,11111111:11111111:11111111:00000000
    20位,代表前两个段是八个1,第三段是四个1:,11111111:11111111:11110000:00000000

    TCP建立连接的三次握手:客户端向服务端发送一个报文,测试是否能够传递过去。服务端接收到后就返回一个响应,此时客户端就知道我现在能够跟服务器互相通信了,但是服务器还不知道能否跟客户端建立 连接,发送的响                      应客户端有没有收到,所以就需要客户端再次发送一个响应给服务器,这样服务器也就知道跟客户端也可以互通信息了。
    TCP断开连接的四次挥手:
        第一次挥手:客户端向服务端发送FIN(finish的缩写)报文段,进入FIN_WAIT_1阶段,告诉服务端我已经没有信息可传输了,准备关闭了。
        第二次挥手:服务端接收到客户端的FIN报文段时,发送ACK报文,告诉他,我知道了,你可以关闭了,使该状态加1,变为FIN_WAIT_2阶段。
        第三次挥手:服务端向客户端发送FIN报文,告诉客户端我也没有信息可传递了,我也准备关闭了,并进入CLOSE_WAIT状态。
        第四次挥手:客户端接收到服务端发送过来的FIN报文,发送ACK给服务端,然后进入TIME_WAIT状态,服务端接收到ACK报文后就进入关闭状态,客户端等待2MSL也就是两个报文最大生存时间之后如果没有收到响应,则                证明服务端已经关闭了,然后客户端也就会关闭。

    
    

    什么是MSL

        MSL是Maximum Segment Lifetime英文的缩写,中文可以译为“报文最大生存时间”,他是任何报文在网络上存在的最长时间,超过这个时间报文将被丢弃。因为tcp报文(segment)是ip数据报(datagram)的数据部分,具体称谓请参见《数据在网络各层中的称呼》一文,而ip头中有一个TTL域,TTL是time to live的缩写,中文可以译为“生存时间”,这个生存时间是由源主机设置初始值但不是存的具体时间,而是存储了一个ip数据报可以经过的最大路由数,每经过一个处理他的路由器此值就减1,当此值为0则数据报将被丢弃,同时发送ICMP报文通知源主机。RFC 793中规定MSL为2分钟,实际应用中常用的是30秒,1分钟和2分钟等。

        2MSL即两倍的MSL,TCP的TIME_WAIT状态也称为2MSL等待状态,当TCP的一端发起主动关闭,在发出最后一个ACK包后,即第3次握手完成后发送了第四次握手的ACK包后就进入了TIME_WAIT状态,必须在此状态上停留两倍的MSL时间,等待2MSL时间主要目的是怕最后一个ACK包对方没收到,那么对方在超时后将重发第三次握手的FIN包,主动关闭端接到重发的FIN包后可以再发一个ACK应答包。在TIME_WAIT状态时两端的端口不能使用,要等到2MSL时间结束才可继续使用。当连接处于2MSL等待阶段时任何迟到的报文段都将被丢弃。不过在实际应用中可以通过设置SO_REUSEADDR选项达到不必等待2MSL时间结束再使用此端口。

    什么是ACK:Acknowledgement
        一种确认字符,在数据通信中,接受者会想传递者一种传输类控制字符。便是发来的数据已确认接收无误。有自己固定的格式长度,有接受者发送给发送者。1代表确认号有效,0代表报文不包含确认信息,忽略确认号字段。

    什么是SYN:同步序列编号(Synchronize Sequence Numbers)
        同步字符,发送信息或者回答之前都会发送SYN用来实现或保持接受者和发送者的同步。

    什么是NAK:否定确认
        否认字符,经检查报文有误,则向发送者发送否认回答字符,告诉发送者报文格式有误,请求重发。
        TCP建立连接三次握手时,第一次发送SYN包,第二次第三次都是SYN+ACK包

  • 相关阅读:
    《Mybatis 手撸专栏》第8章:把反射用到出神入化
    《Mybatis 手撸专栏》第9章:细化XML语句构建器,完善静态SQL解析
    你说写代码,最常用的3个设计模式是啥?
    netty系列之:netty中常用的xml编码解码器
    java高级用法之:JNA中的回调
    netty系列之:protobuf在UDP协议中的使用
    netty系列之:使用Jboss Marshalling来序列化java对象
    可能有人听过ThreadLocal,但一定没人听过ThreadLocal对象池
    java高级用法之:绑定CPU的线程ThreadAffinity
    netty系列之:netty对marshalling的支持
  • 原文地址:https://www.cnblogs.com/qcq0703/p/11437526.html
Copyright © 2020-2023  润新知