ADC

三明治环境

三明治模式下的 NetScaler 部署可以通过防火墙在两个方向上平衡网络流量:入口(从外部进入网络的流量,例如互联网)和出口(离开网络到互联网的流量)。

在此设置中,NetScaler 位于一组防火墙的每一侧。置于防火墙和互联网之间的 NetScaler(称为处理入口流量的外部 NetScaler)会根据配置的方法选择最佳防火墙。位于防火墙和专用网络之间的 NetScaler(称为内部 NetScaler)跟踪接收会话初始数据包的防火墙。然后,它会确保该会话的所有后续数据包都发送到同一个防火墙。

可以将内部 NetScaler 配置为常规流量管理器,以平衡专用网络服务器上的流量。此配置还允许在防火墙之间对来自专用网络(出口)的流量进行负载平衡。

下图显示了三明治防火墙负载平衡环境。

图 1. 防火墙负载平衡(三明治)

防火墙三明治

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

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

在 Sandwich 环境中配置外部 NetScaler

执行以下任务,在三明治环境中配置外部 NetScaler

  • 启用负载平衡功能。
  • 为每个防火墙配置通配符服务。
  • 为每个通配符服务配置监视器。
  • 为来自 Internet 的流量配置通配符虚拟服务器。
  • 在 MAC 重写模式下配置虚拟服务器。
  • 将服务绑定到通配符虚拟服务器。
  • 保存并验证配置。

启用负载平衡功能

使用命令行接口启用负载平衡

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

enable ns feature LB
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-->

使用配置实用程序启用负载平衡

导航到 系统 > 设置 ,然后在 配置基本功能中选择 负载平衡

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

使用命令行界面为每个防火墙配置通配符服务

在命令提示符下,键入:

add service <name> <serverName> ANY *
<!--NeedCopy-->

示例:

add service Service-HTTP-1 10.102.29.5 ANY *
<!--NeedCopy-->

使用配置实用程序为每个防火墙配置通配符服务

导航到 流量管理 > 负载平衡 > 服务 并添加服务。在“协议”字段中指定 ANY,在“端口”字段中指定“*”。

为每个通配符服务配置监视器

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

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

使用命令行界面配置透明监视器

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

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
To bind a PING monitor, type the following command:
bind monitor PING fw-svc1
<!--NeedCopy-->

使用配置实用程序创建和绑定透明监视器

导航到“流量管理”>“负载平衡”>“监视器”,然后创建并绑定透明监视器。

为来自 Internet 的流量配置通配符虚拟服务器

使用命令行界面为来自 Internet 的流量配置通配符虚拟服务器

在命令提示符下,键入:

add lb vserver <name> ANY * *
<!--NeedCopy-->

示例:

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

使用配置实用程序为来自 Internet 的流量配置通配符虚拟服务器

导航到 流量管理 > 负载平衡 > 虚拟服务器 ,然后创建通配符虚拟服务器。在“协议”字段中指定 ANY,在“端口”字段中指定“*”。

在 MAC 重写模式下配置虚拟服务器

使用命令行界面在 MAC 重写模式下配置虚拟服务器

在命令提示符下,键入:

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

示例:

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

使用配置实用程序在 MAC 重写模式下配置虚拟服务器

  1. 导航到 流量管理 > 负载平衡 > 虚拟服务器,然后选择要为其配置重定向模式的虚拟服务器(例如,虚拟服务器-LB-1)。
  2. 编辑“基本设置”部分,然后单击“更多”。
  3. 从“重定向模式”下拉列表中,选择“基于 MAC”。

将服务绑定到通配符虚拟服务器

使用命令行界面将服务绑定到通配符虚拟服务器

在命令提示符下,键入:

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

示例:

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

使用配置实用程序将服务绑定到通配符虚拟服务器

  1. 导航到“流量管理”>“负载平衡”>“虚 拟服务器”,然后选择要绑定服务的虚拟服务器。
  2. 单击“服务”部分并选择要绑定的服务。

保存并验证配置

完成配置任务后,请务必保存配置。确保设置正确。

使用命令行界面保存并验证配置

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

save ns config
show vserver
<!--NeedCopy-->

示例:

