Zwei Exchange-Organisationen verbinden

Manchmal ist es sinnvoll, zwei Exchange-Organisationen zusammenzuführen. So ist der Mailfluss gewährleistet, es existiert ein gemeinsames Adressbuch und es kann gegenseitig auf die Organisations-eignen Kalender zugegriffen werden. Markus Hengstler zeigt, wies geht.

Autor Markus Hengstler
Datum 03.03.2015
Lesezeit 7 Minuten

In letzter Zeit betreffen viele meiner Kundenanfragen das Setup von Funktionalitäten zwischen zwei Exchange-Organisationen. Sei es wegen enger Partnerschaft zwischen zwei Firmen oder einer Akquisition. Die Zusammenarbeit kann massgeblich verbessert werden, wenn der Mailfluss gesichert ist, ein gemeinsames Adressbuch existiert und Kalendereinträge der Partnerorganisation bei der Meeting-Planung ersichtlich sind. In diesem Artikel zeige ich die Konfiguration der Adressbücher und der Frei/Gebucht-Zeiten.

Lab-Umgebung

Die Lab-Umgebung umfasst zwei Active Directories: lab3.hengstler-it.com und lab4.hengstler-it.com. Beide befinden sich im gleichen Subnet und bestehen aus jeweils einem Domain Controller, einem Exchange 2013 CU7 Server und einem Windows 8.1 Client mit Office 2013/Office 2010. Hier eine Tabelle der Benutzer, die in den Abbildungen zu sehen sind:

AD Anzeigename E-Mail-Adresse
Lab3 Exchange Admin exadmin@lab3.hengslter-it.com
Test User 1 test.user1@lab3.hengstler-it.com
Test User 2 test.user2@lab3.hengstler-it.com
Lab4 Exchange Admin exadmin@lab4.hengslter-it.com
Test User 3 test.user3@lab4.hengstler-it.com
Test User 4 test.user4@lab4.hengslter-it.com

Voraussetzungen

Natürlich muss die Netzwerk-Kommunikation zwischen den Exchange Servern möglich sein. Ob dies über eine VPN-Verbindung oder via Reverse Proxy / SMTP Gateway geschieht, hängt von den gewünschten Funktionalitäten und der Nähe der beiden Organisationen zueinander ab. In meinem Beispiel gehe ich davon aus, dass beide Umgebungen vom gleichen Adminteam verwaltet werden und sowohl eine VPN-Verbindung besteht als auch ein AD Trust möglich ist. Als Alternative könnte eine Vertrauensstellung zu Microsofts Federation Gateway eingerichtet werden.

Die Auflösung in DNS muss für die Namen der Partnerorganisation ebenfalls funktionieren. Dies wird später sowohl für den AD Trust als auch für Autodiscover benötigt. Es gibt verschiedene Varianten, eine übergreifende Namensauflösung zu erreichen:

Conditional Forwarding Statische Einträge verweisen auf die NamevServer der Partnerorganisation
Secondary Zone Die Zone der Partnerorganisation wird komplett repliziert
Stub Zone Aus der Zone der Partnerorganisation werden nur die Name-Server-Einträge repliziert
Pinpoint-Einträge Nur die benötigten Einträge werden in einer unabhängigen Zone erfasst

 

In meiner Lab-Umgebung verwende ich der Einfachheit halber Conditional Forwarding, da sowieso nur ein Name Server pro Zone existiert. Hier die Konfiguration auf LAB3-DC01:

exchange-2013-zwei-organisationen-verbinden-1

Die Konfiguration lässt sich in Active Directory abspeichern, sodass sie nicht auf jedem DC manuell erfolgen muss:

exchange-2013-zwei-organisationen-verbinden-2

Der AD Trust wird für den Zugriff auf Frei/Gebucht-Informationen verwendet. Es ginge zwar auch ohne diesen, nur liesse sich dann nicht granular steuern, wer welche Tiefe von Information sehen kann.

Wie im Screenshot ersichtlich, handelt es sich um einen transitiven Zwei-Weg-Trust. Mittels selektiver Authentisierung lässt sich die Verwendung auf die Exchange Server beschränken.

exchange-2013-zwei-organisationen-verbinden-3

Die Zertifikate des Partner-Servers müssen vertrauenswürdig sein. Wenn öffentliche Zertifikate auf den Exchange Servern installiert sind, entfallen weitere Schritte. Im Lab sind Zertifikate einer internen CA (certificate authority) in Verwendung. Am einfachsten lässt sich ein Trust erreichen, indem das CA-Zertifikat des Partners per Gruppenrichtlinie verteilt wird:

exchange-2013-zwei-organisationen-verbinden-4

Verifizieren lässt sich sowohl die Namensauflösung als auch das Vertrauen in die Zertifikate, wenn von einem Client die OWA-Seite der Partnerorganisation aufgerufen wird. Dabei darf keine Warnmeldung im Browser erscheinen:

exchange-2013-zwei-organisationen-verbinden-5

Gemeinsames Adressbuch

Grundsätzlich müssen für ein gemeinsames Adressbuch in beiden Organisationen Exchange-aktivierte Objekte für jeden Empfänger vorhanden sein. Dies wird normalerweise dadurch erreicht, dass die Benutzer mit Mailboxen der einen Organisation als Kontakte zum Partner repliziert werden. Diese Kontakte müssen Exchange-aktiviert sein – es genügt nicht, sie als AD-Kontakte erstellen zu lassen. Hier gibt es fertige Lösungen wie Microsoft Forefront Identity Manager (FIM) oder Dell Collaboration Services. Alternativ lässt sich dies bei kleinen Umgebungen manuell oder in grösseren per PowerShell Script bewerkstelligen.

Carol Wapshere hat ein Skript zur Verfügung gestellt, das nur noch angepasst werden muss: http://www.wapshere.com/missmiis/galsync-v2

Der nächste Screenshot zeigt den Output des Scripts beim Erstellen von zwei Kontakten.

exchange-2013-zwei-organisationen-verbinden-6

Diese erscheinen danach im Adressbuch des Exchange Servers:

exchange-2013-zwei-organisationen-verbinden-7

exchange-2013-zwei-organisationen-verbinden-8

Austausch von Frei/Gebucht-Informationen

Autodiscover muss organisationsübergreifend abgefragt werden können. Dies kann über LDAP-Abfragen durch einen Export/Import oder rein mittels DNS geschehen. Ich habe mit LDAP die besseren Erfahrungen gemacht. Hier der nötige Befehl und das Ergebnis:

exchange-2013-zwei-organisationen-verbinden-9

exchange-2013-zwei-organisationen-verbinden-10

Nun müssen noch für die Computer Accounts der CAS Server die nötigen Berechtigungen erteilt werden, damit sie die Verfügbarkeitsinformationen abfragen können. Bei Verwendung von Multirole Servern kann dieser Befehl in beiden Umgebungen mit der jeweiligen Gruppe «Exchange Servers» ausgeführt werden:

exchange-2013-zwei-organisationen-verbinden-11

Dann wird in jeder Organisation der Namensraum des Parterns für den Informationsaustausch konfiguriert:

exchange-2013-zwei-organisationen-verbinden-12

Als Resultat lassen sich die Benutzer des anderen Forests aus der globalen Adressliste in Besprechungsanfragen hinzufügen und die Verfügbarkeit ist ersichtlich:

exchange-2013-zwei-organisationen-verbinden-13

Allerdings fehlen detaillierte Angaben. Dazu müssen den Kontakten spezifische Attribute für Cross-Forest-Delegation hinzugefügt werden, die durch das GAL Script nicht abgedeckt sind. Ohne sie lassen sich für die Kontakte keine Berechtigungen vergeben. Im nächsten Screenshot ist das Verhalten ersichtlicht: Test User 1 ist bereits erweitert, Test User 2 hingegen nicht, was mit dem Stopp-Symbol ausgedrückt wird.

exchange-2013-zwei-organisationen-verbinden-14

Die nächste Abbildung zeigt den Kalender von Test User 3 aus Sicht von Test User 1, nachdem ersterer ihm das Recht erteilt hat, detailliertere Free/Busy-Informationen abzufragen.

exchange-2013-zwei-organisationen-verbinden-15

Die Attribute der Kontakte im Vergleich

Test User 1 (Cross-Forest-Delegation möglich)

exchange-2013-zwei-organisationen-verbinden-16

Test User 2 (keine Delegation möglich):

exchange-2013-zwei-organisationen-verbinden-17

Fazit

Die Verbindung zweier Exchange-Organisationen ist keine Hexerei und erfordert auch nicht zwingend teure und komplexe Zusatzsoftware. Es gibt einige Stolpersteine, aber mit genügend Kenntnissen über Aufbau und Funktionsweise von Active Directory und Exchange lassen sich diese meistern. Hierzu empfehle ich den Besuch folgender Kurse:

Ein letzter Tipp: Bei Problemen mit der Anzeige von Verfügbarkeitsinformationen verwenden Sie Outlook 2010 und dessen Troubleshooting Logging (File – Options – Advanced). In Outlook 2013 wird statt einem Text- ein Tracefile erstellt, das nicht direkt lesbar ist.


Über den Autor

Markus Hengstler

Markus Hengstler arbeitet bei der UMB AG als Senior Systems Engineer in den Bereichen Exchange, Windows und Citrix. Dank seiner Erfahrungen in diesen Bereichen ist er zertifizierter «MCSE: Server Infrastructure». Ausserdem ist er einer von drei «MCSM: Messaging» in der Schweiz. Seit 2001 unterrichtet er als Microsoft Certified Trainer und seit 2010 als Citrix Certified Instructor bei Digicomp.