Citrix ADC

对Microsoft Exchange服务器进行负载均衡

本文档提供了使用Citrix ADC设备实现Microsoft Exchange服务器负载平衡的推荐配置示例。

Citrix ADM StyleBooks简化了用于Exchange的Citrix ADC负载均衡配置。有关更多信息,请参见Microsoft Exchange样本.

注:

使用单个负载均衡虚拟服务器是不可能实现Microsoft Exchange的负载均衡的。相反,请遵循本文档中提供的推荐配置。

Microsoft Exchange 2016和更新版本的差异

  • 您不需要在Exchange 2016上配置静态RPC端口,因为RPC端口没有被使用。

  • 在Exchange 2016中,所有命名为“适用于2016年以下Exchange版本”的部分都是不必要的。

  • 如果您已经配置了任何非2016版本,并迁移到2016年,则不必删除它们。因为即使它们存在,也没有问题。

注意事项

  • 对于Exchange服务器2016年以下的远程过程调用(RPC),必须将Exchange CAS服务器配置为静态端口分配。有关更多信息,请参见Exchange 2010客户端访问服务器:配置静态RPC端口微软文档。

  • 此配置假定使用Citrix ADC设备进行SSL卸载。有关详细信息,请参阅如何在Exchange 2010中配置SSL卸载在Exchange 2013中配置SSL卸载.

  • 如果不想使用Citrix ADC设备的SSL卸载功能,请更改服务组CAS\U服务组\U http并监控输入SSL以及它的端口绑定443.

  • 电涌保护与Microsoft Exchange不兼容。不要在任何与Microsoft Exchange相关的服务或服务组上启用它。启用防雷功能会导致连接和可靠性问题。

  • 用正确的信息替换以下变量:

    • {HTTP Public IP} - Public Exchange HTTP端点的IP地址
    • {RPC Public IP}-公用Exchange RPC终结点的IP地址(可以与HTTP公用IP相同)
    • {Timeout}-所需的超时(秒)。建议与标准轮班时间一样长(即8小时)
    • {PersTimeout}-所需的超时(分钟)。必须与前面的超时设置相对应。
    • AB端口-RPC地址簿TCP端口(通常为59601)
    • rpc客户端访问TCP端口(通常为59600)
    • {CertKey}-SSL证书密钥
    • {CAS-1 Server} -IP CAS服务器地址
    • {CAS-2服务器}-CAS服务器的IP地址

服务类:

添加服务组CAS_serviceGroup_http-maxClient 0-maxReq 0-cip DISABLED-usip NO-SP OFF-useproxyport YES-cltTimeout{Timeout}-svrTimeout{Timeout}-CKA NO-TCPB NO-CMP YES添加服务组CAS_serviceGroup_rpc_epm TCP-maxClient 0-maxReq 0-cip DISABLED-usip NO-SP OFF-useproxyport YES-cltTimeout{Timeout}-svrTimeout{Timeout}-CKA NO-TCPB NO-CMP NO bind serviceGroup CAS\u serviceGroup\u http{CAS-1 Server}80-CustomServerID“\'None\”bind serviceGroup CAS\u serviceGroup\u serviceGroup\CAS-2 Server}80-CustomServerID“\'None\”bind serviceGroup CAS\u serviceGroup\u rpc\u epm{CAS 1 Server}135-CustomServerID“\'None\”bind serviceGroup CAS135-CustomServerID“无”<--需要复制-->

监控:

添加lb监视器CAS_monitor_rpc_epm TCP-启用LRTM-destPort 135设置lb监视器http ecv http-ecv-recv 403-禁用LRTM的绑定服务组CAS_serviceGroup_http-监视器名称http ecv绑定服务组CAS_serviceGroup_rpc_epm-监视器名称CAS_monitor_rpc_epm<--需要复制-->

负载平衡虚拟服务器:

add lb vserver CAS_vserver_as SSL 0.0.0.0 0 -persistenceType COOKIEINSERT -timeout {PersTimeout} -lbMethod LEASTCONNECTION -cltTimeout {Timeout}-cltTimeout {Timeout} add lb vserver CAS_vserver_oa SSL 0.0.0.0 0 -timeout {PersTimeout} -lbMethod LEASTCONNECTION -cltTimeout {Timeout} add lb vserver CAS_vserver_ews SSL 0.0.0.0 0 -timeout {PersTimeout} -lbMethod LEASTCONNECTION -cltTimeout {Timeout} add lb vserver CAS_vserver_ad SSL 0.0.0.0 0 -timeout {PersTimeout} -lbMethod LEASTCONNECTION-cltTimeout {Timeout} set ssl vserver CAS_vserver_oa -sslRedirect ENABLED绑定ssl vserver CAS_vserver_owa -certkeyName {CertKey} bind ssl vserver CAS_vserver_oab -certkeyName {CertKey} bind ssl vserver CAS_vserver_as -certkeyName {CertKey} bind ssl vserver CAS_vserver_oa -certkeyName {CertKey} bind ssl vserver CAS_vserver_ews -certkeyName{CertKey}结合ssl vserver CAS_vserver_ad -certkeyName {CertKey}绑定磅vserver CAS_vserver_owa CAS_servicegroup_http绑定磅vserver CAS_vserver_oab CAS_servicegroup_http绑定磅vserver CAS_vserver_as CAS_servicegroup_http绑定磅vserver CAS_vserver_oa CAS_servicegroup_http绑定磅vserver CAS_vserver_ews CAS_servicegroup_http绑定磅vserverCAS_vserver_ad CAS_servicegroup_http add lb vserver CAS_vserver_rpc_epm TCP {RPC Public IP} 135 -timeout {PersTimeout} -cltTimeout {Timeout} -comment "vserver for RPC End Point Mapper" bind lb vserver CAS_vserver_rpc_epm CAS_servicegroup_rpc_epm 

持久性组:

添加lb组CAS_persistency_group_sourceip绑定lb组CAS_persistency_group_sourceip CAS_vserver_oa绑定lb组CAS_persistency_group_sourceip CAS_vserver_oab绑定lb组CAS_persistency_group_sourceip CAS_vserver_ews绑定lb组CAS_persistency_group_sourceip CAS_vserver_ad绑定lb组CAS_persistency_group_sourceip CAS_vserver_rpc_epmset lb group CAS_persistency_group_sourceip -persistenceType SOURCEIP -timeout {PersTimeout} 

HTTP服务的内容切换:

添加cs vserver CAS_vserver_cs SSL{公共IP} 443 -cltTimeout{超时}-caseSensitive关闭评论“交换cs vserver”结合SSL vserver CAS_vserver_cs -certkeyName {CertKey}添加cs操作CAS_action_cs_owa -targetLBVserver CAS_vserver_owa添加cs操作CAS_action_cs_oab -targetLBVserver CAS_vserver_oab添加CAS_action_cs_as cs行动-targetLBVserver CAS_vserver_as添加cs操作CAS_action_cs_oa -targetLBVserver CAS_vserver_oa添加cs操作CAS_action_cs_ews -targetLBVserver CAS_vserver_ews添加cs操作CAS_action_cs_autodiscover -targetLBVserver CAS_vserver_ad添加cs策略CAS_policy_cs_owa规则”HTTP.REQ.URL.SET_TEXT_MODE (IGNORECASE) .STARTSWITH(\“/ owa \”)”-action CAS_action_cs_owa add cs policy CAS_vserver_oab -rule "HTTP.REQ.URL。add cs policy CAS_policy_cs_as -rule "HTTP.REQ.URL.SET_TEXT_MODE(IGNORECASE).STARTSWITH(\"/Microsoft-Server-ActiveSync\")"-action CAS_action_cs_as add cs policy CAS_policy_cs_autodiscover -rule "HTTP.REQ.URL.SET_TEXT_MODE(IGNORECASE).STARTSWITH(\"/Autodiscover\")"-action CAS_action_cs_autodiscover add cs policy CAS_policy_cs_oa -rule "HTTP.REQ.URL.SET_TEXT_MODE(IGNORECASE). startwith (\"/rpc\")"-action CAS_action_cs_oa add cs policy CAS_policy_cs_ews -rule "HTTP.REQ.URL.SET_TEXT_MODE(IGNORECASE). startwith (\"/EWS\")"动作片CAS_action_cs_ews结合cs vserver CAS_vserver_cs -policyName CAS_policy_cs_oa优先90结合cs vserver CAS_vserver_cs -policyName CAS_policy_cs_owa优先100结合cs vserver CAS_vserver_cs -policyName CAS_policy_cs_oab优先100结合cs vserver CAS_vserver_cs -policyName CAS_policy_cs_as优先110 cs vserver绑定CAS_vserver_cs -policyName CAS_policy_cs_autodiscover -priority 120 bind cs vserver CAS_vserver_cs -policyName CAS_policy_cs_ews -priority 130 bind cs vserver CAS_vserver_cs -lbvserver CAS_vserver_owa 

额外的服务群体:

添加serviceGroup CAS_servicegroup_rpc_ca TCP maxclient -maxReq 0 cip禁用切实没有- sp -useproxyport是的-cltTimeout{超时}-svrTimeout{超时}-CKA没有-TCPB cmp添加serviceGroup CAS_servicegroup_rpc_ab TCP maxclient -maxReq 0 cip禁用切实没有- sp -useproxyport是的-cltTimeout{超时}-svrTimeout{超时}-CKA没有-TCPB cmp绑定serviceGroup CAS_servicegroup_rpc_ca {CAS-1服务器}{CA港口}-CustomServerID”\“\”“没有绑定serviceGroup CAS_servicegroup_rpc_ca {CAS-2服务器}{CA港口}-CustomServerID”\“\”“没有绑定serviceGroup CAS_servicegroup_rpc_ab {CAS-1服务器}}{AB港口-CustomServerID”\“\”“没有绑定serviceGroup CAS_servicegroup_rpc_ab{CAS-2服务器}{AB端口}-CustomServerID "\"None\"" 

额外的监控:

add lb monitor CAS_monitor_rpc_ca TCP -LRTM ENABLED -destPort {CA Port} add lb monitor CAS_monitor_rpc_ab TCP -LRTM ENABLED -destPort {AB Port} bind serviceGroup CAS_servicegroup_rpc_ca -monitorName CAS_monitor_rpc_ca bind serviceGroup CAS_servicegroup_rpc_ab -monitorName CAS_monitor_rpc_ab 

额外的负载均衡虚拟服务器:

添加lb vserver CAS_vserver_rpc_ab TCP{rpc Public IP}{ab Port}-超时{pertimeout}-cltTimeout{timeout}-注释“用于rpc地址簿的vserver”添加lb vserver CAS_vserver_rpc_ca TCP{rpc Public IP}{ca Port}-超时{pertimeout}-cltTimeout{timeout}-注释“用于rpc客户端访问的vserver”绑定lb vserver CAS_vserver_rpc_ab CAS_服务组_rpc_ab绑定lb vserver CAS_vserver_rpc_ca CAS_服务组_rpc_ca<--需要复制-->

额外的持久性组:

绑定lb组CAS\u持久性\u组\u源IP CAS\u服务器\u rpc\u ab绑定lb组CAS\u持久性\u组\u源IP CAS\u服务器\u rpc\u ca<--需要复制-->

其他负载平衡虚拟服务器:

add lb vserver CAS_vserver_mapi SSL 0.0.0.0 0 -timeout {PersTimeout} -lbMethod LEASTCONNECTION -cltTimeout {Timeout} bind SSL vserver CAS_vserver_mapi -certkeyName {CertKey} bind lb vserver CAS_vserver_mapi CAS_servicegroup_http 

额外的持久性组:

绑定lb group CAS_persistency_group_sourceip CAS_vserver_mapi 

HTTP服务的内容切换:

add cs action CAS_action_cs_mapi -targetLBVserver CAS_vserver_mapi add cs policy CAS_policy_cs_mapi -rule "HTTP.REQ.URL.SET_TEXT_MODE(IGNORECASE). startwith (\"/mapi\")"-action CAS_action_cs_mapi绑定cs vserver CAS_vserver_cs -policyName CAS_policy_cs_mapi -priority 140 

可选配置

Outlook Web App(OWA)的HTTPS重定向:

添加lb vserver CAS_vserver_owa_http_redirect http{http Public IP}80-persistenceType COOKIEINSERT-timeout{PersTimeout}-lbMethod ROUNDROBIN-redirectURL“https://mail.example.com/owa“-cltTimeout{Timeout}<--需要复制-->

注意:用正确的HTTPS重定向URL替换。

owa政策改写:

添加重写操作owa_rewrite取代http.REQ.URL " \ " / owa \”“添加重写策略owa_rewrite_policy”http.req.url.eq(\ / \”)“owa_rewrite绑定磅vserver CAS_vserver_owa -policyName owa_rewrite_policy优先100 -gotoPriorityExpression结束类型请求添加响应器动作action_responder_owa定向" \ " https://www.example.com/owa \”“添加响应者policy_responder_owa HTTP.REQ。IS_VALID action_responder_owa set responder parameter -undefAction NOOP bind lb vserver CAS_vserver_owa -policyName policy_responder_owa -priority 100 - gotopriityexpression END -type REQUEST 

注意:用正确的HTTPS重定向URL替换。

支持SMTP:

对于以下配置,必须启用USIP,以便CAS服务器可以看到发送SMTP服务器的IP地址进行验证。此配置还要求将CAS服务器的默认网关配置为指向ADC设备的SNIP地址。

加磅vserver CAS_vserver_smtp TCP {HTTP公共IP} 25 -persistenceType SOURCEIP超时60 -lbMethod LEASTCONNECTION -cltTimeout 30添加serviceGroup CAS_servicegroup_smtp TCP maxclient -maxReq 0 cip禁用切实是的- sp了-useproxyport -cltTimeout 30 -svrTimeout 30 -CKA没有-TCPB cmp绑定serviceGroup CAS_servicegroup_smtp{CAS-1 Server} 25 -CustomServerID "\"None\"" bind serviceGroup CAS_servicegroup_smtp {CAS-2 Server} 25 -CustomServerID "\"None\"" bind lb vserver CAS_vserver_smtp CAS_servicegroup_smtp 

支持邮局协议版本3(POP3):

加磅vserver CAS_vserver_pop3 TCP {HTTP公共IP} 110 -persistenceType SOURCEIP超时{PersTimeout} -lbMethod LEASTCONNECTION -cltTimeout{超时}添加serviceGroup CAS_servicegroup_pop3 TCP maxclient -maxReq 0 cip禁用切实没有- sp -useproxyport是的-cltTimeout{超时}-svrTimeout{超时}-CKA没有-TCPB cmp绑定serviceGroup CAS_servicegroup_pop3 {CAS-1 Server} 110 -CustomServerID "\"None\"" bind serviceGroup CAS_servicegroup_pop3 {CAS-2 Server} 110 -CustomServerID "\"None\"" bind lb vserver CAS_vserver_pop3 CAS_servicegroup_pop3 

注:

通过将端口更改为995,将虚拟服务器/服务类型更改为SSL,可以对SSL加密的POP3执行上述配置。还要绑定一个合适的SSL证书。

支持IMAP:

加磅vserver CAS_vserver_imap TCP {HTTP公共IP} 143 -persistenceType SOURCEIP超时{PersTimeout} -lbMethod LEASTCONNECTION -cltTimeout{超时}添加serviceGroup CAS_servicegroup_imap TCP maxclient -maxReq 0 cip禁用切实没有- sp -useproxyport是的-cltTimeout{超时}-svrTimeout{超时}-CKA没有-TCPB cmp绑定serviceGroup CAS_servicegroup_imap {CAS-1 Server} 143 -CustomServerID "\"None\"" bind serviceGroup CAS_servicegroup_imap {CAS-2 Server} 143 -CustomServerID "\"None\"" bind lb vserver CAS_vserver_imap CAS_servicegroup_imap 

注:

对于SSL加密的IMAP,可以通过修改端口为993、虚拟服务器/服务类型为SSL来进行上述配置。还绑定一个合适的SSL证书。

其他资源