save config
sh lb vserver FWLBVIP1
FWLBVIP1 (\*:\*) - ANY    Type: ADDRESS
        State: UP
        Last state change was at Mon Jun 14 06:40:14 2010
        Time since last state change: 0 days, 00:00:11.240
        Effective State: UP  ARP:DISABLED
        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: SRCIPDESTIPHASH
        Mode: MAC
        Persistence: NONE
        Connection Failover: DISABLED

1) fw_svc_1 (10.102.29.251: *) - ANY State: UP  Weight: 1
2) fw_svc_2 (10.102.29.18: \*) - ANY State: UP   Weight: 1
 Done
show service fw-svc1
        fw-svc1 (10.102.29.251:\*) - ANY
        State: DOWN
        Last state change was at Thu Jul  8 10:04:50 2010
        Time since last state change: 0 days, 00:00:38.120
        Server Name: 10.102.29.251
        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): YES
        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: 5       Failed [Total: 5 Current: 5]
                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.415 millisec
 Done
<!--NeedCopy-->

在三明治环境中配置内部 NetScaler

执行以下任务,在三明治环境中配置内部 NetScaler

对于来自服务器的流量(出口)

  • 启用负载平衡功能。
  • 为每个防火墙配置通配符服务。
  • 为每个通配符服务配置监视器。
  • 配置通配符虚拟服务器以对发送到防火墙的流量进行负载平衡。
  • 在 MAC 重写模式下配置虚拟服务器。
  • 将防火墙服务绑定到通配符虚拟服务器。

用于跨专用网络服务器的流量

  • 为每个虚拟服务器配置服务。
  • 为每项服务配置监视器。
  • 配置 HTTP 虚拟服务器以平衡发送到服务器的流量。
  • 将 HTTP 服务绑定到 HTTP 虚拟服务器。
  • 保存并验证配置。

启用负载平衡功能

禁用负载平衡功能时,可以配置负载平衡实体,如服务和虚拟服务器。但是,在您启用该功能之前,它们才能正常工作。

使用命令行接口启用负载平衡

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

enable ns feature LB
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-->

使用配置实用程序启用负载平衡

导航到 系统 > 设置 ,然后在配置基本功能中选择 负载平衡

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

使用命令行界面为每个防火墙配置通配符服务

在命令提示符下,键入:

add service <name> <serverName> ANY *
<!--NeedCopy-->

示例:

add service Service-HTTP-1 10.102.29.5 ANY *
<!--NeedCopy-->

使用配置实用程序为每个防火墙配置通配符服务

导航到 流量管理 > 负载平衡 > 服务 并添加服务。在“协议”字段中指定 ANY,在“端口”字段中指定“*”。

为每个通配符服务配置监视器

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

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

使用命令行界面配置透明监视器

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

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-->

使用配置实用程序创建和绑定透明监视器

  1. 导航到 流量管理 > 负载平衡 > 监视器 并创建监视器。
  2. 在“创建监视器”对话框中,输入所需的参数,然后选择“透明”。

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

使用命令行界面配置通配符虚拟服务器以对发送到防火墙的流量进行负载平衡

在命令提示符下,键入:

add lb vserver <name> ANY * *
<!--NeedCopy-->

示例:

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

使用配置实用程序为来自 Internet 的流量配置通配符虚拟服务器

  1. 导航到 流量管理 > 负载平衡 > 虚拟服务器 ,然后创建通配符虚拟服务器。

  2. 在协议字段中指定 任何 ,在端口字段中指定 *

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

  1. 导航到流量管理 > 负载平衡 > 虚拟服务器
  2. 在详细信息窗格中,单击 Add(添加)。
  3. 在“创建虚拟服务器(负载平衡)”对话框中,指定以下参数的值,如下所示:
    • 名称- name
  4. 在“协议”中,选择“任意”,在“IP 地址和端口”中选择“*”。
  5. 单击 Create(创建),然后单击 Close(关闭)。您创建的虚拟服务器将显示在“负载平衡虚拟服务器”窗格中。

在 MAC 重写模式下配置虚拟服务器

使用命令行界面在 MAC 重写模式下配置虚拟服务器

在命令提示符下,键入:

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

示例:

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

