武汉中继者-原创-在Cisco ASA上部署 Cluster技术

三石心声:

随着移动互联网,大数据,云计算和数据中心的发展,业务对网络的需求越来越大。对安全性的要求也越来越高,因防火墙上具备大量的安全防护业务,比如域间策略,包过滤,DPI,SSLVPN,安全策略等,那么单一的防火墙已经成为限制网络带宽增长的瓶颈,极大地制约了网络的实际应用。

通过前面几篇文章,大家对ASA Failover的学习,知道在ASA上做Failover Active-Active部署,这样可以提高网络的吞吐量,可是别忘了哦!Failover中最多只能绑定2个物理防火墙。如果满足不了转发性能的需求怎么办呢?本文将为大家介绍ASA Cluster技术,最多可以绑定16个物理设备。大大提高网络网络性能。

有朋友会问:到底什么是ASA Cluster呢?ASA CLuster就是将多台物理ASA虚拟成一台ASA(Cluster)对外提供服务,实现流量的冗余备份和负载分摊。

  欢迎大家回复留言,告诉我们你还想了解关于安全方向的哪些资讯



Part 1 - ASA Cluster介绍

1. 部署ASA Cluster后,Cluster总体性能比例如下:

  • Cluster吞吐量为所有物理成员ASA吞吐量的70%。

  • Cluster 支持Connection(状态化表项条目)为所有物理成员ASA的60%

  • Cluster每秒处理的Connection数量为所有物理成员ASA的50%。

例如,8台ASA 5585-X独立使用,每台设备吞吐量为10 Gbps,但是将8台设备加入到同一个Cluster中,则Cluster的最大吞吐量为10 Gbps x 8 x 70%=56 Gbps.

二.CLuster 成员介绍和角色选举

1. 端口角色介绍

  • Cluster中,有且只有一台物理ASA作为Master,其他ASA均为Slave.

  • Master角色选举根据优先级判定,优先级数值越小,优先级越高,手动配置,范围是1-100.

  • 其他ASA设备均为Slave.

  • 所有业务配置均在Master设备上执行,配置会自动同步到其他Slave设备.

2. Master选举过程

  • 将一台成员ASA加入到Cluster时,它每3秒发送一次选举请求,

  • 当有其他具备更高优先级的成员设备回复选举请求,则优先级高的成员为Master,自己为Slave.

  • 如果等待45秒,没有收到比自己更高优先级的成员设备回复选举请求,则自己成为Master.

  • 如果45秒后,收到跟高优先级的成员回复选举请求,则自己依然为Master,不发生角色抢占.

三.Cluster接口和链路介绍

1. Cluster interface介绍

  • Cluster内有多台ASA,为了充分利用设备资源,则进出Cluster的流量都需要做负载分摊

  • Cluster interface用在Cluster与网络设备(交换机或者路由器)互联传递负载均衡的流量.

  • Cluster interface提供了2种连接方式,Spanned EtherChannel(链路捆绑)和Individual interfaces(独立接口)

Spanned EtherChannel(Cisco推荐):

允许将同一个Cluster中的不同成员的一个或多个接口加入到同一个EtherChannel与一台网络设备(交换机或路由器)对接,EtherChannel则可以提供负载分摊.EtherChannel可配置在routed和transparent模式.routed模式中,为Ether Channel配置单一IP即可,transparent模式中,为BVI配置IP即可.

如图1所示,ASA1-ASA4组成一个Cluster,为了实现流量负载分摊,各自添加ten0/8到Spanned Port-channel 1中,添加ten0/9到Spanned port-channal 2中,分别与inside交换机和outside交换机互联,Ether Channel为

进出Cluster的流量提供了负载分摊.

图1:Spanned EtherChannel互联

640?wx_fmt=other&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1


Individual interfaces:

独立接口,只能配置在Routed模式,所以与交换机互联的每个接口需要一个Local IP地址,用于运行路由协议时传递路由的下一跳地址,同时Master设备需要一个Main地址,用于Cluster管理使用,所有IP均在Master设备上配置,Master设备需要创建一个Pool,用于给Slave设备分配Local IP.流量负载均衡由路由协议提供.

如图2所示,ASA1-ASA4组成一个Cluster,各自将接口ten0/8和ten0/9分别与inside交换机,outside交换机互联.每个接口拥有独立IP地址,当运行动态路由协议是,负载均衡由路由协议提供(交换机从Cluster学习到的同一条路由将有4个下一跳).

图2:Individual interfaces互联

640?wx_fmt=other&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1


2. CLuster Control Link介绍

  • Cluster接口用于传递控制层面和某些特殊数据流量


控制层面流包括:

A.Master 选举的流量

B.Master到Slave配置同步的流量

C.健康监控的流量

数据流量包括 :

A.状态化信息同步

B.状态化信息拥有着查询消息

  • 不能使用子接口,managerment接口,作为Cluster Control Link接口.推荐使用Ether Channel方式部署.

两台物理交换机使用VSS技术虚拟成为一台逻辑交换机,ASA1,ASA2,ASA3链路使用Ether Channel方式与逻辑交换机互联.

图3:ASA使用Cluster Control Link与交换机互联

640?wx_fmt=other&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1


3. ASA Cluster中状态化表项的管理问题

大家都知道,数据的访问是一去一回,Cisco ASA属于状态化防火墙,也就是管理员只需要放行数据流的出站,不需要管数据流的进站,因为当数据出站时,防火墙为数据流建立了状态化表项,当数据流回来时,查询到该表项及可放行。

  • Client发送SYN消息到ASA1,ASA1内部会创建状态化表项,对Client的访问做记录,然后将SYN消息转发到Server。第一次握手完成。

  • Server收到SYN消息,回复SYN/ACk消息(第二次握手),但是由于网络负载均衡的原因,流量未沿着原路ASA1返回,却发送到了ASA3,可ASA3无关于Client访问Server的状态化记录,所以SYN/ACK消息在ASA3上将被丢弃。TCP连接建立不成功

如图4所示,ASA1-ASA3部署一个Cluster对外提供服务,Client和Server间需要建立一个TCP连接,三次握手建连接。

图4:建立一个新的状态化表项

640?wx_fmt=other&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1


4. ASA Cluster中状态化表项的管理解决方案

基于以上数据流来回路径不一致,导致访问不成功的问题,ASA Cluster是怎么完成的呢?ASA Cluster为每一个数据连接分配如下几个角色。

A. Owner:通常是CLuster中受理流量的成员ASA,对于一个连接来说,只有一个owner,当owner故障,由Director指定新的Owner。

B. Backup owner:owner的备份,从owner备份TCP/UDP的状态化信息,当owner故障,状态化信息可以无缝切换到新的owner,实现流量不中断。

C. Director:响应forward对owner的查询请求,当owner接受到一个连接,它将根据源目地址和端口号通过HASH算法找到一台成员ASA为Director,每一股流量,都有唯一的一个Director,当回向流量被一台非owner成员收到,因本地无状态化表项,会向Director查询这个回向流量的owner,然后将流量发给owner成员。

D. Forwarder:负责将回向流量转发给owner。

如图5所示Client发送SYN到ASA1,所以ASA1成为这股流量的owner,owner将SYN消息转发给Server,Server回复SYN/ACK到ASA3,ASA3为Forwarder,此时ASA3上无状态化表项,向Director查询owner在哪,然后将回向流量SYN/ACK发送到ASA1处理。owner再向Director发送状态化信息更新。此时Director同时扮演Backup owner的角色。后续回向流量将直接从forwarder到owner,无需查询。

图5:数据流转发过程

640?wx_fmt=other&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1


四.ASA Cluster内部高可用性

1. 成员ASA状态监控

  • Master设备和Slave设备通过Cluster control link相互监控彼此的健康状态.

2. 接口状态监控

  • 所有的成员监控自己命名接口的状态,并把状态改变信息发送到Master.

