Citrix ADC

Lastausgleich des Microsoft Exchange-Servers

Dieses Dokument enthält die empfohlenen Konfigurationsbeispiele für den Lastenausgleich des Microsoft Exchange-Servers mit der Citrix ADC-Appliance.

Citrix ADM StyleBooks vereinfacht Citrix ADC Load Balancing-Konfigurationen für Exchange. Weitere Informationen finden Sie unter Microsoft Exchange StyleBook.

Hinweis:

Der Lastenausgleich von Microsoft Exchange ist mit einem einzigen virtuellen Lastenausgleichsserver nicht möglich. Befolgen Sie stattdessen die empfohlenen Konfigurationen in diesem Dokument.

Unterschiede in Microsoft Exchange 2016 und neueren Versionen

  • Sie müssen keine statischen RPC-Ports (Remote Procedure Call) an Exchange 2016 konfigurieren, da keine RPC-Ports verwendet werden.

  • Alle Abschnitte mit der Bezeichnung “für Exchange-Versionen unter 2016” sind mit Exchange 2016 nicht erforderlich.

  • Wenn Sie bereits eine der Versionen außerhalb von 2016 konfiguriert haben und auf 2016 migrieren, müssen Sie sie nicht entfernen. Denn selbst wenn sie existieren, gibt es keine Probleme.

Beachtenswerte Punkte

  • Für Remoteprozeduraufrufe (RPC) mit dem Exchange-Server unter 2016 müssen die Exchange-CAS-Server für statische Portzuweisungen konfiguriert sein. Weitere Informationen finden Sie unter Exchange 2010-Clientzugriffsserver: Konfigurieren statischer RPC-Ports Microsoft-Dokumentation.

  • Diese Konfiguration setzt voraus, dass die Citrix ADC-Appliance für SSL Offload verwendet wird. Weitere Informationen finden Sie unter Konfigurieren von SSL-Offloading in Exchange 2010 oder Konfigurieren von SSL-Abladungen in Exchange 2013.aspx.

  • Wenn Sie die SSL-Offload-Funktion der Citrix ADC-Appliance nicht verwenden möchten, ändern Sie die Dienstgruppe CAS_servicegroup_http und die Monitore in Typ SSL und deren Bindungen an den Port 443.

  • Der Überspannungsschutz ist nicht mit Microsoft Exchange kompatibel. Aktivieren Sie es nicht für einen Dienst oder eine Dienstgruppe, die mit Microsoft Exchange in Verbindung steht. Die Aktivierung des Überspannungsschutzes verursacht Probleme mit der Konnektivität und Zuverlässigkeit.

  • Ersetzen Sie die folgenden Variablen durch die richtigen Informationen:

    • {HTTP Public IP} —IP-Adresse für den öffentlichen Exchange-HTTP-Endpunkt
    • {RPC Public IP} —IP-Adresse für den öffentlichen Exchange RPC-Endpunkt (kann identisch mit HTTP Public IP sein)
    • {Timeout} —Gewünschtes Timeout (in Sekunden). Es wird empfohlen, so lang zu sein wie die Standard-Arbeitsschichtzeit (also 8 Stunden)
    • {perstimeOut} —Gewünschtes Timeout (in Minuten). Muss der vorherigen Timeout-Einstellung entsprechen.
    • {AB-Port} —TCP-Port des RPC-Adressbuchs (normalerweise 59601)
    • {CA Port} —RPC-Clientzugriff-TP-Port (normalerweise 59600)
    • {certKey} —SSL-Zertifikatsschlüssel
    • {CAS-1 Server} —IP-Adresse des CAS-Servers
    • {CAS-2 Server} —IP-Adresse des CAS-Servers

Empfohlene Konfigurationsbeispiele für alle Versionen von Microsoft Exchange Server

Service-Gruppen:

add serviceGroup CAS_servicegroup_http HTTP -maxClient 0 -maxReq 0 -cip DISABLED -usip NO -SP OFF -useproxyport YES -cltTimeout {Timeout} -svrTimeout {Timeout} -CKA NO -TCPB NO -CMP YES
add serviceGroup 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_servicegroup_http {CAS-1 Server} 80 -CustomServerID ""None""
bind serviceGroup CAS_servicegroup_http {CAS-2 Server} 80 -CustomServerID ""None""
bind serviceGroup CAS_servicegroup_rpc_epm {CAS-1 Server} 135 -CustomServerID ""None""
bind serviceGroup CAS_servicegroup_rpc_epm {CAS-2 Server} 135 -CustomServerID ""None""
<!--NeedCopy-->

Monitore:

add lb monitor CAS_monitor_rpc_epm TCP -LRTM ENABLED -destPort 135
set lb monitor http-ecv HTTP-ECV -recv 403 -LRTM DISABLED
bind serviceGroup CAS_servicegroup_http -monitorName http-ecv
bind serviceGroup CAS_servicegroup_rpc_epm -monitorName CAS_monitor_rpc_epm
<!--NeedCopy-->

Lastenausgleich virtueller Server:

add lb vserver CAS_vserver_owa SSL 0.0.0.0 0 -persistenceType COOKIEINSERT -timeout {PersTimeout} -lbMethod LEASTCONNECTION -cltTimeout {Timeout}
add lb vserver CAS_vserver_as SSL 0.0.0.0 0 -persistenceType RULE -timeout {PersTimeout} -lbMethod LEASTCONNECTION -rule "HTTP.REQ.HEADER("Authorization")" -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_owa -sslRedirect ENABLED
bind 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}
bind ssl vserver CAS_vserver_ad -certkeyName {CertKey}
bind lb vserver CAS_vserver_owa CAS_servicegroup_http
bind lb vserver CAS_vserver_oab CAS_servicegroup_http
bind lb vserver CAS_vserver_as CAS_servicegroup_http
bind lb vserver CAS_vserver_oa CAS_servicegroup_http
bind lb vserver CAS_vserver_ews CAS_servicegroup_http
bind lb vserver CAS_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
<!--NeedCopy-->

Persistenzgruppe:

add lb group CAS_persistency_group_sourceip
bind lb group CAS_persistency_group_sourceip CAS_vserver_oa
bind lb group CAS_persistency_group_sourceip CAS_vserver_oab
bind lb group CAS_persistency_group_sourceip CAS_vserver_ews
bind lb group CAS_persistency_group_sourceip CAS_vserver_ad
bind lb group CAS_persistency_group_sourceip CAS_vserver_rpc_epm
set lb group CAS_persistency_group_sourceip -persistenceType SOURCEIP -timeout {PersTimeout}
<!--NeedCopy-->

Content Switching für HTTP-Dienste:

add cs vserver CAS_vserver_cs SSL {Public IP} 443 -cltTimeout {Timeout} -caseSensitive OFF -comment "Exchange CS VServer"
bind ssl vserver CAS_vserver_cs -certkeyName {CertKey}
add cs action CAS_action_cs_owa -targetLBVserver CAS_vserver_owa
add cs action CAS_action_cs_oab -targetLBVserver CAS_vserver_oab
add cs action CAS_action_cs_as -targetLBVserver CAS_vserver_as
add cs action CAS_action_cs_oa -targetLBVserver CAS_vserver_oa
add cs action CAS_action_cs_ews -targetLBVserver CAS_vserver_ews
add cs action CAS_action_cs_autodiscover -targetLBVserver CAS_vserver_ad
add cs policy CAS_policy_cs_owa -rule "HTTP.REQ.URL.SET_TEXT_MODE(IGNORECASE).STARTSWITH("/owa")" -action CAS_action_cs_owa
add cs policy CAS_vserver_oab -rule "HTTP.REQ.URL.SET_TEXT_MODE (IGNORECASE).STARTSWITH("/OAB")"
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).STARTSWITH("/rpc")" -action CAS_action_cs_oa
add cs policy CAS_policy_cs_ews -rule "HTTP.REQ.URL.SET_TEXT_MODE(IGNORECASE).STARTSWITH("/EWS")" -action CAS_action_cs_ews

bind cs vserver CAS_vserver_cs -policyName CAS_policy_cs_oa -priority 90
bind cs vserver CAS_vserver_cs -policyName CAS_policy_cs_owa -priority 100
bind cs vserver CAS_vserver_cs -policyName CAS_policy_cs_oab -priority 100
bind cs vserver CAS_vserver_cs -policyName CAS_policy_cs_as -priority 110
bind 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
<!--NeedCopy-->

Empfohlene Konfigurationsbeispiele für Versionen von Microsoft Exchange Server unter 2016

Weitere Servicegruppen:

add serviceGroup CAS_servicegroup_rpc_ca TCP -maxClient 0 -maxReq 0 -cip DISABLED -usip NO -SP OFF -useproxyport YES -cltTimeout {Timeout} -svrTimeout {Timeout} -CKA NO -TCPB NO -CMP NO
add serviceGroup CAS_servicegroup_rpc_ab 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_servicegroup_rpc_ca {CAS-1 Server} {CA Port} -CustomServerID ""None""
bind serviceGroup CAS_servicegroup_rpc_ca {CAS-2 Server} {CA Port} -CustomServerID ""None""
bind serviceGroup CAS_servicegroup_rpc_ab {CAS-1 Server} {AB Port} -CustomServerID ""None""
bind serviceGroup CAS_servicegroup_rpc_ab {CAS-2 Server} {AB Port} -CustomServerID ""None""
<!--NeedCopy-->

Weitere Monitore:

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