使用配置实用程序在 MAC 重写模式下配置虚拟服务器

  1. 导航到 流量管理 > 负载平衡 > 虚拟服务器,然后选择要为其配置重定向模式的虚拟服务器(例如,虚拟服务器-LB-1)。
  2. 编辑“基本设置”部分,然后单击“更多”。
  3. 从“重定向模式”下拉列表中,选择“基于 MAC”。

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

使用命令行界面将防火墙服务绑定到通配符虚拟服务器

在命令提示符下,键入:

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

示例:

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

使用配置实用程序将防火墙服务绑定到通配符虚拟服务器

  1. 导航到 流量管理 > 负载平衡 > 虚拟服务器,然后选择虚拟服务器。
  2. 单击“服务”部分,然后选择要绑定的服务。

注意:您可以将一个服务绑定到多个虚拟服务器。

为每台虚拟服务器配置服务

使用命令行界面为每个虚拟服务器配置服务

在命令提示符下,键入:

add service <name> <serverName> HTTP <port>
<!--NeedCopy-->

示例:

add service Service-HTTP-1 10.102.29.5 HTTP 80
<!--NeedCopy-->

使用配置实用程序为每个虚拟服务器配置服务

  1. 导航到“流量管理”>“负载平衡”>“服务”,然后为每个虚拟服务器配置服务。
  2. 协议 字段中指定 HTTP ,然后在 可用监视器 下选择 HTTP

使用配置实用程序为每个虚拟服务器配置服务

  1. 导航到 Traffic Management(流量管理)> Load Balancing(负载平衡)> Services(服务)
  2. 在详细信息窗格中,单击 Add(添加)。
  3. 在“创建服务”对话框中,指定以下参数的值,如下所示:
    • 服务名称-名称
    • 服务器-服务器名称
    • 端口
  4. 在协议中,指定 HTTP。在“可用监视器”下,选择 HTTP。
  5. 单击 Create(创建),然后单击 Close(关闭)。您创建的服务将显示在“服务”窗格中。

为每项服务配置监视器

使用命令行界面将监视器绑定到服务

在命令提示符下,键入:

bind lb monitor <monitorName> <ServiceName>
<!--NeedCopy-->

示例:

bind mon monitor-HTTP-1 Service-HTTP-1
<!--NeedCopy-->

使用配置实用程序将监视器绑定到服务

导航到“流量管理”>“负载平衡”>“服务”,双击服务,然后添加监视器。

配置 HTTP 虚拟服务器以平衡发送到服务器的流量

使用命令行界面配置 HTTP 虚拟服务器以平衡发送到服务器的流量

在命令提示符下,键入:

add lb vserver <name> HTTP <ip> <port>
<!--NeedCopy-->

示例:

add lb vserver Vserver-LB-1 HTTP 10.102.29.60 80
<!--NeedCopy-->

使用配置实用程序配置 HTTP 虚拟服务器以平衡发送到服务器的流量

  1. 导航到 流量管理 > 负载平衡 > 虚拟服务,然后配置 HTTP 虚拟服务器。
  2. 协议 字段中指定 HTTP

使用配置实用程序配置 HTTP 虚拟服务器以平衡发送到服务器的流量

  1. 导航到流量管理 > 负载平衡 > 虚拟服务器
  2. 在详细信息窗格中,单击 Add(添加)。
  3. 在“创建虚拟服务器(负载平衡)”对话框中,指定以下参数的值,如下所示:
    • 名称- name
    • IP 地址 — IP 地址 注意:如果虚拟服务器使用 IPv6,请选中 IPv6 复选框,然后以 IPv6 格式输入地址(例如, 1000:0000:0000:0000:0005:0600:700a:888b)。
    • 端口
  4. 在“协议”下,选择“HTTP”。
  5. 单击 Create(创建),然后单击 Close(关闭)。您创建的虚拟服务器将显示在“负载平衡虚拟服务器”窗格中。

保存并验证配置

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

使用命令行界面保存并验证配置

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

  • 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-->

使用配置实用程序保存并验证配置

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

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

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

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

要评估虚拟服务器的性能或解决问题,可以显示 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-->

使用配置实用程序显示虚拟服务器统计信息

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

查看服务的统计数据

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

使用命令行界面查看服务的统计信息

在命令提示符下,键入:

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

示例:

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

使用配置实用程序查看服务的统计信息

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