ADC

多防火墙环境

在多防火墙环境中,Citrix ADC 设备位于两组防火墙之间,即连接到公用 Internet 的外部集和连接到内部专用网络的内部集之间。外部集通常处理导出流量。这些防火墙主要实现访问控制列表,以允许或拒绝访问外部资源。内部集通常处理入口流量。除了负载平衡入口流量之外,这些防火墙还实现了安全性,以保护 Intranet 免受恶意攻击。多防火墙环境允许您对来自其他防火墙的流量进行负载平衡。默认情况下,来自防火墙的流量不会在 Citrix ADC 设备上对其他防火墙进行负载平衡。在 Citrix ADC 两侧启用防火墙负载均衡可改善导出和入口方向的流量,并确保更快地处理流量。

下图显示了多防火墙负载平衡环境

图 1. 防火墙负载平衡(多防火墙)

多防火墙环境

使用类似于图 1 所示的配置,您可以将 Citrix ADC 配置为通过内部防火墙对流量进行负载平衡,即使其由外部防火墙进行负载平衡。例如,配置此功能后,来自外部防火墙(防火墙 1、2 和 3)的流量在内部防火墙(防火墙 4、5 和 6)上进行负载均衡,反之亦然。

仅 MAC 模式 LB 虚拟服务器支持防火墙负载平衡。

服务类型“任何”将 Citrix ADC 配置为接受所有流量。

要利用与 HTTP 和 TCP 相关的优势,请使用 HTTP 或 TCP 类型配置服务和虚拟服务器。要使 FTP 工作,请使用 FTP 类型配置服务。

在多防火墙环境中配置 Citrix ADC

要在多防火墙环境中配置 Citrix ADC 设备,您必须启用负载平衡功能,配置虚拟服务器以在外部防火墙之间对导出流量进行负载平衡,配置虚拟服务器以在内部防火墙之间进行负载平衡,以及在 Citrix ADC 设备上启用防火墙负载平衡。要配置虚拟服务器以在多防火墙环境中跨防火墙对流量进行负载平衡,您需要:

  1. 为每个防火墙配置通配符服务
  2. 为每个通配符服务配置监视器
  3. 配置通配符虚拟服务器以负载平衡发送到防火墙的流量
  4. 在 MAC 重写模式下配置虚拟服务器
  5. 将防火墙服务绑定到通配符虚拟服务器

启用负载平衡功能

要配置和实施负载平衡实体(如服务和虚拟服务器),需要在 Citrix ADC 设备上启用负载平衡功能。

要使用 CLI 启用负载均衡,请执行以下操作:

在命令提示符处,键入以下命令以启用负载平衡并验证配置:

enable ns feature <featureName>
show ns feature
<!--NeedCopy-->

示例:

enable ns feature LoadBalancing
Done
show ns feature
Feature Acronym Status
------- ------- ------
1) Web Logging WL OFF
2) Surge Protection SP ON
3) Load Balancing LB ON
.
.
.
24) NetScaler Push push OFF
Done
<!--NeedCopy-->

要使用 GUI 启用负载均衡,请执行以下操作:

  1. 在导航窗格中,展开 System(系统),然后单击 Settings(设置)。
  2. 在“设置”窗格的“模式和功能”下,单击“更改基本功能”。
  3. 在“配置基本功能”对话框中,选中“负载平衡”复选框,然后单击“确定”。

为每个防火墙配置通配符服务

要接受来自所有协议的流量,您需要通过指定对所有协议和端口的支持来为每个防火墙配置通配符服务。

使用 CLI 为每个防火墙配置通配符服务:

在命令提示符下,键入以下命令以配置对所有协议和端口的支持:

add service <name>@ <serverName> <serviceType> <port_number>
<!--NeedCopy-->

示例:

add service fw-svc1 10.102.29.5 ANY *
<!--NeedCopy-->

使用 GUI 为每个防火墙配置通配符服务:

  1. 导航到 Traffic Management(流量管理)> Load Balancing(负载平衡)> Services(服务)。

  2. 在详细信息窗格中,单击 Add(添加)。

  3. 在“创建服务”对话框中,为以下参数指定值,如所示:

    • 服务名称 — 名称
    • 服务器 —serverName

    -* 必填参数

  4. 在“协议”中,选择“任意”,然后在“端口”中,选择“*”。

  5. 单击 Create(创建),然后单击 Close(关闭)。您创建的服务将显示在“服务”窗格中。