3. 故障切换

  • 当一个Cluster 中成员设备故障,该成员设备的所有状态化信息将通过Control cluster link同步到Master.

  • 当一个Cluster中Master设备故障,则在剩余Slave设备中选择出最最高优先级的设备作为Master.

Part 2 - ASA Cluster部署要求
一. License许可

关于不同型号设备对License要求如下表所示:

设备型号 License要求 支持成员设备数量
ASA 5585-X Cluster License 16
ASA 5516-X Base License 2
ASA 5512-X Security Plus license 2
ASA 5515-X,ASA 5525-X,ASA 5545-X,ASA 5555-X Base License 2
其他 不支持 _
二 .ASA Cluster部署需求
  1. 所有成员设备必须满足如下条件,才可部署Cluster:

  2. 相同模块有相同DRAM(动态随机存取存储器)

  3. 完全一样的系统版本

  4. 安全模式必须一致,single或者multiple.

  5. 当安全模式为single时,Firewall模式必须同时为routed或者transparent

  6. 当新成员加入时,必须和Master使用相同SSL加密算法从Cluster Control Link 同步配置信息


三.Cluster 不支持的特性

1. 如下特性Cluster 不支持,命令被拒绝。

• Unified Communication features that rely on TLS Proxy

• Remote access VPN (SSL VPN and IPsec VPN)

• The following application inspections:

 CTIQBE

 H323, H225, and RAS

 IPsec passthrough

 MGCP

 MMP

 RTSP

 SCCP (Skinny)

 WAAS

 WCCP

• Botnet Traffic Filter

• Auto Update Server

• DHCP client, server, and proxy. DHCP relay is supported.

• VPN load balancing

• Failover

• ASA CX module

Part 3 - ASA Cluster实验案例
一.实验拓扑

640?wx_fmt=other&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1

二.实验需求

如上图所示,完成如下需求:

1.配置一个Cluste,成员为ASA1-ASA3。

  • ASA1-ASA3的ten0/6和ten0/7配置为Cluster Control Link与SW1以EtherChannel互联。

  • ASA1-ASA3的ten0/9与SW2以Spanned EtherChannel方式互联,作为outside网络

  • ASA1-ASA3的ten0/8与SW1以Spanned EtherChannel方式互联,作为inside网络。

2.配置完成后检查CLuster状态。

三.设备和IP地址说明

1. 交换机VLAN规划

交换机 VLAN 作用 接口
SW1 10 Cluster Control Link ten0/6,ten0/7,ten1/6,ten1/7,ten2/6,ten2/7
SW1 20 Management ten0/10,ten0/11,ten0/12
SW1 30 Inside ten0/8,ten1/8,ten2/8
SW2 40 Outside ten0/9,ten1/9,ten2/9

2. 设备IP地址分配

设备 接口 IP地址
ASA1 Cluster Control Link 192.168.1.1/24
ASA2 Cluster Control Link 192.168.1.2/24
ASA3 Cluster Control Link 192.168.1.3/24
ASA1 Mangement 10.1.1.1/24
ASA2/ASA3 Mangement 10.1.1.2-3/24(随机分配)
Cluster Inside 10.10.10.5/24
Cluster Outside 209.165.201.1/27
四.实验配置

1.按照交换机的vlan规划,将接口加入到相应VLAN中,并且在SW1配置Port-ch4与Cluster 的Inside接口互联,SW2配置port-ch1与Cluster的Outside互联。

  • SW1配置

VLAN 10

name CCL


VLAN 20

MGMT


VLAN 30

Inside


interface range tengigabitethernet 0/6 -7 

switchport mode access

switchport access vlan 10

channel-group 1 mode on


interface range tengigabitethernet 1/6 -7

switchport mode access

switchport access vlan 10

channel-group 2 mode on


interface range tengigabitethernet 2/6 -7

switchport mode access

switchport access vlan 10

channel-group 3 mode on


