ADC

多防火墙环境

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

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

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

多防火墙环境

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

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

服务类型 ANY 将 NetScaler 配置为接受所有流量。

要获得与 HTTP 和 TCP 相关的好处,请将服务和虚拟服务器配置为 HTTP 或 TCP 类型。要使 FTP 正常工作,请将服务配置为 FTP 类型。

在多防火墙环境中配置 NetScaler

要在多防火墙环境中配置 NetScaler 设备,必须启用负载平衡功能,配置虚拟服务器以对外部防火墙的出口流量进行负载平衡,配置虚拟服务器以对内部防火墙的入口流量进行负载平衡,并在 NetScaler 设备上启用防火墙负载平衡。要将虚拟服务器配置为在多防火墙环境中对跨防火墙的流量进行负载平衡,您需要:

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

启用负载平衡功能

要配置和实现负载平衡实体,例如服务和虚拟服务器,您需要在 NetScaler 设备上启用负载平衡功能。

要使用 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. 在“创建服务”对话框中,为以下参数指定值,如下所示:

    • 服务名称-名称
    • 服务器-服务器名称

    -* 必填参数

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

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

为每项服务配置监视器

PING 监视器默认绑定到服务。您需要配置透明监视器,以便通过各个防火墙监视受信任端的主机。然后,您可以将透明监视器绑定到服务。默认的 PING 监视器仅监视 NetScaler 设备与上游设备之间的连接。透明监视器会监视从装置到拥有监视器中指定目标 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-->

NetScaler 设备从绑定到服务的监视器上学习服务器 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. 在详细信息窗格中,选择要为其配置重定向模式的虚拟服务器(例如,Vserver-LB1),然后单击“打开”。
  3. 在“高级”选项卡上,在“重定向模式”模式下,单击“打开”。
  4. 单击确定。

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

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

使用 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. 在详细信息窗格中,选择要为其配置重定向模式的虚拟服务器(例如,Vserver-LB1),然后单击“打开”。
  3. 在“配置虚拟服务器(负载平衡)”对话框的“服务”选项卡上,选中要绑定到虚拟服务器的服务(例如 Service-HTTP-1)旁边的“活动”复选框。
  4. 单击确定。

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

要使用防火墙负载平衡对 NetScaler 两端的流量进行负载平衡,您需要使用 vServerSpecificMac 参数启用多防火墙负载平衡。

要使用 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
  • 显示虚拟服务器

示例:

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 中创建的服务,并验证“详细信息”窗格中显示的设置是否正确。

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

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

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

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

  • 名称
  • IP 地址
  • Port(端口)
  • 协议
  • 虚拟服务器的状态
  • 收到请求的比率
  • 命中率

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

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

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. 如果要仅显示一个服务的统计信息,请选择该服务,然后单击“统计信息”。
多防火墙环境