最近在项目中遇到了思科负载均衡设备--ACE,由于初次接触思科负载均衡设备,对细节和特性还未完全理解。只对配置步骤有所认识,特此写了该文档。
文档是利用业余时间写的,可能有些地方略显粗糙,望大家谅解。本文中没有图片,逻辑拓扑结构很简单。6500&7600系列产品上插入ACE模块,将需要做负载均衡的VLAN设备插入6500&7600板卡上,只需要建立VLAN,而不建立SVI接口,针对需要做4层交换的VLAN在65和76上的MSFC上配置路由指向ACE模块。与此同时ACE模块配置缺省路由指回65&76的MSFC的VLAN接口上。
MSFC---ACE----(serverfarm---realserver)
==============================
正文如下:
ACE配置笔记
注:笔记源于思科官网配置文档:Application Control Engine Module Getting Started Guide (Software Version A2(3.0))
在6500或7600上使用IOS配置VLAN
Configuring VLANs for the ACE Using Cisco IOS Software
配置如下:
1、 建立VLAN 而不开启三层SVI接口(此处略)
2、 配置VLAN Group组
svclc vlan-group 50 40, 41,60,100,400,500,1000 Vlan-Group组号 50 对应的VLAN40, 41,60,100,400,500,1000
3、配置VLAN Group映射到ACE模块上
svclc module 5 vlan-group 50
3、 配置MSFC支持多个SVI接口并分配到ACE上。(可选命令)
svclc multiple-vlan-interfaces
登陆ACE模块
Router# session slot 5 processor 0 通过此命令来登陆到65或76系列设备上的ACE模块
switch login:
Password:
配置一个管理VLAN在ACE模块上
interface vlan 1000
descripttion Management connectivity on VLAN 1000
ip address 172.25.91.110 255.255.255.0 与65、76上MSFC上的SVI接口同一网段提供ACE与MSFC通信
service-policy input REMOTE_MGMT_ALLOW_POLICY 远程登陆访问策略(入向 input)
配置一条缺省路由在ACE模块上
ip route 0.0.0.0 0.0.0.0 172.25.91.1 缺省路由指向MSFC
配置一个管理登陆访问策略
1、ACE上配置远程管理流量,默认是完全禁止的。
先建立class-map来定义远程管理的流量类型:
class-map type management match-any REMOTE_ACCESS 名字:REMOTE_ACCESS
descripttion Remote access traffic match 增加描述
10 match protocol telnet any 放开telnet,源地址是any
20 match protocol ssh any 放开 ssh 源地址是any
30 match protocol icmp any 放开icmp 源地址是any
2、定义一个policy-map,来调用刚才定义的class-map。
policy-map type management first-match REMOTE_MGMT_ALLOW_POLICY 名字:REMOTE_MGMT_ALLOW_POLICY
class REMOTE_ACCESS 调用class-map 名字:REMOTE_ACCESS
permit 动作为允许
注:也可以按照思科文档上的实例去deny掉一个协议。
The following example shows how to create a policy map that restricts an ICMP connection by the ACE:
host1/Admin(config)# policy-map type management first-action ICMP_RESTRICT_POLICY
host1/Admin(config-pmap-mgmt)# class ICMP-ALLOW_CLASS
host1/Admin(config-pmap-mgmt-c)# deny
3、在ACE上vlan interface的入方向(input方向)上调用这个policy-map
interface vlan 215
descripttion Server-Vlan-IOM 描述
ip address 132.80.241.130 255.255.255.224 VLAN 215的IP地址
alias 132.80.241.129 255.255.255.224 alias地址
peer ip address 132.80.241.131 255.255.255.224 另一个65上的另一块冗余的ACE
no normalization
no icmp-guard
service-policy input REMOTE_MGMT_ALLOW_POLICY 接口input入向调用policy-map
no shutdown
配置一个虚拟ACE关联
Admin/Context配置:
resource-class RC_WEB 资源分类,避免虚拟ACE占用管理ACE资源
limit-resource all minimum 10.00 maximum equal-to-min 限制使用全部资源的10%
创建一个虚拟关联,并指派VLAN 到虚拟关联中。
context VC_WEB
allocate-interface vlan 60
allocate-interface vlan 400
allocate-interface vlan 500
allocate-interface vlan 1000
member RC_WEB
VC_WEB/Context配置:
host1/Admin# changeto VC_WEB
VC_WEB/Admin# show running-config
Generating configuration....
class-map type management match-any REMOTE_ACCESS
descripttion Remote access traffic match
2 match protocol ssh any
3 match protocol telnet any
4 match protocol icmp any
policy-map type management first-match REMOTE_MGMT_ALLOW_POLICY
class REMOTE_ACCESS
permit
service-policy input REMOTE_MGMT_ALLOW_POLICY
interface vlan 400
descripttion Client connectivity on VLAN 400
ip address 10.10.40.1 255.255.255.0
no shutdown
interface vlan 500
descripttion Server connectivity on VLAN 500
ip address 10.10.50.1 255.255.255.0
no shutdown
ip route 0.0.0.0 0.0.0.0 172.25.91.1
配置一个访问控制列表
注:以下是思科文档上的说明
You must configure an ACL on each interface that you want to permit connections. Otherwise, the ACE will deny all traffic on the interface.
access-list INBOUND line 8 extended permit ip any any 创建ACL允许进入ACE的IP流量
interface vlan 400
descripttion Client connectivity on VLAN 400
ip address 10.10.40.1 255.255.255.0
access-group input INBOUND 应用到入向Client VLAN
配置四层交换负载均衡部分
创建一个RealServer
Configuring Real Servers
配置步骤:
创建一个realserver
rserver host RS_WEB1 RealServer 的名字 RS_WEB1
descripttion content server web-one 描述
ip address 10.10.50.10 realserver真实主机的IP地址
inservice 激活
可建立多台realserver,例如:RS_WEB2、RS_WEB3、RS_WEB4、RS_WEB5等等,并且分配给真是服务器IP地址后激活。
创建一个ServerFarm
Creates a real server named RS_WEB1 as type host (the default).
配置步骤:
serverfarm host SF_WEB ServerFarm的名字 SF_WEB
rserver RS_WEB1 80 针对这个主机的协议,如果不跟 eq 则表示所有端口与协议。
inservice 激活
rserver RS_WEB2 80 第二台真实主机加入这个ServerFarm
inservice 救活
可在一个ServerFarm中增加多台RealServer真实主机,使得提供同一服务的主机隶属于这个Farm中,作为一个集群。
创建虚拟服务器流量策略Creating a Virtual Server Traffic Policy
配置步骤:
1、 创建一个7层服务器交换负载均衡策略
Creates a Layer 7 server load-balancing policy map
policy-map type loadbalance first-match PM_LB 名字 PM_LB
class class-default 默认分类
serverfarm SF_WEB 调用serverfarm 名字 SF_WEB(上文中建立的ServerFarm)
2、 创建一个3、4层负载均衡class-map
Creates a Layer 3 and Layer 4 load-balancing class map VS_WEB. The default is match-all.
class-map match-all VS_WEB class-map的名字 VS_WEB
2 match virtual-address 10.10.40.10 tcp eq www 匹配的VIP地址10.10.40.10 协议为WWW
(VIP也是对外访问地址)
3、 创建一个3、4层负载均衡策略policy-map
Creates a Layer 3 and Layer 4 multi-match policy map to direct classified incoming requests to the load-balancing policy map.
policy-map multi-match PM_MULTI_MATCH 名字 PM_MULTI_MATCH
class VS_WEB 调用class-map 名字 VS_WEB
loadbalance vip inservice 针对VIP地址进行负载均衡
loadbalance policy PM_LB 针对策略PM_LB中调用的ServerFarm中的真实主机进行负载均衡 名字PM_LB
配置服务器使用粘连
Configuring Server Persistence Using Stickiness
配置步骤:
1、 创建HTTP-cookie粘连组
sticky http-cookie COOKIE1 STICKYGROUP1 粘连名字为 STICKYGROUP1
cookie insert browser-expire 当HTTP浏览器失效后,在不超时的情况下访问cookie
timeout 3600 超时 3600 毫秒
serverfarm SF_WEB 绑定在SF_WEB这个serverfarm组
2、在负载策略中去调用这个粘连
policy-map type loadbalance first-match PM_LB 7层负载均衡名字 PM_LB
class class-default 默认分类
sticky-serverfarm STICKYGROUP1 调用这个粘连
粘连的作用:
当外部访问主机连接到ServerFarm中的某个主机后,即将被粘连住。
日后再访问的时候就会与这个粘连住的主机进行访问,不会再发查询寻找别的主机。
当被粘连住的主机服务失效后(瘫痪、宕机等)且超过时间后将再次发起服务器查询。
客户发起访问时需查询serverfarm中其余主机,并再次进行粘连。
配置服务器探针 Health Probe
配置步骤:
1、 建立服务器探针
probe http HTTP_PROBE1 建立HTTP探针 名字 HTTP_PROBE1
expect status 200 200 配置一个或一组状态码来回应探针目的,此项必须配置,否则探针失效
2、加载探针到serverfame中
serverfarm host SF_WEB ServerFarm的名字 SF_WEB
probe HTTP_PROBE1 将探针配置到ServerFarm中
rserver RS_WEB1 80
inservice
rserver RS_WEB2 80
inservice
rserver RS_WEB3 80
inservice
rserver RS_WEB4 80
inservice
配置冗余ACE模块
Configuring Redundant ACE Modules
配置步骤: (*注:以下配置步骤均在在Admin/Context下完成)
1、 配置一个FT VLAN
ft interface vlan 60 进入FT interface VLAN 60
ip address 10.10.60.10 255.255.255.0 配置IP地址(对于网段并无具体要求,也可以配置别的C类地址)
peer ip address 10.10.60.11 255.255.255.0 对端设备的IP地址,同一段内
2、 配置一个FT Peer
ft peer 1 FT的对端 注:必须设置为1
heartbeat interval 300 心跳 毫秒
heartbeat count 20 心跳 计数
ft-interface vlan 60 FT SVI接口 VLAN 60
query-interface vlan 1000
3、 配置一个Alias IP Address
给管理VLAN配置alias地址,类似于HSRP地址,双机后MSFC去往4层交换VLAN的路由指向这个地址。
interface vlan 1000
descripttion Management connectivity on VLAN 1000 and query interface VLAN
ip address 172.25.91.110 255.255.255.0
peer ip address 172.25.91.111 255.255.255.0 对端冗余ACE地址
alias ip address 172.25.91.112 255.255.255.0 虚拟IP地址,类似HSRP地址
service-policy input REMOTE_MGMT_ALLOW_POLICY (允许Telnet、SSH、ICMP协议的访问策略)
4、 配置一个FT Group
ft group 1 建立FT组一
peer 1 关联context为1
associate-context VC_WEB 隶属在相同的FT Group中,并且虚拟关联为 VC_WEB
inservice 激活
针对于配置同步选项:
host1/Admin(config)# ft auto-sync running-config
host1/Admin(config)# ft auto-sync startup-config