Zusätzliche virtuelle Lastenausgleichsserver:

add lb vserver CAS_vserver_rpc_ab TCP {RPC Public IP} {AB Port} -timeout {PersTimeout} -cltTimeout {Timeout} -comment "vserver for  RPC Address Book"
add lb vserver CAS_vserver_rpc_ca TCP {RPC Public IP} {CA Port} -timeout {PersTimeout} -cltTimeout {Timeout} -comment "vserver for  RPC Client Access"
bind lb vserver CAS_vserver_rpc_ab CAS_servicegroup_rpc_ab
bind lb vserver CAS_vserver_rpc_ca CAS_servicegroup_rpc_ca
<!--NeedCopy-->

Zusätzliche Persistenzgruppe:

bind lb group CAS_persistency_group_sourceip CAS_vserver_rpc_ab
bind lb group CAS_persistency_group_sourceip CAS_vserver_rpc_ca
<!--NeedCopy-->

Empfohlene Konfigurationsbeispiele für Versionen von Microsoft Exchange Server 2016 und neuer

Zusätzlicher virtueller Lastenausgleichsserver:

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

Zusätzliche Persistenzgruppe:

bind lb group CAS_persistency_group_sourceip CAS_vserver_mapi
<!--NeedCopy-->

Content Switching für HTTP-Dienste:

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).STARTSWITH("/mapi")" -action CAS_action_cs_mapi
bind cs vserver CAS_vserver_cs -policyName CAS_policy_cs_mapi -priority 140
<!--NeedCopy-->

Optionale Konfigurationen

HTTPS-Weiterleitung für Outlook Web App (OWA):

add 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}
<!--NeedCopy-->

HINWEIS: Ersetzen Sie durch die richtige HTTPS-Umleitungs-URL.

Richtlinie für /owa rewrite:

add rewrite action owa_rewrite replace http.REQ.URL ""/owa""
add rewrite policy owa_rewrite_policy "http.req.url.eq("/")" owa_rewrite
bind lb vserver CAS_vserver_owa -policyName owa_rewrite_policy -priority 100 -gotoPriorityExpression END -type REQUEST
add responder action action_responder_owa redirect ""https://www.example.com/owa""
add responder policy_responder_owa HTTP.REQ.IS_VALID action_responder_owa
set responder param -undefAction NOOP
bind lb vserver CAS_vserver_owa -policyName policy_responder_owa -priority 100 -gotoPriorityExpression END -type REQUEST
<!--NeedCopy-->

HINWEIS: Ersetzen Sie durch die richtige HTTPS-Umleitungs-URL.

Unterstützung für SMTP:

Für die folgende Konfiguration muss USIP aktiviert sein, damit die CAS-Server die IP-Adresse des sendenden SMTP-Servers zur Validierung sehen können. Diese Konfiguration erfordert auch, dass das Standardgateway des CAS-Servers so konfiguriert ist, dass es auf die SNIP-Adresse der ADC-Appliance zeigt.

add lb vserver CAS_vserver_smtp TCP {HTTP Public IP} 25 -persistenceType SOURCEIP -timeout 60 -lbMethod LEASTCONNECTION -cltTimeout 30
add serviceGroup CAS_servicegroup_smtp TCP -maxClient 0 -maxReq 0 -cip DISABLED -usip YES -SP OFF -useproxyport YES -cltTimeout 30 -svrTimeout 30 -CKA NO -TCPB NO -CMP NO
bind 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
<!--NeedCopy-->

Unterstützung für Post Office Protocol Version 3 (POP3):

add lb vserver CAS_vserver_pop3 TCP {HTTP Public IP} 110 -persistenceType SOURCEIP -timeout {PersTimeout} -lbMethod LEASTCONNECTION -cltTimeout {Timeout}
add serviceGroup CAS_servicegroup_pop3 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_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
<!--NeedCopy-->

Hinweis:

Sie können die vorhergehende Konfiguration für SSL-verschlüsseltes POP3 durchführen, indem Sie den Port auf 995 und die virtuellen Server-/Diensttypen in SSL ändern. Binden Sie auch ein geeignetes SSL-Zertifikat.

Unterstützung für IMAP:

add lb vserver CAS_vserver_imap TCP {HTTP Public IP} 143 -persistenceType SOURCEIP -timeout {PersTimeout} -lbMethod LEASTCONNECTION -cltTimeout {Timeout}
add serviceGroup CAS_servicegroup_imap 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_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
<!--NeedCopy-->

Hinweis:

Sie können die vorhergehende Konfiguration für SSL-verschlüsselte IMAP durchführen, indem Sie den Port auf 993 und die virtuellen Server-/Diensttypen in SSL ändern. Binden Sie auch ein geeignetes SSL-Zertifikat.

Andere Ressourcen