防火墙的五元组:源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包