Exchange 2007 Kalender Federation
Die Federation mit Exchange 2010 wurde anders gelöst, so dass auch keine Kontakte, Trusts und Dienstkonten mehr erforderlich sind. Sie können aber weiterhin auch diese "alte" Verbindung konfigurieren.
Cross Org Availability using
Federation Trust and Organization Relationship
http://blogs.technet.com/b/exchange/archive/2011/06/28/cross-org-availability-using-federation-trust-and-organization-relationship.aspx
Aktuell scheint die Verbindung
immer nur dann zu gehen, wenn die CAS-Server
direkt miteinander kommunizieren können. Auch
wenn es viele Hinweise gibt habe ich noch keinen
Weg gefunden, dass der CAS-Server einen
HTTP-Proxy nutzt und schon gar nicht wie er sich
daran anmelden kann. (Eventuell Computername$).
Es sollte möglich sein, wenn eine Firewall eine
direkte Verbindung über einen Proxy leitet.
Exchange 2007 war die erste Version, welche direkt eine Verbindung zwischen zwei Organisationen für Frei/Belegt-Zeiten erlaubt. Schlüssel sind hierzu ein paar Konfigurationen und eine Verbindung der CAS-Server. Ein Outlook 2007 oder höher erfragt dann von einem CAS-Server die Frei-Belegt-Zeiten, die diese dann normalweise aus den Postfächern der eigenen Organisation direkt oder mit Hilfe eines weiteren CAS-Servers in dem Standort der Mailbox ermittelt. Zwischen verschiedenen Exchange Organisationen ist dies aber ebenfalls möglich, wenngleich die Administratoren hierzu etwas konfigurieren müssen.
Trusted oder untrusted
Microsoft unterscheidet bei Exchange 2007 zwei Betriebsarten:
- Nicht vertraute Forests
Dabei gibt es keine Windows Vertrauensstellung oder Kopplung zwischen den beiden Forests. In dem Fall kann es nur ein generische Einrichtung geben, bei der alle Frei/Belegt-Zeiten unabhängig vom anfragenden Benutzer "gleich" zurück gegeben werden - Forest mit Trust
In dem Fall kann ein Exchange Server auch das anfragenende Konto dank dem Trust überprüfen und abgestuft die Antwort liefern. Hierzu sind aber weitere vorarbeiten notwendig, z.B. der Export des "Service Connection Point" in einer Organisation und der Import in der anderen Organisation. Dann kann der Zugriff über Sicherheitsgruppen gesteuert werden.
Im folgenden beschreibe ich Verbindung zweiter Forests ohne Vertrauensstellung. Die Verbindung von Forests über eine Vertrauensstellung erfordert eine interne VPN-Verbindung und macht einige Einstellungen einfacher (z.B. Autodiscover), die hier das große Thema sind.
Die weitere Beschreibung geht davon aus, dass es keinen Trust gibt und nur die CAS-Server miteinander kommunizieren und die Kontakte bereit gestellt wurden.
Funktionsweise
Schauen wir uns an einem Schaubild mit Exchange 2007 einmal an, wie ein Anwender auf der linken Seite seinen CAS-Server fragt, und dieser dann "irgendwie" über Server im Ziel die Daten besorgt.
Folgende Punkte sind dabei zu beachten. Der Einfachheit halber beschreibe ich nur eine Richtung. Wer dies auf Gegenseitigkeit einrichten will, muss die Arbeit doppelt machen. Hier noch ein Ablaufdiagramm der Abfrage eines Clients:
Dieses Bild ist besonders bei der Fehlersuche hilfreich, da z.B. die DNS-Abfragen auch mit NETMON oder mit "IPCONFIG /DisplayDNS" gesehen werden können. Die ganzen IIS-Abfragen kann man auch bei verschlüsselten Verbindungen (HTTPS) im IIS-Log des Zielservers erkennen oder in der Firewall als direkte Verbindung. Denn sonst gibt es fast keine direkten Verbindungen zwischen CAS-Servern, die ihre Analyse stören könnten.
Einrichtung Seite1: der Freigebende
Zuerst muss die Exchange Organisation, die ihre Frei/Belegt-Zeiten einer anderen Organisation bereitstellen will, ein paar Voraussetzungen erfüllen. Diese sollten vorab gewährleistet sein:
Beschreibung | Status |
---|---|
Eindeutige RoutingdomäneDie später anfragenden Systeme müssen per Autodiscover und eine eindeutig ihrer Organisation zugeordnete SMTP-Domäne sie finden. Das ist kein Problem zwischen Firmen, die ansonsten getrennt sind. Anders sieht es aus, wenn Sie mehrere Exchange Organisationen betreiben, die einen gemeinsamen Adressraum nutzen. Die für die Frei/Belegt-Anzeige sowieso erforderlichen Kontakte auf der "anderen Seite " müssen mit einer "TargetAddress" versehen sein, die auch als Ziel für die Frei/Belegt-Anfrage dient. Die TargetAdress muss nicht die primäre Adresse des Empfängers sein. Es reicht diese als sekundäre Adresse zu haben. Sie können so eine Adress auch per PowerShell direkt ohne Änderung der Empfängerrichtlinien addieren. Weil die Exchange 2010 PowerShell die Verkettung zweier Piplines oft verhindert. Und ich die Liste der betroffenen Konten gerne kontrolliere, nutze ich eine Variable als Zwischenspeicher. $mblist = get-mailbox $mblist | %{ ` Set-Mailbox ` -Identity $_.identity ` -EmailAddresses @{add=("SMTP"+$_.alias+"@routingdomain.tld")}} Der Alias ist innerhalb einer Organisation in der Regel eindeutig und daher ideal geeignet. Der Get-Mailbox kann natürlich über "-organizationalunit xxxx" und andere Kriterien gefiltert werden. Wenn sie mehr als 1000 Objekte erwarten, sollten Sie ein "-resultsize unlimited" anhängen. Mehrere Domänen werden mit einem "-IgnoreDefaultScope"-Parameter durchsucht. |
|
Autodiscover für PartnerFür die gewählte eindeutige Routingdomäne muss natürlich auch Autodiscover funktionieren. Und da die Exchange CAS-Server hier keine SRV-Records o.ä. Unterstützten müssen Sie:
Lassen Sie ihren Gegenüber den Zugriff auf "autodiscover.<routingdomain> von dessen CAS-Server überprüfen, |
|
Dienstkonto anlegenDa eine Abfrage nie anonym möglich ist, muss der Administrator in der Organisation, die ihre Informationen bereitstellen will, ein Dienstkonto anlegen. Dieses Konto benötigt nur minimalste Rechte, d.h. selbst Domain Benutzer ist schon viel. Es benötigt auch kein Postfach. Es dient dem CAS-Server einfach dazu, die Gültigkeit der Anforderung zu prüfen. Das Kennwort sollte ausreichend komplex sein aber sollte nicht geändert werden müssen und nicht ablaufen. Wenn mehrere Firmen ihre Frei/Belegt-Zeiten abfragen, werden alle Firmen das gleiche Benutzerkonto nutzen. Prüfung: Melden Sie sich im Ziel an einem PC mit dem Benutzer und Kennwort an. Später können Sie im Security Eventlog und IISLog sehen, dass die andere Exchange Organisation sich anmeldet. Tipp |
|
Dienstkonto in Exchange eintragenDieses Konto muss in Exchange dann noch eingetragen werden, damit der CAS-Server Anfragen dieses Benutzers per EWS auch beantworten kann Set-AvailabilityConfig -OrgWideAccount domain\serviceaccount" Das Konto benötigt KEIN Postfach und muss in keinster weise privilegiert sein. Überprüfen die die korrekte Eintragung mit: Get-AvailabilityConfig | fl Kontrollieren sie zur Sicherheit auch noch mal die Schreibweise. Es muss genau passen. The second example of the Set-AvailabilityConfig
command is useful if the remote forest is not trusted. When you are
prompted, type the User name and password. Because this account is used für a cross-forest free/busy proxy account or group, minimize security
vulnerabilities by using the credentials of a User who does not have an
Exchange mailbox |
|
42 Tage und 62 TageExchange 2007 fragt per Default die Frei/Belegt-Zeiten der nächsten 42 Tage ab. Exchange 2010 hat diesen Zeitraum auf 62 Tage erweitert. Stellt nun ein Exchange 2010 Server eine Anfragen an einen Exchane 2007 Server so lehnt dieser ab, wenn mehr als 42 Tage in die Zukunft angefordert werden. Eine kleine Anpassung an der Konfiguration von Exchange 2007 löst das Problem. Editieren Sie dazu die web.config in "<Exchange-Installationspfad>\V14\ClientAccess\ExchWeb\EWS\web.config" <appSettings> <add key="maximumQueryIntervalDays" value="62" /> </appSettings>
|
|
Damit sollte auf der Seite es Anbieters auch schon alles erledigt sein.
Einrichtung Teil2: Der Anfragende
Die Organisation, die ihrerseits die Frei/Belegt-Zeiten einer anderen Firma abfragen will, muss natürlich auch einige Einstellungen vornehmen.
Beschreibung | Status |
---|---|
Add-AvailabilityAuf der Seite der anfragenden Organisation muss natürlich eingetragen werden, dass der Zugriff auf die Frei-Belegt-Zeiten der entsprechenden Domain per Federation erlaubt ist. Weiterhin müssen hier die von der anderen Seite als Dienstkonto bereitgestellten Anmeldedaten erfasst werden. # Erfassen der Anmeldedaten einmalig interkativ $cred = get-Credential # Anlegen der Federation. Add-AvailabilityAddressSpace ` -ForestName netatwork.de ` -AccessMethod OrgWideFB ` -Credentials $cred Wenn Sie keine direkte Kopplung über die CAS-Server betreiben, dann können Sie auch weiter wie früher die öffentlichen Ordner replizieren. (Siehe auch IOREPL. Dann lautet der Befehl etwa: Add-AvailabilityAddressSpace ` -ForestName <Domainname> ` -AccessMethod PublicFolder |
|
Viel testen können Sie hier noch nicht. Allerdings können Sie die konfigurierten Domänen mit "Get-AvailabilityAddressSpace" auslesen. Zudem sollten Sie natürlich entsprechende Latenzzeiten im AD und LDAP-Caches in Exchange berücksichtigen. Es kann also etwas dauern, bis die Einstellungen wirken. |
|
Kontakt anlegenWenn später ihr Outlook ihren Exchange Server befragt, dann schaut der CAS-Server zuerst nach, ob es denn auch einen passenden Kontakt im Active Directory gibt. Damit wird z.B. verhindert, dass jemand auch "wild" adressiert. Allerdings muss der Kontakt nicht per MIIS oder GalSync angelegt werden, wie Microsoft das beschreibt. Es ist einfach nur ein "normaler Kontakt" (MailContact oder MailUser) der als TargetAddress die richtige SMTP-Adresse hat. Sie können diesen Testweise natürlich auch manuell über die Exchange Management Console oder Shell oder jedem anderen Werkzeug zum Adressbuchabgleich anlegen. Ein Kontakt ist aber auch noch aus anderer Hinsicht interessant: If Exchange 2007 is unable to match the incoming e-mail to an item in
the GAL, it will not process the meeting request. Prüfen Sie, ob der Kontakt nach einiger Zeit in Outlook und OWA auswählbar ist. Die Sichtbarkeit in Outlook kann etwas dauern, wenn sie mit dem Cached Mode arbeiten. Daher ist OWA der bessere Test. Zudem sollten Sie natürlich entsprechende Latenzzeiten im AD und LDAP-Caches in Exchange berücksichtigen. Es kann also etwas dauern, bis die Einstellungen wirken. Bei Outlook im Cached Mode werden die Kontakte erst nach dem nächsten OAB-Gen und Download sichtbar. |
|
CAS Zugriff, Proxy, FirewallDamit der CAS Server nun die Frei/Belegt-Zeiten ermitteln kann, muss er per HTTPS auf den anderen CAS-Server zugreifen können. Leider nutzt der Exchange CAS erst mal keine HTTP-Proxy-Einstellungen und Authentifizierungen.
|
|
Damit sollte die Einrichtung im groben erfolgt sein.
Funktionstest auf dem Client
In den meisten Fällen geht es aber dennoch nicht, so dass Sie Schritt für Schritt nachprüfen müssen, ob alles geht und wo es klemmt. Die kurze Stichpunktliste soll ihnen dabei helfen, Schritt für Schritt die Stationen abzulaufen und etwaige Fehler zu finden.
Hinter dieser Checkliste finden Sie weitere Kapitel, die einzelne Prüfungsschritte ausführlicher erläutern
Prüfung | Status |
---|---|
Einladen in OutlookStart ist eine Besprechungseinladung auf einem Outlook 2007 oder höher-Client, bei der ihr externe Kontakt eingeladen wird
Der erste Aufruf kann durchaus einige Sekunden dauern. Warten Sie in der Terminübersicht, bis aus dem grauen Balken ein gestreifter Balken wird oder die Belegt-Zeiten angezeigt werden. |
|
Mit Tools wie Fiddler können sie auf dem Outlook Client die WebService-Anfragen nachverfolgen. Ich hatte so z.B. schon mal das Problem analysiert, wenn der Benutzer in sehr vielen Gruppen Mitglied ist und daher das Ticket über 100kByte geworden ist.
- 2491354 You cannot view the free/busy information of Users in a mixed Exchange Server 2007 and Exchange Server 2010 environment
Suche auf dem CAS-Server
Wenn die Besprechungsplanung auf dem Client problemlos möglich ist aber die Abfrage der Frei/Belegt-Zeiten erfolglos ist, dann müssen Sie auf dem CAS-Server weiter schauen.
Hinweis:
Wer mehrere CAS-Server mit Loadbalancer
hat, muss erst ermitteln, auf welchem
CAS der Client agiert. Wenn der
Loadbalancer eine Source-IP-Affinität
nutzt, dann brauchen Sie nur einmal unter OWA die Information anzuzeigen um
den CAS-Server zu wissen. Andere Administratoren
legen sich eine Testdatei auf den IIS
mit dem echten Servernamen, um so
schnell den aktiven CAS zu finden und
nebenbei über diese HTML-Datei auch
einen Verfügbarkeitscheck zu erlauben.
Gegen wir davon aus, dass der Client seine Anfrage an den Exchange CAS-Server gestellt hat, der Kontakt vorhanden und die Domäne mit "Add-AvailabilityAddressSpace" addiert wurde. Dann wird der CAS erst eine Autodiscover-Anfrage stellen und dann mit der Antwort die Webservices der anderen Seite ansprechen. Auch dieser Prozess kann Schritt für Schritt nachgeprüft werden:
Prüfung | Status |
---|---|
IPCONFIG /DisplaydnsSuchen Sie nach dem Einträge zu "autodiscover.<routingdomäne>" um zu sehen, ob und wenn ja, welche Antwort der CAS bekommen hat. Ist hier kein Eintrag, dann hat der CAS noch nie gefragt.
|
|
Autodiscover ZugriffWenn die DNS-Anfrage raus ist, dann sollten Sie prüfen, ob der Zugriff funktioniert. Starten Sie auf dem CAS einfach mal einen Browser und gehen sie auf https://autodiscover.<routingdomain>/autodiscover/autodiscover.xml und prüfen Sie
|
|
EventlogAktivieren Sie auf dem Exchange CAS-Server die Diagnoseprotokollierung auf den "Availibilty Service". Sie sollten dann im Anwendungseventlog etwaige Fehler finden. |
|
Netmon/FirewallWenn der Zugriff per HTTPS möglich ist, dann können Sie mit NETMON o.ä. oder auf der Firewall schauen, ob der CAS-Server einen Zugriff auf den anderen CAS-Server versucht. Ein Filter auf die TargetIP oder "tcp.DstPort==443" helfen, um ausgehende Verbindungen per HTTPS zu ermitteln. |
|
IISLog/FREBWenn Sie ausgehende Verbindungen erkennen können, dann ist mit SSL kaum beizukommen, was da passiert. Nun sollten Sie den Administrator auf der anderen Seite mit ins Boot holen. Er kann sehen, auf welchem Webserver die Anfragen ankommen und dann im IISLog/LoadbalancerFirewall sehen, wie die Anfrage beschieden wird. Mit dem IIS als Backend kann der Administrator mittels IIS Failed Request Tracing auf dem Verzeichnis Autodiscover gehen, um die Anfrage und deren Antwort entschlüsselt zu analysieren. |
|
Eventlog auf der GegenseiteAuch hier sollte im Security-Eventlog in der Regel die erfolgreiche Anmeldung gesehen werden. Vielleicht ist es ja nur ein falsch eingegebenes Kennwort bei "Add-AvalibilityAddressSpace" |
|
EWS-FunktionWir nehmen mal an, dass nun der CAS-Server einen gültigen "Autodiscover"-Eintrag bekommen hat. Der Exchange Server holt sich aus der XML-Antwort die "ExternalURL" der Exchange Webdienste ihres Partnerunternehmens und versucht über diese URL dann die Frei/Belegt-Daten für den Anwender zu bekommen. für diese URL können die gleichen Schritte wie bei Autodiscover wiederholen. Ein HTTPS-Zugriff auf die vorgeblichen Webadressen samt Servicekonto und Kennwort sind ein erster Test. Wer mag kann auch https://www.testexchangeconnectivity.com/ verwenden. |
|
Es ist als schon etwas mehr, als was Microsoft so "kurz" mal in der Dokumentation mit wenigen Zeilen beschreibt. Vor allem die Fehlersuche ist nicht ganz trivial, da unterschiedliche Komponenten zusammen greifen.
Fun und Stress mit Autodiscover und EWS ASURL
Ein CAS-Server nutzt die Funktion über Autodisover, um die URL für den Zugriff auf die Web-Services zu erhalten. dazu muss man gleich mehrere Einschränkungen können:
- Keine statische Konfiguration
Anders als auf einem Outlook Client kann man keine XML-Datei hinterlegen, in der die Autokonfiguration vorgegeben ist. - Keine SRV-Records
OutOutlook 2007 und 2010 unterstützen neben "autodiscover.domain.tld" auch die Anfrage nach "_autodiscover._tcp.domain.tld". Das funktioniert nicht beim CAS-Server
DNS Service Location (SRV) records do not work to
locate the Autodiscover service to an Exchange 2007 Client Access server
in a cross-forest scenario.
Quelle:
http://technet.microsoft.com/en-us/library/bb125182(EXCHG.80).aspx
- InternalURL
Fast unbemerkt ist eine Aussage in dem gleichen Dokument, welches beschreibt, dass Exchange aus der Autodiscover-Antwort die "InternalURL" für den folgenden EWS Zugriff nutzt. Das ist natürlich komplett der falsche Ansatz, da ich bei Federation in den seltensten Fällen "intern" bin, mal abgesehen von dem Fall, dass zwei Organisationen ein VPN sharen und bald migriert werden wollen.
Autodiscover will return the Availability
InternalURL to the Exchange 2007 Client Access Server.
Quelle:
http://technet.microsoft.com/en-us/library/bb125182(EXCHG.80).aspx
- Timeout = 10 Sekunden
Der CAS-Server wartet maximal 10 Sekunden, ehe er aufgibt und dem Client einen Fehler liefert.
If the Autodiscover request does not finish in 10
seconds, the Availability service request für the cross-forest User may
time out
Quelle:
http://technet.microsoft.com/en-us/library/bb125182(EXCHG.80).aspx
- Zertifikate
By Default prüft natürlich der Exchange CAS als "SSL-Client" auch die Gültigkeit der Zertifikate. Wer also mit einem Proxy samt SSL-Inspection arbeitet oder wenn die Gegenstelle nicht Selbstzertifikaten arbeitet, müssen Sie noch etwas nach bessern. - Firewall und Zugriff nur über Proxy
Speziell größere Firmen möchten nicht, dass ein Server "ungesichert" direkt per Port 443 auf Webserver im Internet zugreift. Sicher können Sie in Firewalls die Zieladressen reglementieren aber der Einsatz von NAT ist schon verpönt, so dass der CAS auch darauf getrimmt werden muss, über einen Proxy zu gehen.
Es gibt also durchaus einige Stolpersteine bei der Umsetzung einer Kalender-Federation.
Bug: InternalURL bei EWS
Wenn ein CAS Server per Autodiscover von einem anderen Server sich die XML-Datei holt, dann übernimmt er leider die "InternalURL", welcher bei den WebServices hinterlegt ist. Diese ist in der Regel nicht von extern nutzbar. Faktisch funktioniert damit die Free/Busy-Federation nicht, es sei denn wir bauen uns eine Brücke. Die beste Lösung wäre natürlich, wenn Microsoft in Exchange das Verhalten ändern (z.B. auf ExternalURL) oder konfigurierbar machen würde. Aber davon ist nicht zu sehen, also geht es darum diese Problematik zu umschiffen. Und dazu gibt es gleich eine ganze Menge von möglichen Optionen, von denen alle vermutlich ihren Charme aber auch Nachteile haben.
Was | Wer | Beschreibung |
---|---|---|
VPN |
Beide |
Dies ist ideal, wenn die beiden Exchange Organisationen schon eng zusammen arbeiten wollen und es eine interne Netzwerkkopplung gibt, weil sowieso migriert werden soll. Dann stellt sich aber die Frage, ob man dann nicht besser den später sowieso erforderlichen Trust einrichtet und nicht die anonyme Federation nutzt. Aber über diesen Weg könnte ein Server auch den CAS-Server der anderen Organisation über die "InternalURL" kommen und es stört also nicht mehr, dass Exchange leider die "InternalURL" nutzt. |
InternalURL = ExternalURL |
Ziel |
Das Problem löst sich natürlich auch in Wohlgefallen, wenn die InternalURL und ExternalURL auf die gleichen Werte gesetzt werden. Das bedeutet natürlich, dass in dieser Exchange Organisation auch von intern der Exchange Server sicher erreicht werden muss und auch das Zertifikat entsprechend "passt". Wer allerdings keinen "Split-DNS" betreibt, sollte verhindern, dass die internen Anwender über den Proxy dann wieder von Extern auf Exchange zugreifen und dabei die integrierte Anmeldung gestört wird oder sogar noch starke Authentifizierungen zu bewältigen sind. Beim einem SplitDNS können Sie den öffentlichen Namen von intern natürlich auf die interne IP-Adresse lenken. Alternativ können Sie über Proxy-Ausnahmen (z.B.: Zentral über WPad gesteuert die Clients umlenken. Unschön wäre aber ein "Hosts" Eintrag auf jedem Client, da der zuverlässig die Verbindung von extern für den Client (Outlook über HTTP) unterbinden würde. |
Hosts |
Anfrager |
Wenn der anfragende CAS-Server schon die internal URL bekommt, dann könnten wir mit HOSTS oder passenden DNS-Einträgen einfach dafür sorgen, das der CAS auch mit dieser URL den "richtigen" CAS der anderen Organisation erreicht. Wenn die URL also "http://server.firma.intern" lautet aber extern als "owa.firma.de" unter der IP-Adresse 1.2.3.4 zu erreichen , dann könnte auf dem anfragenden CAS ja ein Eintrag "server.firma.intern A 1.2.3.4" stehen. Der Server kann dann das Ziel doch erreichen (Beim Einsatz eines HTTP-Proxy muss der Eintrag auf dem Proxy erfolgen.) Allerdings wird dann natürlich das Zertifikat vermutlich nicht passen, wenn welche Firma bindet schon "server.firma.intern" auf ein öffentliches Zertifikat. Aber auch hier kann man den CAS anweise, solche unstimmigkeiten zu ignorieren, was aber zulasten der Sicherheit geht. Wenn die veröffentlichende Firewall aber z.B. den Servername im "Hostheader" überprüft, dann muss auch der andere Administrator dies noch zulassen. dass Anfragen an server.firma.intern, die auf der externen offiziellen Adresse von owa.firma.de ankommen auch an den CAS intern weiter gegeben werden. |
XML-Linktranslation |
Proxy/Firewall |
Wenn der anfragende Server vom Ziel eine "autodiscover.xml" bekommt, dann können verschiedene Systeme auch hier drin den Inhalt ändern. Zwar ist die Verbindung in der Regel SSL-verschlüsselt aber ein guter Proxy oder Publishing-Server kann solche Dinge trotzdem ändern. Die XML-Datei selbst ist nicht durch eine digitale Signatur geschützt. Ein ISA/TMG-Server kann z.B. im Inhalt einer abgefragten Webseite intern Links auch umschreiben. Das ist z.B. wichtig, wenn eine interne Webseite von extern mit einem anderen Namen erreichbar ist. Würden dann Links in diesen Dokumenten auf den internen Namen verweisen, kann der ISA diese umschreiben. By default, the link
translation filter operates only on Web
responses that include a MIME or file
type specified in the HTML Documents
content type. By default, the HTML
Documents content type specifies the
MIME types text/css, text/html, and text/webviewhtml,
and the file extensions .htm, .html, .htt,
.stm, and .xsl. Trotzdem ist dies natürlich schon nicht ganz einfach und kann andere Seiteneffekt mit sich bringen, die sehr schwer zu diagnostizieren sind. |
Fake Autodiscover |
Ziel |
Nun könnten Sie auf den Gedanken kommen, als Anbieter den Autodiscover-Dienst einfach nicht auf Exchange zu leiten sondern selbst eine Fake-Seite mit einer vorbereiteten XML-Datei. Hier können Sie dann natürlich die "InternalURL" der ASURL richtig vorgeben. Allerdings fehlt dabei natürlich jede andere Funktion von Autodiscover. Und gerade Outlook Clients im Internet nutzen Autodiscover nicht nur um die Zugangspunkte für OAB, EWS, RPC etc. zu erlangen, sondern auch die Information über den HomeServer zu erhalten. Das kann so eine einfache Lösung nicht bereit stellen. Dieser Weg dürfte daher nicht gangbar sein. |
Fake Autodiscover |
Anfrage |
Einfacher umzusetzen ist so eine gefälschte Autodiscover-Seite natürlich auf der Seite des Anfragers mit dem Ziel, nur den CAS auszutricksen. Ein einfacher Webserver pro Domain auf einer eigenen IP-Adresse mit einer XML-Datei und passendem "Hosts-Eintrag" auf dem CAS-Server und eine Ausnahme in der Proxykonfiguration des CAS reicht aus, damit der CAS bei der Anfrage die lokale XML-Datei "schnell" bekommt und dann die dort hinterlegte InternalURL für die eigentliche Anfrage verwendet. Nachteil ist hier aber, dass eine Änderung der echten URL auf der anderen Seite natürlich nicht lokal aktualisiert wird. Die Funktion bricht bis der Admin auf der anfragenden Seite die "richtige URL" wieder in seine Fake-XML-Datei eingetragen hat. |
Einen Ratschlag, welche Lösung die beste ist, kann ich ihnen nicht geben. Elegant ist natürlich, wenn InternalURL und ExternalURL identisch sind, wenn die DNS- und Proxy-Konfiguration dies zulässt. Wenn von der anderen Seite keine Mithilfe zu erwarten ist, dann kann man nur mit einem lokalen "Fake-Autodiscover" arbeiten.
Leider können ich keinen Weg, analog zu Outlook eine XML-Datei einfach auf dem Dateisystem abzulegen und über die Registrierung zu hinterlegen.
Konfiguration SSL Zertifikat
Der CAS-Server prüft die Zertifikate der Gegenstelle. Nun wissen Sie ja schon, dass die "InternalURL" für die Federation genutzt wird und wie man dieses "Problem" umgehen kann. Wenn nun auf der Gegenseite aber kein passendes Zertifikat zu dem verwendeten Namen zur Verfügung steht, dann kann diese Zertifikatsprüfung auf der Seite des Anfragenden angepasst werden
Achtung
Sie verlieren damit natürlich die Sicherheit, dass die Verbindung nicht umgelenkt wird und in so einem Fall jemand die Anmeldedaten des
Dienstkonto beim Ziel in Erfahrung bringen kann. Es sollte also durchaus
im Interesse des Ziels sein, einen "richtigen" Namen zu liefern oder das
Zertifikat um den Namen zu erweitern.
Die Einstellungen selbst werden auf dem CAS-Server per REGEDIT gemacht, welcher die Anfrage über das Internet nach draussen stellt.
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\MSExchange OWA] "AllowInternalUntrustedCerts"=dword:00000001 "AllowExternalUntrustedCerts"=dword:00000001
Hinweis: In einigen Dokumenten wird "MSExchangeOWA" zusammen geschrieben, was aber falsch ist.
- Fehler der Proxyanforderung, weil ein SSL-Zertifikat
auf dem Ziel-Clientzugriffsserver ungültig ist.
http://technet.microsoft.com/de-de/library/bb218543(EXCHG.80).aspx - The proxy request failed because an SSL certificate
on the destination Client Access server is not valid
http://technet.microsoft.com/en-us/library/bb218543(EXCHG.80).aspx - Understanding the Self-Signed Certificate in
Exchange 2007
http://technet.microsoft.com/en-us/library/bb851554(EXCHG.80).aspx - 975165 EWS proxying requests fail after you run Availability Service requests in a CAS to CAS proxying scenario in Exchange Server 2007
Konfiguration Proxy für Zugriff auf das Internet
Normalweise versucht der CAS die Gegenseite immer direkt zu erreichen. Das kann man auch gut mit NETMON nachvollziehen. In vielen Firmen kann der Server aber nicht direkt nach draußen, sondern muss einen Proxy verwenden. Administratoren stellen dies gewöhnliche wie folgt für "Local Machine" ein.
REM Bis Windows 2003 ProxyCFG -u REM ab Windows 2008 netsh winhttp set proxy 192.168.100.21:8080 bypass-list=lokaler_Domänenname REM Anzeigen netsh winhttp show proxy
Normalerweise nutzen auch .NET Anwendungen und z.B.: ASPX-Anwendungen den Proxy von "Local System".
Exchange 2007 CAS/Availability Service scheint sich darum nicht zu kümmern und versucht trotzdem per DNS "autodiscover.remotedomain" aufzulösen und direkt zu erreichen.
Aber es ist durchaus möglich, auch den Proxy in der Machine.config oder in der web.config zu hinterlegen
<configuration> <system.net> <defaultProxy> <proxy autodetect = "false" usesystemdefault = "false" proxyaddress = "http://proxy:8080" bypassonlocal = "true" /> <bypasslist> <add address="http://[a-z]+\.firma\.local/" /> <add address="https://[a-z]+\.firma\.local/" /> </bypasslist> </defaultProxy> </system.net> </configuration>
Beachten Sie, dass Sie in der bypass-Liste auch z.B. HTTPS und andere URLs addieren, die nicht über den Proxy gehen dürfen. Es ist ein nicht seltener Fehler, dass dabei HTTPS vergessen wird. Ansonsten versuchen Sie Dienste vielleicht zu viele Systeme über den Proxy im Internet zu suchen.
Die Web.config ist in zwei Verzeichnissen zu erweitern:
C:\Program Files\Microsoft\Exchange Server\ClientAccess\exchweb\ews C:\Program Files\Microsoft\Exchange Server\ClientAccess\Autodiscover
Danach ist ein IISReset erforderlich.
- Proxying CAS HTTP Cross Forest availability requests
http://blogs.technet.com/b/appssrv/archive/2009/08/11/proxying-cas-http-cross-forest-availability-requests.aspx - Configuring Internet Applications
http://msdn.microsoft.com/en-us/library/5w91x7a7.aspx - System.NET - <defaultProxy>-Element
http://msdn.microsoft.com/de-de/library/kd3cf2ex.aspx - <bypasslist> Element
http://msdn.microsoft.com/en-us/library/aa903323(VS.71).aspx - 318140 PRB: Error on .NET client that consumes a Web service through an HTTP proxy server
- 307220 How to configure an XML Web service client by using the .NET Framework to work with a proxy server
- Web Services and the 15 Second Delay
http://www.bizbert.com/bizbert/2007/03/10/Web+Services+And+The+15+Second+Delay.aspx
Fehlersuche mit Test-OutlookWebSerives
Ein Werkzeug zur Fehlersuche ist das PowerShell Commandlet. "Test-OutlookWebServices". Damit kann man nicht nur die Webservices für einen lokalen User testen, sondern ebenso solche Federation-Zugriffe.
- How to Diagnose Availability Service Issues
http://technet.microsoft.com/en-us/library/bb124805(EXCHG.80).aspx - Test-OutlookWebServices: Exchange 2010 SP1 Help
http://technet.microsoft.com/en-us/library/bb124509.aspx - Diagnose Availability Service Issues: Exchange 2010
SP1 Help
http://technet.microsoft.com/en-us/library/bb124805.aspx
Die Fehlersuche ist bei Kalender Federation etwas knifflig, da viele Komponenten zusammen spielen und SSL eine wesentliche Rolle spielt. Mitschneiden per Netmon ist da zudem nicht mehr so einfach. Insofern müssen Sie sich die Kette von Anfrager bis zum Zielpostfach vor Augen führen, um an den verschiedenen Stellen nach Fehlern oder Erfolgen zu suchen:
test-outlookwebservices -targetaddress User@anderedomain.tld | fl
Es kommt eine ganze menge von Tests zusammen, von denen ich hier einige Fehler mal wiedergebem
Bei Test-OutlookWebService sieht man auch, dass eine ungültige Adresse nicht genutzt wird.
Kontakt fehlt oder ist nicht korrekt
Id : 1111 Type : Error Message : Receipent address User-ohne-kontakt@remotedomain.de is invalid. Please check your command parameters.
Id : 1111 Type : Error Message : When querying Availability für frank@cariustest.de received ErrorProxyRequestProcessingFailed:Unable to send c ross-forest request für mailbox <Frank Carius (test)>SMTP:frank@cariustest.de because of invalid configuration ., inner exception: Configuration information für forest/domain carius.de could not be found in Active Dir ectory.
Manchmal liegt es aber auch einfach an der AD-Replikation und dem DS-Cache des Exchange Servers. Warten Sie vielleicht einfach etwas ab.
Kontakt angelegt aber die Domäne ist nicht als "AvailabilityAddressSpace" eingerichtet
Id : 1011 Type : Error Message : When querying Availability für frank@carius.test received ErrorProxyRequestProcessingFaile d:Unable to send cross-forest request für mailbox <FrankTest>SMTP:frank@carius.test bec ause of invalid configuration., inner exception: Configuration information für forest/domain carius.test could not be found in Active Directory.
InternalURL nicht erreichbar
Hier sieht man gut, dass per "Autodiscover" der Exchange CAS zwar die andere Seite auflösen kann aber die interne URL (srv01.fremd.tld) genutzt wird und nicht erreichbar ist.
Id : 1111 Type : Error Message : When querying Availability für fremdUser@fremdfirma.de received ErrorProxyRequestProcessingFailed:System.Ne t.WebException: The remote name could not be resolved: 'cas1.fremd.tld' at System.Web.Services.Protocols.WebClientAsyncResult.WaitForResponse() at System.Web.Services.Protocols.WebClientProtocol.EndSend(IAsyncResult asyncResult, Object& internalAs yncState, Stream& responseStream) at System.Web.Services.Protocols.SoapHttpClientProtocol.EndInvoke(IAsyncResult asyncResult) at Microsoft.Exchange.InfoWorker.Common.Availability.Proxy.Service.EndGetUserAvailability(IAsyncResult asyncResult) at Microsoft.Exchange.InfoWorker.Common.Availability.FreeBusyApplication.EndProxyWebRequest(ProxyWebReq uest proxyWebRequest, QueryList queryList, Service service, IAsyncResult asyncResult) at Microsoft.Exchange.InfoWorker.Common.Availability.ProxyWebRequest.EndInvoke(IAsyncResult asyncResult ) at Microsoft.Exchange.InfoWorker.Common.Availability.AsyncWebRequest.EndInvokeWithErrorHandling():<No r esponse>. The request information is ProxyWebRequest type = CrossForest, URL = https://srv01.fremd.tld/ EWS/Exchange.asmx Mailbox list = <FromUser (extern)>SMTP:fremdUser@fremdfirma.de, Parameters: windowStart = 18.10.2010 0 1:00:00, windowEnd = 18.10.2010 02:00:00, MergedFBInterval = 30, RequestedView = FreeBusy ., inner exception: The remote name could not be resolved: 'cas1.fremd.tld'
Fehlersuche per DNS
Wenn ihr CAS-Server direkt per HTTPS mit dem Zielserver reden wird, dann können Sie einfach mal den lokalen DNS-Cache fragen
C:\> IPCONFIG /DisplayDNS | find "autodiscover"
Sie sollten den Eintrag der andere Domäne finden. Ansonsten versucht der Server entweder keine Auflösung, weil die Domain nicht als "AvailabilityAddressSpace" aufgeführt. ist. Wenn dies aber erfolgt ist, dann scheint der CAS per DNS den Namen nicht auflösen zu können. Dann versuchen Sie mal einen
C:\> NSLOOKUP autodiscover.fremdedomain.tld
Hier muss eine IP-Adresse zurück kommen.
Achtung
Das gilt nicht, wenn Sie den CAS per Konfiguration zur Nutzung eines
ausgehenden HTTP-Proxy konfiguriert haben. Dann sehen Sie keine dieser
Einträge, da alle Anfragen an den Proxy gehen und der die Auflösung
macht.
Fehlersuche per Browser auf EWS via HTTPS
Der CAS-Server macht ja nichts anderes als Anfragen per HTTPS um zuerst die Autodiscover.xml zu erhalten und dann die Exchange Web Services zu befragen. Es hindert uns nichts daran, diese Funktion einfach mit einem Browser auf dem CAS-Server auszuprobieren.
https://autodiscover.fremdefirma.tld/autodiscover/autodiscover.xml
Es sollte eine normale Anmeldedialogbox kommen, in der Sie das übermittelte Dienstkonto samt Kennwort der anderen Seite eintragen, damit sie dann eine XML-Datei erhalten. Aus der XML-Datei können Sie sich die "InternalURL" zu ASURL suchen und diese ebenfalls ansurfen
https://owa.fremdefirma.tld/EWS/Exchange.ASMX
Auch hier sollte zuerst eine Anmeldung erfolgen und dann die Beschreibung der Exchange API im Browser sichtbar sein.
Fehlersuche auf dem Backend im IISLog
Wenn Sie auf der Quellseite ziemlich sicher sind, dass alles korrekt ist, dann kann eine Suche auf dem Ziel helfen. Die vorherigen Tests mit einem Browser müssen im Ziel an den verschiedenen Stellen sichtbar sein. Daher ist z.B. das IISLog des CAS-Servers, auf dem die Anfragen der anderen Organisation ankommen, eine interessant Quelle. So sieht z.B.: das gekürzte Log einer erfolgreichen Anfrage aus:
POST /autodiscover/autodiscover.xml - ASAutoDiscover/CrossForest/EmailDomain//14.01.0255.000 401 2 2148074254 POST /autodiscover/autodiscover.xml - ASAutoDiscover/CrossForest/EmailDomain//14.01.0255.000 401 1 0 POST /autodiscover/autodiscover.xml domain\svcUser ASAutoDiscover/CrossForest/EmailDomain//14.01.0255.000 200 0 0 POST /EWS/Exchange.asmx - ASProxy/CrossForest/EmailDomain/EXCH/14.01.0255.000 401 2 2148074254 POST /EWS/Exchange.asmx - ASProxy/CrossForest/EmailDomain/EXCH/14.01.0255.000 401 1 0 POST /EWS/Exchange.asmx SoapAction=GetUserAvailability;AddressCount=1;local=1;intrasiteproxy=0; x-site=0;x-forest=0;PF=0;LocalLongPoleRPCLatency=78;LocalLongPoleRPCCount=13; LocalLongPoleServer=CAS.domain.intern;ADMainThreadRequests=1;ADMainThreadLatency=0; TimeInAS=224; domain\svcUser ASProxy/CrossForest/EmailDomain/EXCH/14.01.0255.000 200 0 0
Die ersten drei Zeilen zeigen zuerst den Zugriff auf Autodiscover, der zuerst anonym erfolgt und daher fehlt schlägt und erst in der dritten Zeile mit einem 200 erfolgreich ausgeführt wird. Hier sehen Sie zum ersten Mal auch den Useragenten "ASAutoDiscover/CrossForest/EmailDomain//14.01.0255.000" (Hier Exchange 2010 SP1) und das verwendete Dienstkonto.
Die nächsten drei Anfragen fordern dann die Frei/Belegt-Zeiten an. Auch hier sehen Sie erst die anonymen zugriffe, die mit meinem 401.2 und 401.1 abgelehnt werden, ehe dann der 200er Zugriff mit der passenden SoapAction und dem UserAgent "ASProxy/CrossForest/EmailDomain/EXCH/14.01.0255.000" kommt.
Fehlersuche im Eventlog
Es gibt bei Exchange sehr viele Eventlog-Einstellungen, die auf "Expert" hochgestellt werden können. Interessant sind dabei folgende Protokolle:
MSExchange Availability\Availability Service MSExchange Availability\Availability Service General MSExchange Availability\Availability Service Authentication MSExchange Availability\Availability Service Authorization MSExchange Autodiscover\Core MSExchange Autodiscover\Web MSExchange Autodiscover\Provider
Per PowerShell kann dies schnell erfolgen:
Get-EventLogLevel "MSExchange Availability\Availability Service*" | Set-EventLogLevel -Level high Get-EventLogLevel "MSExchange Autodiscover\*" | Set-EventLogLevel -Level high
Allerdings ist die Ausbeute eher mäßig. Ich habe zumindest auf Exchange 2007 noch nicht viel mehr Informationen aus dem Eventlog extrahieren können. Es gibt aber zumindest einige wenige Warnungen, die doch weite helfen:
Hier konnte schon mal keine Autodiscover-Antwort erhalten werden.
Ereignistyp: Fehler Ereignisquelle: MSExchange Availability Ereigniskategorie: Verfügbarkeitsdienst Ereigniskennung: 4001 Benutzer: Nicht zutreffend Computer: CAS1 Beschreibung: Fehler bei Prozess 3720[w3wp.exe:/LM/W3SVC/1/ROOT/owa-1-129272288756618820]: Microsoft.Exchange.InfoWorker.Common.Availability.ProxyWebRequestWithAutoDiscover. Zurückgegebene Ausnahme: Microsoft.Exchange.InfoWorker.Common.Availability.AutoDiscoverFailedException: A cross-forest Availability service that can fill request für mailboxSMTP:frank.carius@netatwork.dex could not be found.. Dieses Ereignis kann eintreten, wenn der Verfügbarkeitsdienst keinen Verfügbarkeitsdienst in der Remotegesamtstruktur erkennen kann.
Interessant ist natürlich auch das Security Eventlog, wenn die Anmeldung überwacht wird. Hier sieht man dann, wenn sich der andere Server (hier NAWEX001) am CAS-Server anmeldet.
Ereignistyp: Erfolgsüberw. Ereignisquelle: Security Ereigniskategorie: An-/Abmeldung Ereigniskennung: 540 Benutzer: DOMAIN\SVC-CalFed Computer: CAS Beschreibung: Erfolgreiche Netzwerkanmeldung: Benutzername: SVC-CalFed Domäne: DOMAIN Anmeldekennung: (0x1,0x618751B1) Anmeldetyp: 3 Anmeldevorgang: NtLmSsp Authentifizierungspaket: NTLM Arbeitsstationsname: NAWEX001 Anmelde-GUID: - Aufruferbenutzername: - Aufruferdomäne: - Aufruferanmeldekennung: - Aufruferprozesskennung: - Übertragene Dienste: - Quellnetzwerkadresse: 192.168.14.126 Quellport: 15060
Erscheinen hier "Fehlerhafte Anmeldungen" dann stimmen die auf der anderen Seite bei Add-AvailabilityAddressSpace eingegebenen Anmeldedaten nicht mehr.
Fehlersuche im Firewall-Log auf dem Ziel
Sollten Sie aber im Eventlog oder IISLog gar keine Treffer haben, dann kann natürlich die Firewall immer noch den Zugriff verweigern. Hier ein Bild eines erfolgreichen Zugriffs eines Exchange 2010SP1 Servers von der IP-Adresse 80.66.20.18 (das ist die offizielle IP-Adresse von Net at Work) auf einen Exchange Server eines unserer Kunden. Die Ausgabe stammt von einem ISA2004 Server beim Kunden, der die Exchange 2007 Webservices im Internet veröffentlicht.
In diesem Fall hat der ISA keine "Preauthentication" gemacht und hat den Zugriff zugelassen. Allerdings hat der Exchange Server hier einen 401 zurück gemeldet. Anhand des Client-Agent sind solche Anfragen recht schnell ausfindig zu machen. Das geht auf dem ISA natürlich gut, weil der SSL-Tunnel vom anfragenden Server hier aufgebrochen werden kann und die Anfragen lesbar und filterbar ist.
Fehlersuche mit TestExchangeConnectivity.com
Vor einiger Zeit hat Microsoft eine Webseite gestartet, welche einen Test der verschiedenen Dienste von extern erlaubt.
http://www.testexchangeconnectivity.com
Allerdings wollen wir hier nicht OWA oder ActiveSync testen, sondern die Exchange Web Services.
Es kann sein, dass dieses Testprogramm einige Warnungen ausgibt. Schließlich kann es nicht wissen, ob sie auf ihrem CAS die Überprüfung von Zertifikaten oder die Namensauflösung korrekt eingestellt haben. Aber wenn es hier kein Fehler gibt, dann hat die andere Seite im großen ganzen ihre Hausaufgaben gemacht.
Fehlersuche in Outlook
Oftmals ist im Backend alles in Ordnung. Das sehen Sie z.B. daran, dass die Funktion per OWA sehr wohl gegeben ist. Dann kann es ratsam sein, einmal auf dem Outlook Client nachzuschauen. Auch hier gibt es Möglichkeiten, Fehler zu entdecken.
- Troubleshooting Free/Busy Information für Outlook
2007
http://technet.microsoft.com/en-us/library/bb397225(EXCHG.80).aspx - How to Troubleshoot the Microsoft Exchange Server
2007 Availability Service By using Microsoft Office
Outlook Logging
http://technet.microsoft.com/en-us/library/ff597979(EXCHG.80).aspx > - Problembehandlung des Verfügbarkeitsdiensts von
Microsoft Exchange Server 2007 mithilfe von Microsoft
Office Outlook-Protokollierung
http://technet.microsoft.com/de-de/library/ff597979(EXCHG.80).aspx
Fake-Autodiscover intern anlegen
Achtung
Die Umsetzung dieser "Umgebung" ist alles andere als einfach und bislang
habe ich noch keine Bestätigung, dass es funktioniert.
Von allen Optionen gibt es eigentlich nur einen Weg, relativ unabhängig von der Konfiguration und Mitarbeit der abzufragenden Seite die Verbindung zu erreichen, wenn Autodiscover nicht funktioniert. Folgende Schritte sind dazu erforderlich
- IISWebseite "Autodiscover.remotedomain.tld" anlegen
Auf dem CAS-Server, auf dem sowieso schon ein IIS läuft, können Sie eine zweite virtuelle Webseite anlegen, die später die Anfragen nach Autodiscover.remotedomain.tld mit einer passenden XML-Datei beantworten wird
Name: Autodiscover.remotedomain.tld. Listener: HTTP: 80 mit Hostheader "Autodiscover.remotedomain.tld" Listener HTTPS 443 (Achtung Hostheader geht hier nur ab Windows 2008) Pfad: c:\inetpub\Autodiscover.remotedomain.tld Zugriffe: Anonyme Benutzer zulassen und "nur lesen" zulassen
- IIS für "Post" einrichten
Leider holt sich ein CAS die XML-Datei nicht einfach durch einen"GET", sondern sendet einen POST. Insofern muss man auf dem IIS noch einen Handler für ".XML" einrichten, der dann ein Modul startet um die Datei zurück zu geben. Aber auch das ist möglich, z.B. wenn man ".xml" mit der ASP.DLL verbindet. Siehe auch http://www.bluestudios.co.uk/blog/?p=1083. Und 308001 How To Create an ASP.NET HTTP Handler by using Visual C# .NET - Autodiscover.XML ablegen
In diese virtuelle Webseite wird nun eine passende XML-Datei abgelegt. Leider können Sie diese nicht so einfach per Browser holen, da Exchange diese nur per "POST" und nicht beim GET rausrückt. Aber über www.testexchangeconnectivity.com können Sie diese erhalten, aus dem Browser über die Zwischenablage kopieren, anpassen und als Datei speichern. Interessant sind die Werte bei "<ASURL>"
Pfad: c:\inetpub\Autodiscover.remotedomain.tld\autodiscover\autodiscover.xml - Proxyausnahmen
Wenn der CAS über einen Proxy raus geht, sollten Sie autodiscover.remotedomain.tld als Ausnahme definieren, damit diese Anfrage "intern" bleibt, z.B.: mit eine Anpassung der web.config bei Exchange unter ClientAccess/Autodiscover und ClientAccess/EWS
<configuration> <system.net> <defaultProxy> <bypasslist> <add address="https://autodiscover\.remotedomain\.tld/" /> </bypasslist> </defaultProxy> </system.net> </configuration>
- SSL-Überprüfung deaktivieren
Wenn Sie das Zertifikat auf dem internen IIS nicht auf "autodiscover.remotedomain.tld" ausstellen, dann müssen Sie die Zertifikatsprüfung auf dem CAS abschalten. - HOSTS-Anpassen
Zuletzt bringen Sie den CAS nun über einen HOSTS-Eintrag dazu, nicht mehr bei der Suche nach "autodiscover.remotedomain.tld" nach extern zu gehen, sondern die IP-Adresse des internen Servers anzusprechen.
Autodiscover.remotedomain.tld A cas.meinedomain.tld owa.remotedomain.tld A IP.IP.IP.IP des anderen Zugangsknoten
Achtung:
Beim Einsatz eines HTTP-Proxy zum Zugang ins Internet müssen Sie die Änderungen bezüglich des Hosts zum Zugriff augf die EWS-Verzeichnisse
der Gegenseite auf dem Proxy umsetzen, da der CAS ja dann nicht mehr
selbst "sucht".
Über diese Hilfskonstruktion könnte es möglich sein, über eine lokale Autodiscover-Logik auch Firmen anzubinden, die mit ihrer Autodiscover-Implementierung Probleme haben.
- Blog:: Guide:: 405 Error Fix:: IIS Setting up XML to return text/xml
instead of text/html on http requests
http://www.bluestudios.co.uk/blog/?p=1083 - Autodiscover Response (POX)
http://msdn.microsoft.com/en-us/library/bb204082(v=EXCHG.140).aspx - ASURL (POX)
http://msdn.microsoft.com/en-us/library/bb204175(v=EXCHG.140).aspx
Weitere Links
- Frei/Belegt Zeiten
- Verbinden von Organisationen
- IOREPL
- 2455134 Cross-Forest Availability für Exchange 2003 and/or 2007
- How to Configure the Availability Service für Cross-Forest Topologies
http://technet.microsoft.com/en-us/library/bb125182(EXCHG.80).aspx - What does Exchange 2007 Availability Service do?
http://blogs.technet.com/b/exchange/archive/2006/10/23/429296.aspx - New FreeBusy Rights In Exchange/Outlook 2007
http://blogs.msdn.com/b/stephen_griffin/archive/2007/05/25/new-freebusy-rights-in-exchange-outlook-2007.aspx - Add-AvailabilityAddressSpace
http://technet.microsoft.com/en-us/library/bb124122.aspx - Set-AvailabilityConfig
http://technet.microsoft.com/en-us/library/bb124103.aspx - How to Configure the Availability Service für Cross-Forest
Topologies
http://technet.microsoft.com/en-us/library/bb125182(EXCHG.80).aspx - Configuring Interorg Free/Busy in a single server
Exchange Server 2007 organization
http://blogs.technet.com/b/exchange/archive/2008/12/04/450228.aspx - How to Configure the Availability Service für Cross-Forest
Topologies
http://technet.microsoft.com/en-us/library/bb125182.aspx - What does Exchange 2007 Availability Service do?
http://blogs.technet.com/b/exchange/archive/2006/10/23/429296.aspx - How to Troubleshoot the Microsoft Exchange Server
2007 Availability Service By using Microsoft Office
Outlook Logging
http://technet.microsoft.com/en-us/library/ff597979(EXCHG.80).aspx - We trust each other don't we part II: Can I share
Free/Busy information between two Exchange 2007
organizations?
http://blogs.technet.com/ucedsg/archive/2008/09/10/can-i-share-free-busy-information-between-two-exchange-2007-organizations.aspx - How does Federated Calendar sharing work in Exchange
2010?
http://blogs.technet.com/b/ucedsg/archive/2010/04/22/how-does-federated-calendar-sharing-work-in-exchange-2010.aspx - Configuration tips and common troubleshooting steps für multiple forest deployment of Autodiscover service
http://blogs.technet.com/b/exchange/archive/2008/02/13/448127.aspx - Updated White Paper: Exchange 2007 Autodiscover
Service
http://blogs.technet.com/b/exchange/archive/2007/10/03/447176.aspx - Troubleshooting the Exchange 2007 Autodiscover
Service Among Multiple Forests
http://technet.microsoft.com/en-us/library/ff597981(EXCHG.80).aspx - Availability Service FAQs
http://www.exchangeninjas.com/AvailabilityServiceFAQ - Proxying CAS HTTP Cross Forest availability requests
http://blogs.technet.com/b/appssrv/archive/2009/08/11/proxying-cas-http-cross-forest-availability-requests.aspx - Availability Service FAQs
http://www.exchangeninjas.com/AvailabilityServiceFAQ - Exchange 2010 Interorg Freebusy without using
Federation Gateway
http://exchangemaster.wordpress.com/2010/01/18/exchange-2010-interorg-freebusy-without-using-federation-gateway/
http://johnacook.wordpress.com/2010/01/22/exchange-2010-interorg-freebusy-without-using-federation-gateway/