interface range tengigabitethernet 0/10 -12

switchport mode access

switchport access vlan 20


interface range tengigabitethernet 0/8,tengigabitethernet 1/8,tengigabitethernet 2/8

switchport mode access

switchport access vlan 30

channel-group 4 mode on

  • SW2配置

 VLAN 40
name Outside

interface range tengigabitethernet 0/9,tengigabitethernet 1/9,tengigabitethernet 2/9
switchport mode access
switchport access vlan 40
channel-group 1 mode on 

2.ASA 1 Master 初始化配置

  • 配置Cluster Control Link使用Spanned Ether Channel方式与SW1互联。

  • 将ASA1加入到Cluster并指定Cluster Control Link,并且配置Cluster Control Link的IP地址。

 cluster interface-mode spanned force

interface tengigabitethernet 0/6
channel-group 1 mode on
no shutdown

interface tengigabitethernet 0/7
channel-group 1 mode on
no shutdown

interface port-channel 1
description CCL

cluster group cluster1local-unit asa1
cluster-interface port-channel1 ip 192.168.1.1 255.255.255.0
priority 1
enable

3.ASA2 Slave 初始化配置

  • 配置需求同ASA1一致

interface tengigabitethernet 0/6

channel-group 1 mode on

no shutdown


interface tengigabitethernet 0/7

channel-group 1 mode on

no shutdown


interface port-channel 1

description CCL


cluster group cluster1

local-unit asa2

cluster-interface port-channel1 ip 192.168.1.2 255.255.255.0

priority 2

enable

4.ASA3 Slave初始化配置

  • 配置需求同ASA1一致

interface tengigabitethernet 0/6

channel-group 1 mode on

no shutdown


interface tengigabitethernet 0/7

channel-group 1 mode on

no shutdown


interface port-channel 1

description CCL


cluster group cluster1

local-unit asa3

cluster-interface port-channel1 ip 192.168.1.3 255.255.255.0

priority 3

enable

5.ASA1 Master 接口配置

如下配置会自动同步到其它Slave设备。

  • 为Matser设备指定Management接口IP地址,并为其他Slave设备指定地址池

  • 将Cluster 中Inside方向接口以Spanned Ether Channel方式与SW1互联。并指定IP地址。

  • 将Cluster 中Outside方向接口以Spanned Ether Channel方式与SW2互联。并指定IP地址

ip local pool mgmt 10.1.1.2-10.1.1.9


interface management 0/0

nameif management

ip address 10.1.1.1 255.255.255.0 cluster-pool mgmt

security-level 100

management-only

no shutdown


interface tengigabitethernet 0/8

channel-group 2 mode active

no shutdown


interface port-channel 2

port-channel span-cluster

nameif inside

ip address 10.10.10.5 255.255.255.0


interface tengigabitethernet 0/9

channel-group 3 mode active

no shutdown


interface port-channel 3

port-channel span-cluster

nameif outside

ip address 209.165.201.1 255.255.255.224

6.查看CLuster状态,Cluster状态正常。

ciscoasa#show cluster info

ASA1# sh cluster info

Cluster Cluster1: On

Interface mode: spanned

This is “ASA1” in state MASTER

ID        : 0

Version   : 9.1(4)

Serial No.: FCH170XXXX

CCL IP    : 192.168.1.1

CCL MAC   : 0006.f6e6.4432

Last join : 11:56:49 UTC Jan 9 2019

Last leave: N/A

Other members in the cluster:

  Unit “asa2” in state SLAVE

  Unit “asa3” in state SLAVE

ID        : 1

Version   : 9.1(4)

Serial No.: FCH170XXXX

CCL IP    : 192.168.1.2

CCL MAC   : 0006.f6e6.4426

Last join : 12:33:33 UTC Jan 9 2019

Last leave: N/A

ID        : 2

Version   : 9.1(4)

Serial No.: FCH170XXXX

CCL IP    : 192.168.1.3

CCL MAC   : 0007.f6c6.5434

