APP下载

双链路保障互联网视频点播

2020-08-07合肥马涛

网络安全和信息化 2020年7期
关键词:双机会话视图

■ 合肥 马涛

编者按:笔者所在的公司与某互联网平台合作,开始向用户提供该平台的视频点播服务,用户可以通过有线电视机顶盒点播该平台的视频节目。那么,如何选择与云端的对接链路呢?本文将作详细介绍。

平台视频点播业务不但需要保证本地CDN 服务器与云端之间的通信安全、高效和可靠,还要考虑到投入的性价比。考虑到安全可靠性,专线是对接链路的首选。专线有着以下优点:

1.业务安全性高,传输安全可靠。

2.相对的传输质量高,独享带宽,不会有较大的网络波动。

3.采用以太网口接入,不需另外购买传输设备,不需占用更多的槽位,接入方便。

4.对用户的IP 地址、内部路由等完全透明,用户可以自主管理内部的IP 网络和路由,具有自我管理的IP环境。

虽然专线的优点很多,我们也不能忽视租用专线成本过高的缺点,既要保证数据传输的安全性,同时还具备接入方式灵活、扩展性好、支持多业务种类等,并且还不用额外支出专线那样的高额的租费,而IPSec VPN 构建的虚拟专网正是具备了这样的优点。但是IPSec VPN 的带宽会受到互联网环境的影响,波动可能不可预测。

所以,在综合考虑了网络的可靠性和需要投入的成本后,我们确定了使用第三方的专线接入作为主用线路,并选择了构建IPSec VPN 虚拟专网作为备用线路。

下面是笔者在这次网络构建中遇到的一些情况和大家分享一下。

图1 网络结构拓扑

出口防火墙的双机热备

为了保证网络的安全性,我们需要在系统的出口部署防火墙等网络安全设备。而为了提升网络的可靠性,我们部署了两台高性能的防火墙,并设置了双机热备,互为备份的两台防火墙会通过备份链路定时向另一台发送状态协商报文,协商进入同步状态后开始备份对端的会话、ALG 表项和黑名单等重要信息,进入同步状态后某段时间中两台防火墙上的业务状态是一致的。

当其中一台防火墙发生故障时,在转发层面利用VRRP 或动态路由(例如OSPF)机制将业务流量切换到另一台防火墙,由于另一台防火墙已经备份了故障设备上的会话等信息,业务数据流便可以从热备的防火墙上直接通过,从而在很大程度上避免了网络业务的中断。

双机热备解决方案根据组网情况有两种工作模式:主备模式和负载分担模式。在这两种模式中,设备的角色根据是否承担流量来决定,有流量经过的设备即为主设备,无流量经过的设备即为备份设备。

主备模式下的两台防火墙,其中一台作为主设备,另一台作为备份设备。主设备处理所有业务,并将产生的会话信息传送到备份设备进行备份;备份设备不处理业务,只用做备份。当主设备故障,备份设备接替主设备处理业务,从而保证新发起的会话能正常建立,当前正在进行的会话也不会中断。

而负载分担模式下,两台设备均为主设备,都处理业务流量,同时又作为另一台设备的备份设备,备份对端的会话信息。当其中一台故障后,另一台设备负责处理全部业务,从而保证新发起的会话能正常建立,当前正在进行的会话也不会中断。

在具体使用中,是否要启用双机热备,还是要看防火墙内所接业务的复杂程度来进行选择。比如图1 中,两台防火墙通过VRRP 实现路由的备份,设备没有开启双机热备。

假如Trust 区域的某设备要去访问Untrust 区域的资源,TCP 数据流第一个SYN报文从Firewall 1 转发出去,当Firewall 1 出 现 故障的时候,Firewall 2 变成Master,而对方回应的SYNACK 到达Firewall 2 的时候由于是从Untrust 到Trust区域,策略默认是禁止的,而且设备本身又没有会话,这个报文就会被丢弃,TCP 连接建立失败。

图2 网络结构拓扑

但是,TCP 协议本身有超时和重传确认机制,一旦超过老化时间,两端都会删除当前的TCP 连接,重新发起建立过程,此时,来回报文都从Friewall 2 转发,业务正常,除了TCP 或者UDP 等协议自身存在老化时间外,大部分上层业务系统也有一些重传和确认机制,当第一次连接失败后,也能够重新发起连接,所以最终也是可以用的。

另外当Firewall 1 出现 故 障, Firewall 2 变 成Master 后,如果是新建立的连接,不管是TCP、UDP、ICMP还是其它应用,全部都经过Firewall 2 转发,业务是完全没有问题的。

但是如果两台防火墙采用OSPF 实现负载分担,比如图2 中,Trust 区域的某设备要去访问Untrust 区域的资源,TCP 数据流第一个SYN报文被丢弃之后,TCP 连接建立失败。尽管TCP 超时后会再次发起连接,但是如果上下两台路由器等价路由的Hash 方式不变,报文会一直按着之前的路径转发,TCP 连接就会一直失败。

这个时候如果两台防火墙开启双机热备,当SYN报文从Firewall 1 转发出去以后立即把会话同步给Firewall 2,Firewall 2 收到SYN-ACK 报文后,由于有会话,就不会再去查策略,报文就能正常转发。

所以,在两台防火墙完全主备部署的情况之下,即使不使用双机热备,在设备故障切换时只是会影响业务的切换时间,但不会完全导致业务不可用;对于新建连接,只是增加一次会话建立时间,对数据转发没有任何影响。

而当两台防火墙做负载分担,而且数据流量存在来回路径不一致的时候,防火墙必须开启双机热备功能,这时就要综合考虑防火墙的会话性能了。

