最近在项目中遇到了思科负载均衡设备--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))



65007600上使用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 通过此命令来登陆到6576系列设备上的ACE模块


switch login:


Password:



配置一个管理VLANACE模块上


interface vlan 1000


descripttion Management connectivity on VLAN 1000


ip address 172.25.91.110 255.255.255.0   6576MSFC上的SVI接口同一网段提供ACEMSFC通信


service-policy input REMOTE_MGMT_ALLOW_POLICY   远程登陆访问策略(入向 input



配置一条缺省路由在ACE模块上


ip route 0.0.0.0 0.0.0.0 172.25.91.1    缺省路由指向MSFC



配置一个管理登陆访问策略


1ACE上配置远程管理流量,默认是完全禁止的。

先建立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、在ACEvlan interface的入方向(input方向)上调用这个policy-map

interface vlan 215

  descripttion Server-Vlan-IOM   描述

  ip address 132.80.241.130 255.255.255.224  VLAN 215IP地址

  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允许进入ACEIP流量



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_WEB2RS_WEB3RS_WEB4RS_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、  创建一个34层负载均衡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、  创建一个34层负载均衡策略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 (允许TelnetSSHICMP协议的访问策略)


4、  配置一个FT Group

ft group 1                  建立FT组一

peer 1                     关联context1

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