为每个服务配置监视器

PING 监视器默认绑定到服务。您需要配置透明监视器,以便通过单个防火墙监视受信任端的主机。然后,您可以将透明监视器绑定到服务。默认 PING 监视器仅监视 Citrix ADC 设备与上游设备之间的连接性。透明监视器监视从设备到拥有监视器中指定的目标 IP 地址的设备的路径中存在的所有设备。如果未配置透明监视器,且防火墙的状态为“UP”,但该防火墙中的下一个跃点设备已关闭,则设备会在执行负载平衡时包含防火墙并将数据包转发到防火墙。但是,数据包不会传递到最终目标,因为下一个跃点设备之一已关闭。通过绑定透明监视器,如果任何设备(包括防火墙)关闭,则服务将被标记为“关闭”,并且在设备执行防火墙负载平衡时不包括防火墙。

绑定透明监视器将覆盖 PING 监视器。要配置 PING 监视器以及透明监视器,在创建和绑定透明监视器之后,您需要将 PING 监视器绑定到服务。

要使用 CLI 配置透明监视器,请执行以下操作:

在命令提示符下,键入以下命令以配置透明监视器并验证配置:

add lb monitor <monitorName> <type> [-destIP <ip_addr|ipv6_addr|*>] [-transparent (YES | NO )]
bind lb monitor <monitorName> <serviceName>
<!--NeedCopy-->

示例:

add monitor monitor-HTTP-1 HTTP -destip 10.10.10.11 -transparent YES
bind monitor monitor-HTTP-1 fw-svc1
<!--NeedCopy-->

Citrix ADC 设备从绑定到服务的监视器中学习服务器 L2 参数。对于 UDP-ECV 监视器,配置接收字符串以使设备能够了解服务器的 L2 参数。如果未配置接收字符串并且服务器未响应,则设备不会学习 L2 参数,但服务设置为 UP。此服务的流量是黑洞的。

要使用 CLI 配置接收字符串,请执行以下操作:

在命令提示符下,键入以下命令:

add lb monitor <monitorName> <type> [-destIP <ip_addr|ipv6_addr|*>] [-transparent (YES | NO )] [-send <string>] [-recv <string>]
<!--NeedCopy-->

示例:

add lb monitor monitor-udp-1 udp-ecv -destip 10.10.10.11 -transparent YES –send "test message" –recv "site_is_up"
<!--NeedCopy-->

要使用 GUI 创建和绑定透明监视器,请执行以下操作:

  1. 导航到流量管理 > 负载平衡 > 监视器。

  2. 在详细信息窗格中,单击 Add(添加)。

  3. 在“创建监视器”对话框中,为以下参数指定值,如下所示:

    • 名称*
    • 类型* — 类型
    • 目标 IP
    • 透明

    -* 必填参数

  4. 单击 Create(创建),然后单击 Close(关闭)。在“监视器”窗格中,选择刚刚配置的监视器,并验证屏幕底部显示的设置是否正确。

配置虚拟服务器以对发送到防火墙的流量进行负载平衡

要对任何类型的流量进行负载平衡,您需要配置一个通配符虚拟服务器,将协议和端口指定为任何值。

使用 CLI 配置虚拟服务器以对发送到防火墙的流量进行负载平衡

在命令提示符下,键入以下命令:

add lb vserver <name>@ <serviceType> <IPAddress> <port_number>
<!--NeedCopy-->

示例:

add lb vserver Vserver-LB-1 ANY * *
<!--NeedCopy-->

要使用 GUI 配置虚拟服务器以对发送到防火墙的流量进行负载平衡:

  1. 导航到 Traffic Management(流量管理)> Load Balancing(负载平衡)> Virtual Servers(虚拟服务器)。
  2. 在详细信息窗格中,单击 Add(添加)。
  3. 在“协议”中,选择“任意”,在“IP 地址和端口”中,选择“*”。
  4. 单击 Create(创建),然后单击 Close(关闭)。您创建的虚拟服务器将显示在“负载平衡虚拟服务器”窗格中。

将虚拟服务器配置为 MAC 重写模式

