防火墙长连接和短连接
一、防火墙长连接和短连接的概念
1、长连接的概念
长连接功能用于设置特定数据流的超长保持时间,让数据流的会话连接保持时间不受全局老化时间限制。其实这项特殊业务与目前业界的状态防火墙的实现机制是存在矛盾的。
为保证内部网络的安全,防火墙上的各会话缺省保持时间都相对较短,例如:缺省情况下,TCP的保持时间为1200s,UDP的保持时间为120s。
正常情况下,当一个TCP会话的两个连续报文到达防火墙的时间间隔大于该会话的保持时间时,为保证网络的安全性,防火墙将从会话表中删除相应会话信息。后续报文到达防火墙后,防火墙根据自身的转发机制,丢弃该报文,导致连接中断。在实际应用中,用户需要查询服务器上的数据,这些查询时间间隔远大于TCP/UDP默认的会话保持时间。此时需要在防火墙上保持TCP连接一段相对较长的时间。当某会话的报文长时间没有到达防火墙后再次到达时,仍然能够通过防火墙。这种技术就是长连接。
2、短连接的概念
某些应用频繁发起连接,如果不缩短其会话保持时间,则会使防火墙的会话数爆涨,进而拖垮防火墙。保持太多的会话对防火墙没有必要,相反,当系统资源过多地用在会话保持的话,会相应损害每秒生成会话的能力,这是一个同样重要的性能指标。设定过高的会话数量,却降低了每秒生成会话的能力,其结果,只能是保留一些永远用不到的会话虚数而已。
因此,我们可以根据网络应用环境的实际需求,缩短某些会话的保持时间,从而减少防火墙的工作负荷,提高网络性能。
二、防火墙长连接和短连接的配置方法
下面我们以华为Eudemon防火墙为例,介绍长连接和短连接的配置方法。
1、华为Eudemon防火墙中,配置长连接功能,需要进行如下操作。
1)执行命令system-view,进入系统视图。
2)执行命令acl 3000 ,创建高级ACL。
3)执行命令rule配置高级ACL规则,
例如:rule 0 permit ip source 192.168.1.12 0 destination 10.10.20.3 0
建议不要配置源地址或目的地址范围过大的ACL规则,以防影响防火墙的性能。本例中配置的是从192.168.1.12主机到10.10.20.3主机的数据流。
4)执行命令quit,退回系统视图。
5)执行命令firewall long-link aging-time ,配置长连接的老化时间。范围为1小时~480小时,缺省值为168小时。
例如:firewall long-link aging-time 10
6)执行命令firewall interzone [ vpn-instance vpn-instance-name ] zone-name1 zone-name2,进入安全域间视图。
例如:firewall interzone trust untrust
7)执行命令firewall long-link acl-number { inbound | outbound },配置长连接功能。
例如:firewall long-link 3000 inbound
2、华为Eudemon防火墙中,修改会话连接保存的时间,需要进行如下操作。
当防火墙缺省的会话连接保持的时间不能满足现有网络的需求时,可以进行如下操作,重新设置。
1)执行命令system-view,进入系统视图。
2)执行命令firewall session aging-time { dns\ftp\smtp\h323\udp\tcp....} interval,配置会话表老化时间。
可以根据以上各种协议调整会话连接保持的时间,时间取值范围为1秒~65535秒。
3)此外Eudemon防火墙还可以通过firewall session aging-time accelerate enable命令开启会话表项加速老化功能,用于避免在防火墙表项老化时间设置过长的情况下导致防火墙表项占满。
文章出处:http://www.net1980.com/2010/12/25/firewall-long-link/
推荐阅读
-
Three.js - 基本材质、深度材质、法线材质、面材质、兰伯特材质、Phong 材质、着色器材质、直线和虚线、连接材质 - Three、法线网格材质
-
算法工程师 - SQL 高级:自连接和子查询的魔力
-
莫兰迪颜色表和 RGB 至十六进制颜色转换连接
-
连接 SFTP 上传和下载文件的 java 实现
-
使用 V-2ray 和 V-2rayN 设置本地代理服务器,供局域网用户连接。
-
[MySQL] 多表查询详解 - [多表关系/内部和外部自连接/子查询/多表查询案例链接] (cv 代码和案例演示可用)
-
如何通过 QQ 在苹果电脑上实现远程屏幕连接和帮助
-
MySql C++ 调用库 连接器/c++ 编译和接口包 [I] mysql 数据库安装
-
Linux 可生成无私钥和公钥的连接
-
使用 sqlcmd 命令在 Linux 上连接和查询 SQL Server