Last join : 12:33:33 UTC Jan 9 2019

Last leave: N/A



来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69904908/viewspace-2637173/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/69904908/viewspace-2637173/

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
完整版:https://download.csdn.net/download/qq_27595745/89522468 【课程大纲】 1-1 什么是java 1-2 认识java语言 1-3 java平台的体系结构 1-4 java SE环境安装和配置 2-1 java程序简介 2-2 计算机中的程序 2-3 java程序 2-4 java类库组织结构和文档 2-5 java虚拟机简介 2-6 java的垃圾回收器 2-7 java上机练习 3-1 java语言基础入门 3-2 数据的分类 3-3 标识符、关键字和常量 3-4 运算符 3-5 表达式 3-6 顺序结构和选择结构 3-7 循环语句 3-8 跳转语句 3-9 MyEclipse工具介绍 3-10 java基础知识章节练习 4-1 一维数组 4-2 数组应用 4-3 多维数组 4-4 排序算法 4-5 增强for循环 4-6 数组和排序算法章节练习 5-0 抽象和封装 5-1 面向过程的设计思想 5-2 面向对象的设计思想 5-3 抽象 5-4 封装 5-5 属性 5-6 方法的定义 5-7 this关键字 5-8 javaBean 5-9 包 package 5-10 抽象和封装章节练习 6-0 继承和多态 6-1 继承 6-2 object类 6-3 多态 6-4 访问修饰符 6-5 static修饰符 6-6 final修饰符 6-7 abstract修饰符 6-8 接口 6-9 继承和多态 章节练习 7-1 面向对象的分析与设计简介 7-2 对象模型建立 7-3 类之间的关系 7-4 软件的可维护与复用设计原则 7-5 面向对象的设计与分析 章节练习 8-1 内部类与包装器 8-2 对象包装器 8-3 装箱和拆箱 8-4 练习题 9-1 常用类介绍 9-2 StringBuffer和String Builder类 9-3 Rintime类的使用 9-4 日期类简介 9-5 java程序国际化的实现 9-6 Random类和Math类 9-7 枚举 9-8 练习题 10-1 java异常处理 10-2 认识异常 10-3 使用try和catch捕获异常 10-4 使用throw和throws引发异常 10-5 finally关键字 10-6 getMessage和printStackTrace方法 10-7 异常分类 10-8 自定义异常类 10-9 练习题 11-1 Java集合框架和泛型机制 11-2 Collection接口 11-3 Set接口实现类 11-4 List接口实现类 11-5 Map接口 11-6 Collections类 11-7 泛型概述 11-8 练习题 12-1 多线程 12-2 线程的生命周期 12-3 线程的调度和优先级 12-4 线程的同步 12-5 集合类的同步问题 12-6 用Timer类调度任务 12-7 练习题 13-1 Java IO 13-2 Java IO原理 13-3 流类的结构 13-4 文件流 13-5 缓冲流 13-6 转换流 13-7 数据流 13-8 打印流 13-9 对象流 13-10 随机存取文件流 13-11 zip文件流 13-12 练习题 14-1 图形用户界面设计 14-2 事件处理机制 14-3 AWT常用组件 14-4 swing简介 14-5 可视化开发swing组件 14-6 声音的播放和处理 14-7 2D图形的绘制 14-8 练习题 15-1 反射 15-2 使用Java反射机制 15-3 反射与动态代理 15-4 练习题 16-1 Java标注 16-2 JDK内置的基本标注类型 16-3 自定义标注类型 16-4 对标注进行标注 16-5 利用反射获取标注信息 16-6 练习题 17-1 顶目实战1-单机版五子棋游戏 17-2 总体设计 17-3 代码实现 17-4 程序的运行与发布 17-5 手动生成可执行JAR文件 17-6 练习题 18-1 Java数据库编程 18-2 JDBC类和接口 18-3 JDBC操作SQL 18-4 JDBC基本示例 18-5 JDBC应用示例 18-6 练习题 19-1 。。。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值