要将虚拟服务器配置为使用 MAC 地址转发传入流量,您需要启用 MAC 重写模式。

使用 CLI 在 MAC 重写模式下配置虚拟服务器:

在命令提示符下,键入以下命令:

set lb vserver <name>@ -m <RedirectionMode>
<!--NeedCopy-->

示例:

set lb vserver Vserver-LB-1 -m MAC
<!--NeedCopy-->

使用 GUI 在 MAC 重写模式下配置虚拟服务器:

  1. 导航到 Traffic Management(流量管理)> Load Balancing(负载平衡)> Virtual Servers(虚拟服务器)。
  2. 在详细信息窗格中,选择要为其配置重定向模式的虚拟服务器(例如,虚拟服务器 LB1),然后单击“打开”。
  3. 在“高级”选项卡上的“重定向模式”模式下,单击“打开”。
  4. 单击 “ 确定”。

将防火墙服务绑定到虚拟服务器

要访问 Citrix ADC 设备上的服务,需要将其绑定到通配符虚拟服务器。

使用 CLI 将防火墙服务绑定到虚拟服务器:

在命令提示符下,键入以下命令:

bind lb vserver <name>@ <serviceName>
<!--NeedCopy-->

示例:

bind lb vserver Vserver-LB-1 Service-HTTP-1
<!--NeedCopy-->

使用 GUI 将防火墙服务绑定到虚拟服务器:

  1. 导航到 Traffic Management(流量管理)> Load Balancing(负载平衡)> Virtual Servers(虚拟服务器)。
  2. 在详细信息窗格中,选择要为其配置重定向模式的虚拟服务器(例如,虚拟服务器 LB1),然后单击“打开”。
  3. 在“配置虚拟服务器(负载平衡)”对话框的“服务”选项卡上,选中要绑定到虚拟服务器的服务(例如,Services HTTP-1)旁边的“活动”复选框。
  4. 单击 “ 确定”。

在 Citrix ADC 设备上配置多防火墙负载平衡

要使用防火墙负载平衡对 Citrix ADC 两侧的流量进行负载平衡,需要使用特定于虚拟服务器的 Mac 参数启用多防火墙负载平衡。

使用 CLI 配置多防火墙负载均衡:

在命令提示符下,键入以下命令:

set lb parameter -vServerSpecificMac <status>
<!--NeedCopy-->

示例:

set lb parameter -vServerSpecificMac ENABLED
<!--NeedCopy-->

使用 GUI 配置多防火墙负载平衡:

  1. 导航到 Traffic Management(流量管理)> Load Balancing(负载平衡)> Virtual Servers(虚拟服务器)。
  2. 在详细信息窗格中,选择要为其配置重定向模式的虚拟服务器(例如,配置负载平衡参数)。
  3. 在“设置负载平衡参数”对话框中,选中“特定于虚拟服务器的 MAC”复选框。
  4. 单击 “ 确定”。

保存并验证配置

完成配置任务后,请务必保存配置。您还应检查以确保设置正确。

要使用 CLI 保存和验证配置,请执行以下操作:

在命令提示符下,键入以下命令以配置透明监视器并验证配置:

  • save ns config
  • show vserver

示例:

save config
show lb vserver FWLBVIP2
        FWLBVIP2 (\*:\*) - ANY    Type: ADDRESS
        State: UP
        Last state change was at Mon Jun 14 07:22:54 2010
        Time since last state change: 0 days, 00:00:32.760
        Effective State: UP
        Client Idle Timeout: 120 sec
        Down state flush: ENABLED
        Disable Primary Vserver On Down : DISABLED
        No. of Bound Services :  2 (Total)       2 (Active)
        Configured Method: LEASTCONNECTION
        Current Method: Round Robin, Reason: A new service is bound
        Mode: MAC
        Persistence: NONE
        Connection Failover: DISABLED

1) fw-int-svc1 (10.102.29.5: *) - ANY State: UP Weight: 1
2) fw-int-svc2 (10.102.29.9: \*) - ANY State: UP Weight: 1
 Done
