RPC over HTTP und widerspruechliche Dokumentationen

  • Hallo,


    ich beschaeftige mich nun schon seit einiger Zeit mit RPC over HTTP.
    Funktionieren tut es einwandrei - aber ich habe noch ein paar Fragen,
    die mir bis jetzt kein Beitrag und keine Dokumentation beantworten
    konnte und die bei mir fuer reichlich Unklarheit sorgen.


    Ich beschreibe in diesem Beitrag meine funktionierende Konfiguration -
    in der Hoffnung, dass selbst das schon jemandem bei der Einrichtung
    weiterhilft. Der Beitrag ist relativ lang - ich hoffe trotzdem, dass
    sich ein schlauer Fuchs erbarmt und mir meine Fragen beantworten kann.


    Erst mal zu meinem Szenario. Ich betreibe drei Domaenencontroller, von
    denen zwei den Globalen Katalog fuehren. Exchange 2003 SP1 laeuft auf
    einem Memberserver und ist gleichzeitig der RPC Proxy:


    ----------- ----------- -----------
    AD1 (DC+GC) AD2 (DC) AD3 (DC+GC)
    ----------- ----------- -----------



    -----------------
    EX2K3 (RPC Proxy)
    -----------------


    Wie in zahlreichen Dokumentationen beschrieben, habe ich auf dem RPC
    Proxy das virtuelle Verzeichnis im IIS-Snap-In entsprechend
    konfiguriert und im Exchange System Manager den Exchange Server als
    Ziel fuer den RPC Proxy angegeben (als Backend-Server).


    Danach habe ich die Einstellungen in der Registrierung angepasst. Und
    dazu habe ich auch gleich ein paar Fragen.


    Erst einmal muessen auf dem RPC Proxy die Ports der Dienste angegeben
    werden, mit denen der RPC Proxy kommunizieren soll. Da diese Dienste
    standardmaessig ueber dynamische Ports erreichbar sind, registriert
    Exchange fuer die Verwendung von RPC over HTTP dafuer feste Ports.
    Dabei handelt es sich um folgende Dienste auf dem Exchange-Server:


    Information Store: Port 6001
    System Attendant: Port 6002
    Referral (RFR) service: Port 6002
    NSPI (Name Service Provider Interface): Port 6004


    Die Adressen dieser Dienste muessen in der Registrierung des RPC
    Proxy-Servers an folgender Stelle explizit angegeben werden:


    Schluessel: HKLM | Software | Microsoft | RPC | RPCProxy
    Wert: ValidPorts
    Typ: Reg_SZ


    Das Format der Eintraege lautet dabei wie folgt:


    <server_name>:<port_number>, zum Beispiel ex2k3:6001


    Dabei benoetigt jeder Port bzw. Dienst seinen eigenen Eintrag, und das
    jeweils sowohl mit NetBIOS Namen des Servers sowie mit dem FQDN des
    Servers. In meinem Fall lauten die Eintraege dann wie folgt:


    ex2k3:6001-6002;ex2k3.active-directory.dom:6001-6002;ex2k3:6004,
    ex2k3.active-directory.intern:6004


    Soweit, so gut.


    Weil seit Exchange 2000 das Active Directory als Verzeichnis benutzt
    wird, kontaktiert Outlook fuer Adresslisten nicht mehr Exchange,
    sondern direkt das NSPI Interface auf einem Globalen Katalog Server.
    Da NSPI standardmaessig ebenfalls einen dynamischen Port benutzt, muss
    auch hier wieder fuer den RPC Proxy ein fester Port konfiguriert
    werden. Das geschieht durch folgenden Eintrag in der Registrierung auf
    dem/den Globalen Katalog Server/n:


    Schluessel: HKLM | System | CurrentControlSet | Services | NTDS |
    Parameters
    Wert: NSPI Interface Protocol Sequence
    Typ: Reg_Multi_SZ (multi-string)


    Angegeben werden muss folgender Eintrag: ncacn_http:6004


    Damit ist das NSPI Interface auf dem/den Globalen Katalog Server/n
    fuer den RPC Proxy auf TCP Port 6004 erreichbar.


    So. Genau diese Konfiguration habe ich gemacht - und es funktioniert
    alles einwandfrei (auf die SSL Konfiguration gehe ich hier nicht ein).


    Jetzt zu meinen Fragen:


    Wie oben beschrieben, muss auf den Globalen Katalog-Servern ein fester
    Port fuer NSPI registriert werden, damit der RPC Proxy darauf
    zugreifen kann.


    Warum muss ich diesen Port auf dem RPC Proxy unter "Value Ports" nicht
    mit angeben? Bei mir funktioniert es auch ohne die Angabe des Globalen
    Katalog-Servers in der Registrierung.


    Auf einigen Seiten steht, dass man ihn unbedingt angeben muss, auf
    anderen Webseiten hingegen ist davon ueberhaupt nichts zu lesen.


    Ich verstehe nicht, wie die Verbindung ohne die Angabe des Globalen
    Katalog-Servers in "Value Ports" ueberhaupt funktionieren kann - der
    RPC Proxy duerfte doch von Port 6004 auf dem GC so gar nix wissen.
    Gerade deshalb macht man ja die Eintraege in "Value Ports", naemlich
    damit der RPC Proxy weiss, wo er die Dienste finden kann.


    Wenn ich bei mir in Outlook den Verbindungsstatus ansehe, ist unter
    Verzeichnisdienst auch mein Exchange-Server und _nicht_ der Globale
    Katalog-Server zu sehen - obwohl der Exchange-Server ja gar keinen
    globalen Katalog respektive Verzeichnisdienst fuehrt.


    Ach, noch was:


    Warum ist auf dem Exchange Server der Port 6004 ebenfalls fuer NSPI
    registriert und warum muss er unter "Value Ports" angegeben werden?


    Ich denke, NSPI ist die Schnittstelle zum Globalen Katalog, weshalb
    man Port 6004 ja auch durch ncacn_http:6004 auf dem Globalen Katalog
    Server fixieren muss.


    Freundliche Gruesse, Michael

    • Offizieller Beitrag

    Hi,


    ich muss gestehen das ich mich das noch nie gefragt habe. Leider schaffe ich es derzeit auch nicht, dies in einem Testlab nach zustellen.


    Aber ich bin mir sicher das jhick eine passende Antwort hat. :)


    Die passende Antwort kann Dir aber auch das Deployment Scenarios für HTTP over RPC gebe, was Du bei Microsoft Technet herunterladen kannst.


    Gruss
    Heinz