不同终端用户的路径选择

前面说过,我们这次的业务是针对有线电视机顶盒用户的,只允许机顶盒终端通过专线去访问点播资源,而网内的宽带用户使用的移动终端、电脑终端仍然必须通过公网去访问这些资源。我们网内的有线电视机顶盒终端和电脑终端是分配了不同网段的IP 地址的,这不仅对机顶盒终端的安全性有了保障,还为我们区分用户路径提供了不少方便。

我们在出口路由器上设置了流策略Traffic Policy,所有机顶盒终端的源地址去访问指定的目的地址,下一跳都指向了点播系统的出口防火墙。

流策略Traffic Policy分为三部分:

1. 流 分 类(Classifier)模板

定义流量类型。一个Classifier 可以配置一条或多条if-match 语句,ifmatch 语句中可以引用ACL规则。不同的Classifier模板可以应用相同的ACL 规则。一个ACL 规则可以配置一个或多个Rule 语句。

2.流动作(Behavior)模板

用于定义针对该类流量可实施的流动作。一个Behavior 可以定义一个或多个动作。

3.流策略(Traffic Poli cy)模板

将流分类Classifier 和流动作Behavior 关联。当Traffic Policy 模板设置完毕之后,需要将Traffic Policy 模板应用到接口上才能使策略生效。

我们先创建一个ACL 规则,将指定的源地址和目的地址写进去,然后配置流分类,执行命令traffic classifier classifiername operator and/or precedence x,创建一个流分类并进入该视图,并绑定之前创建的ACL 规则。

再执行命令traffic behavior,创建一个流动作,并设定动作,这里我们设置的是下一跳指向点播出口防火墙;然后配置流策略,执行命令traffic policy,创建一个流策略并进入流策略视图,或进入已存在的流策略视图。

最后,在接口或子接口视图上应用流策略,执行命令traffic-policy policyname inbound /outbound 就大功告成了。

这里需要注意的是,由于我们的出口路由器是负载均衡模式,在定义流动作的时候,可以重定向多个目的地址,具体命令格式会由于设备的不同厂家不同软件版本而不同;并且在定义流策略时,根据需要,可以在一个流策略下匹配多条流分类流动作以作用到不同的设备端口上,来满足对不同数据流向的控制。

IPSec 通道的建立

我们在出口防火墙上建立IPSec 通道,作为专线的备份线路。具体配置指令可能不同厂家不同软件版本的设备有所不同,但是大致的关键步骤应该都是一样的。

这边使用的是华为的USG 防火墙,配置指令如下:

[FW]acl 3005

[FW1-acl-adv-3005]rule permit ip source * . * . * . * * . * . * . * d e s t i n a t i o n *.*.*.* *.*.*.* //配置感兴趣流

[FW1-acl-adv-3005]ike proposal 1 // 创 建IKE 安全提议,并进入IKE 安全提议视图

[FW1-ike-proposal-1]encryption-algorithm aescbc //配置加密算法

[FW1-ike-proposal-1]authentication-method pre-share //配置认证方法

[FW1-ike-proposal-1]authentication-algorithm sha1 //配置认证算法

[FW1-ike-proposal-1]dh group1 //配置DH 组标识

[FW1-ike-proposal-1]ike peer a // 创 建IKE Peer,并进入IKE Peer 视图

[FW1-ike-peer-a]ikeproposal 1 //引用已配置的IKE 安全提议

[FW1-ike-peer-a]preshared-key abcdefg // 配置预共享密钥认证,abcdefg是秘钥

[F W 1-i k e-p e e r-a]remote-address *.*.*.* //指定对端发起IKE 协商的地址

[FW1-ike-peer-a]ipsec proposal name //创建安全提议,并进入安全提议视图

[FW1-ipsec-proposalname]transform esp // 配置传送数据时采用的安全协议

[FW1-ipsec-proposalname]esp authenticationalgorithm sha1 // 配 置ESP 方式采用的认证算法

[FW1-ipsec-proposalname]esp encryptionalgorithm aes //配置ESP协议使用的加密算法

[FW1-ipsec-proposalname]ipsec policy map1 10 isakmp //创建安全策略,并进入安全策略视图

[FW1-ipsec-policyisakmp-map1-10]security acl 3005 //在安全策略中引用已创建的感兴趣流

[FW1-ipsec-policyisakmp-map1-10]proposal name //在安全策略中引用已创建的安全提议

[FW1-ipsec-policyisakmp-map1-10]ike-peer a //在安全策略中引用IKE Peer

[FW1-ipsec-policyisakmp-map1-10] interface GigabitEthernet 0/0/1

[FW1-GigabitEthernet0/0/1]ipsec policy map1 //把安全策略应用到接口

配置完成以后,使用命令display ike sa 和display ipsec sa 可以查看通道建立的情况,基本上通道两边的配置参数一致的话,就不会有什么问题了。

由于我们设置的专线路由的优先级大于IPSec 通道的优先级,只有在专线链路中断之后,数据才会通过IPSec 通道进行传输,使得IPSec VPN 既能作为链路的有效备份,又不会干扰业务的正常运营。

猜你喜欢

双机会话视图
液氧煤油发动机氧系统双机耦合振荡频率特性
QQ和微信会话话轮及话轮转换特点浅析
双机、双桨轴系下水前的安装工艺
视图
Y—20重型运输机多视图
SA2型76毫米车载高炮多视图
基于集群节点间即时拷贝的会话同步技术研究①
Django 框架中通用类视图的用法
年龄大小的种种说法
蓝天双雄——歼八II双机编队