Dies ist der letzte Teil und wir beschreiben eine vollständig verschlüsselte App-V Infrastruktur, wobei das Load Balancing über einen Citrix Netscaler erfolgt. Die Vorteile gegenüber einem Microsoft NLB sind, dass auch Services überwacht werden und auch das Lastverhalten berücksichtigt wird. Mit der Netscaler VPX Express Edition steht eine Kostenlose Lösung dafür mit bis zu 20 Mbit Bandbreite bereit.
Weitere Teile
Teil 1: App-V Infrastruktur mit Citrix NetScaler Load Balancing (optional Verschlüsselt)
Teil 2: App-V Infrastruktur mit Citrix NetScaler unverschlüsseltes App-V Load Balancing
Teil 3: App-V Infrastruktur mit Citrix NetScaler mit Verschlüsselung nach Außen
Teil 4: App-V Infrastruktur mit Citrix NetScaler und vollständiger Verschlüsselung
4.1 https für die App-V Server einrichten
Auf beiden App-V Servern appv01 und appv02 müssen Serverzertifikate eingerichtet und importiert werden. Der jeweilige Common Name der Zertifikate muss ein FQDN sein. Also appv01.uran.local und appv02.uran.local.
Wie das geht, wird an dieser Stelle nicht genau beschrieben. Im 1. Teil finden sich Hinweise dazu.
Die jeweiligen Zertifikate im IIS an den Port 8092 (oder wie gewünscht) binden.
Anschließend beide Adressen 01/02 über die URL mit FQDN im Browser prüfen.
Wenn eine Kennwortabfrage kommt, so wurde vergessen, *.uran.local (oder appv01/appv02.uran.local)in den vertrauenswürdigen Seiten zu konfigurieren. Siehe dazu den 1. Teil.
4.2 Server Einträge anlegen
Im Menü zu Traffic Management => Load Balancing => Servers navigieren und mit Add einen neuen Server hinzufügen.
- Serverobjekt benennen (appv01, appv02)
- FQDN eintragen <serername>.<domäne> : appv01.uran.local
- Den Vorgang für appv02 wiederholen
4.3 Service Group erstellen
- Zu Traffic Management => Load Balancing => Service Groups navigieren und “Add” wählen
- Service Group wie folgt erstellen (Protokoll SSL) (bzw. auch SSL-TCP, da SSL eigentlich einen eigenen Monitor benötigt!)
- Für die Service Group unten auf “Service Group Member” drücken
- Hier „Server Based“ wählen und beide zuvor angelegten Server hinzufügen. Den unverschlüsselte Publishing Server Port eintragen - hier 8091 (ggf. an eigenen anpassen)
- Auf der rechten Seite nun „+ Add Monitors“ wählen
- http als Monitor eintragen und abschließend „Bind“ drücken
Der Monitor überwacht hierbei den zuvor angegebenen Port. http kann als Monitor leider nicht genutzt werden, da der App-V Webservice doch etwas anders reagiert als ein reiner Webserver.
Die Service Group sollte sich im Zustand „grün“ bzw. „UP“ befinden.
4.4 DNS Anpassen
Einen DNS Eintrag für 192.168.1.215 und appv.uran.local im DNS anlegen. Dabei auch den Reverse Prointer berücksichtigen. Wir haben diesmal eine andere IP Adresse. Eventuell einen vorhandenen DNS Eintrag von 214 auf 215 verbiegen.
4.5 Anlegen der Virtuellen Load Balancer für https
Es wird unter der IP Adresse 192.168.1.215 ein Virtueller Server für den https Zugriff angelegt
Für den https Zugang:
AppVHttps: 192.168.1.215 Port 4492
- Zu Traffic Management => Load Balancing => Virtual Servers => Add
- Name: AppVSSL
- Die IP Adresse 192.168.1.215 eintragen
- Als Protokoll hier SSL (bzw. SSL-TCP) wählen
- Als Port 4492 eintragen
- Nun bei Load Balancing Service Group die Gruppe „AppvSSL“ eintragen und binden
Wie im Letzten Blog beschrieben die Zertifikate für den virtuellen Server auf dem Netscaler importieren.
- Jetzt als Server Certificate „Appv.uran.local“ wählen und als „CA Certificate“ das Stammzertifikat der CA
- Beide Zertifikate binden
- Abschließend auf der rechten Seite „+ Method“ wählen und das Lastverhalten beispielsweise wie folgt eintragen. Leastconnection wählt den Server mit der geringsten Anzahl Verbindungen.
4.6 Konfiguration des Service Principal Name (SPN) für den unverschlüsselten Zugriff
Wenn Services in einem Netzwerk bereitstellt werden, in denen das Kerberos-Protokoll zur gegenseitigen Authentifizierung verwendet wird, müssen Sie einen Dienstprinzipalnamen (SPN) für den Servicepunkt erstellt werden. Das AD weiß darüber über welches Konto eine Authentifizierung erfolgen kann.
Für jedes Konto und jeden Service darf ein solcher Eintrag nur einmal existieren.
Setspn -s http/<computername>.<domainname>:<port> <domain-account>
Optional, wenn noch kein Computerkonto „appv“ angelegt wurde
- Zunächst ein Computerkonto „appv“ im AD anlegen (Beispielsweise in einer CN=appv,OU=Servers,OU=uran,DC=uran,DC=local). Wenn das noch nicht erfolgt ist!
- In der MMC unter View die „Advanced Features“ aktivieren
- Nun in den Eigenschaften des Computers „Trust this computer for delegatrion to any service (Kerberos only)“ aktivieren
SPN https setzen
setspn -C -A https/appv.uran.local:4492 uran\appv
Die Domäne "DC=uran,DC=local" wird überprüft.
Dienstprinzipalnamen (SPN) für CN=appv,OU=Servers,OU=uran,DC=uran,DC=local werden registriert.
https/appv.uran.local:4492
Aktualisiertes Objekt
Prüfen des SPN:
setspn -Q https/appv.uran.local:4492
Die Domäne "DC=uran,DC=local" wird überprüft.
CN=appv,OU=Servers,OU=uran,DC=uran,DC=local
https/appv.uran.local:4492
https/appv.uran.local:4491
Hier existiert noch ein zweiter Eintrag. Dieser muss mit „-D“ gelöscht werden.
setspn -D https/appv.uran.local:4491 uran\appv
Registrierung der Dienstprinzipalnamen (SPN) für CN=appv,OU=Servers,OU=uran,DC=uran,DC=local wird aufgehoben.
https/appv.uran.local:4491
Aktualisiertes Objekt
Wenn noch alte SPNs auf dem Namen appv.uran.local aktiv sind, so müssen diese gelöscht werden. Prüfen kann man das mit dem „-L“ switch
setspn -L uran\appv
Registrierte Dienstprinzipalnamen (SPN) für CN=appv,OU=Servers,OU=uran,DC=uran,DC=local:
https/appv.uran.local:4491
http/appv.uran.local:8091
Und löschen
setspn -D https/appv.uran.local:4491 uran\appv
Registrierung der Dienstprinzipalnamen (SPN) für CN=appv,OU=Servers,OU=uran,DC=uran,DC=local wird aufgehoben.
https/appv.uran.local:4491
Aktualisiertes Objekt
setspn -D http/appv.uran.local:8091 uran\appv
Registrierung der Dienstprinzipalnamen (SPN) für CN=appv,OU=Servers,OU=uran,DC=uran,DC=local wird aufgehoben.
http/appv.uran.local:8091
Aktualisiertes Objekt
4.7 Test der Umgebung
Zum Testen am besten mit der URL https://appv.uran.local:4492 verbinden. Nun jeweis einen App-V Server ausschalten.
Weiterhin kann der IIS Service auf den jeweiligen Server gestoppt werden. Die ServiceGroup auf dem NetScaler geht in den Statut „Partitial-Up“. Wenn alles korrekt konfiguriert wurde, funktioniert die URL https://appv.uran.local:4492 weiterhin und wird eine XML Datei mir den zu synchonisierenden App-V Paketen ausgeben.