show service fw-int-svc1
        fw-int-svc1 (10.102.29.5:\*) - ANY
        State: DOWN
        Last state change was at Thu Jul  8 14:44:51 2010
        Time since last state change: 0 days, 00:01:50.240
        Server Name: 10.102.29.5
        Server ID : 0   Monitor Threshold : 0
        Max Conn: 0     Max Req: 0      Max Bandwidth: 0 kbits
        Use Source IP: NO
        Client Keepalive(CKA): NO
        Access Down Service: NO
        TCP Buffering(TCPB): NO
        HTTP Compression(CMP): NO
        Idle timeout: Client: 120 sec   Server: 120 sec
        Client IP: DISABLED
        Cacheable: NO
        SC: OFF
        SP: OFF
        Down state flush: ENABLED

1)      Monitor Name: monitor-HTTP-1
                State: DOWN     Weight: 1
                Probes: 9       Failed [Total: 9 Current: 9]
                Last response: Failure - Time out during TCP connection establishment stage
                Response Time: 2000.0 millisec
2)      Monitor Name: ping
                State: UP       Weight: 1
                Probes: 3       Failed [Total: 0 Current: 0]
                Last response: Success - ICMP echo reply received.
                Response Time: 1.275 millisec
 Done
<!--NeedCopy-->

要使用 GUI 保存和验证配置,请执行以下操作:

  1. 在详细信息窗格中,单击保存。
  2. 在保存配置对话框中,单击是。
  3. 导航到 Traffic Management(流量管理)> Load Balancing(负载平衡)> Virtual Servers(虚拟服务器)。
  4. 在详细信息窗格中,选择您在步骤 5 中创建的虚拟服务器,并验证“详细信息”窗格中显示的设置是否正确。
  5. 导航到 Traffic Management(流量管理)> Load Balancing(负载平衡)> Services(服务)。
  6. 在详细信息窗格中,选择您在步骤 5 中创建的服务,并验证“详细信息”窗格中显示的设置是否正确。

在多防火墙环境中监视防火墙负载平衡设置

配置启动并运行后,您应查看每个服务和虚拟服务器的统计信息,以检查可能出现的问题。

查看虚拟服务器的统计信息

要评估虚拟服务器的性能或解决问题,可以显示 Citrix ADC 设备上配置的虚拟服务器的详细信息。您可以显示所有虚拟服务器的统计信息摘要,也可以指定虚拟服务器的名称以仅显示该虚拟服务器的统计信息。您可以显示以下详细信息:

  • 名称
  • IP 地址
  • 端口
  • 协议
  • 虚拟服务器的状态
  • 收到请求的比率
  • 点击率

使用命令行界面显示虚拟服务器统计信息

要显示 Citrix ADC 设备上当前配置的所有虚拟服务器或单个虚拟服务器的统计信息摘要,请在命令提示符下键入:

stat lb vserver [-detail] [<name>]
<!--NeedCopy-->

示例:

>stat lb vserver -detail
Virtual Server(s) Summary
                      vsvrIP  port     Protocol        State    Req/s   Hits/s
One                        *    80         HTTP           UP      5/s      0/s
Two                        *     0          TCP         DOWN      0/s      0/s
Three                      *  2598          TCP         DOWN      0/s      0/s
dnsVirtualNS    10.102.29.90    53          DNS         DOWN      0/s      0/s
BRVSERV            10.10.1.1    80         HTTP         DOWN      0/s      0/s
LBVIP           10.102.29.66    80         HTTP           UP      0/s      0/s
 Done


<!--NeedCopy-->

使用 GUI 显示虚拟服务器统计信息:

  1. 导航到流量管理 > 负载平衡 > 虚拟服务器 > 统计信息。
  2. 如果要仅显示一个虚拟服务器的统计信息,请在详细信息窗格中选择虚拟服务器,然后单击“统计信息”。

查看服务的统计数据

您可以使用服务统计信息查看请求、响应、请求字节、响应字节、当前客户端连接、浪涌队列中的请求、当前服务器连接等的速率。

要使用 CLI 查看服务的统计信息,请执行以下操作:

在命令提示符下,键入:

stat service <name>
<!--NeedCopy-->

示例:

stat service Service-HTTP-1
<!--NeedCopy-->

要使用 GUI 查看服务的统计信息,请执行以下操作:

  1. 导航到 流量管理 > 负载平衡 > 服务 > 统计信息。
  2. 如果要仅显示一个服务的统计信息,请选择该服务,然后单击“统计信息”。
多防火墙环境