Zurück zur Server-Übersicht
FsRdpServer unter Windows installieren
Vollständige Anleitung von einem frisch aufgesetzten Windows-Server bis
zur ersten funktionierenden Client-Verbindung. Jeder Schritt ist einzeln
erklärt – Vorkenntnisse zu Zertifikaten oder DNS sind nicht nötig.
Entwicklungsversion:
Der Server richtet sich derzeit an ausgewählte Pilotkunden. Bitte
kontaktieren Sie mich vor der Installation, damit wir Servername und
Lizenz gemeinsam abstimmen können.
1. Was am Ende laufen soll
FsRdpServer ist ein Vermittlungsserver. Er nimmt keine
Bildschirminhalte auf und speichert keine Sitzungsinhalte – er verbindet
lediglich die Teilnehmer eines Raums miteinander. Alle Clients verbinden
sich zum Server, nie direkt zueinander. Deshalb muss ausschließlich der
Server erreichbar sein, kein einziger Client.
Nach der Installation lauscht der Dienst auf diesen TCP-Ports:
| Port | Wofür | Pflicht? |
8888 | Hauptverbindung: Steuerung, Bildschirmbild, Dateien, Fernsteuerung | ja |
8889 | Sprachübertragung (eigener Kanal) | ja |
8890 | Browser-Viewer für Zuschauer ohne installierten Client | optional, lizenzpflichtig |
80 | Nur zeitweise, falls Sie Zertifikate über Let's Encrypt beziehen | optional |
Der Server bindet seine Ports dual-stack, nimmt also
IPv4- und IPv6-Verbindungen über denselben Port entgegen. Dafür müssen
Sie nichts einstellen.
2. Den frischen Windows-Server vorbereiten
Geeignet sind Windows Server 2019, 2022 und 2025 sowie Windows 10/11
x64. Eine separate .NET-Installation ist nicht nötig –
das Programm bringt alles Benötigte mit.
1
Windows vollständig aktualisieren
Einstellungen → Windows Update → Nach Updates
suchen, bis keine Updates mehr angeboten werden;
zwischendurch neu starten. Ein Server, der später aus dem Internet
erreichbar ist, sollte von Anfang an aktuell sein.
2
Uhrzeit und Zeitzone kontrollieren
Das ist wichtiger, als es klingt: Zertifikate und Lizenzen haben
Gültigkeitszeiträume. Geht die Serveruhr mehrere Minuten falsch,
scheitern Verbindungen mit scheinbar unerklärlichen Fehlern.
Öffnen Sie PowerShell als Administrator:
Get-Date
w32tm /resync
3
Feste lokale IP-Adresse vergeben
Der Router muss die Ports später an eine gleichbleibende
Adresse weiterleiten. Vergeben Sie dem Server deshalb eine feste
IPv4-Adresse – entweder statisch in den Netzwerkeinstellungen oder,
bequemer und weniger fehleranfällig, als feste Zuordnung im
DHCP-Server Ihres Routers („diesem Gerät immer dieselbe IPv4-Adresse
zuweisen“).
Aktuelle Adressen anzeigen:
Get-NetIPAddress -AddressFamily IPv4,IPv6 |
Where-Object { $_.PrefixOrigin -ne 'WellKnown' } |
Format-Table IPAddress, InterfaceAlias, PrefixOrigin, SuffixOrigin
4
Prüfen, ob Port 80 belegt ist
Nur wichtig, wenn Sie Ihr Zertifikat über Let's Encrypt beziehen
wollen. Ist auf dem Server IIS oder ein anderer Webserver
installiert, belegt dieser Port 80 – dann müssen Sie ihn während der
Zertifikatsausstellung kurz stoppen oder das Zertifikat auf einem
anderen Weg beschaffen.
Get-NetTCPConnection -State Listen -LocalPort 80 -ErrorAction SilentlyContinue
5
Arbeitsordner anlegen und Dateien sammeln
Legen Sie z. B. C:\FsRdp-Setup an und sammeln Sie dort
nach und nach: Setup_FSRdpServer.exe, später
cert.pfx und license.fsrdp. Notieren Sie
das PFX-Passwort in einem Passwortmanager – Sie brauchen es bei jeder
Neuinstallation und bei jeder Zertifikatserneuerung wieder.
3. Der Servername: DNS mit A- und AAAA-Record
3.1 Warum ein Name und keine IP-Adresse?
Clients verbinden sich immer über einen DNS-Namen, zum
Beispiel server.ihrefirma.de, niemals über eine
IP-Adresse. Dafür gibt es zwei zwingende Gründe:
-
Das TLS-Zertifikat ist auf einen Namen ausgestellt. Verbindet
ein Client über eine IP-Adresse, passt der Name nicht zum Zertifikat
und die Verbindung wird abgelehnt.
-
Ihre Lizenz ist ebenfalls an genau diesen Namen gebunden
(
LicensedServerHost).
Merksatz: Lizenzierter Hostname = Name im Zertifikat =
Name, den der Client einträgt. Diese drei müssen zeichengenau
übereinstimmen. Weichen sie ab, funktioniert nichts – und die
Fehlermeldung nennt oft nur eines der drei.
3.2 A-Record und AAAA-Record – was ist das?
Ein DNS-Eintrag übersetzt einen Namen in eine Adresse. Es gibt zwei
Sorten, weil es zwei Adressarten im Internet gibt:
| Eintrag | Zeigt auf | Beispiel |
A |
eine IPv4-Adresse (vier Zahlen mit Punkten) |
203.0.113.45 |
AAAA |
eine IPv6-Adresse (Hexadezimalblöcke mit Doppelpunkten) |
2a02:810d:7087:8800::159 |
Gesprochen wird AAAA als „Quad-A“. Beide Einträge dürfen für
denselben Namen gleichzeitig existieren – das ist sogar der Normalfall.
Der Client nimmt dann, was sein eigener Anschluss unterstützt, und
bevorzugt in der Regel IPv6.
Wichtig: Ein AAAA-Record zeigt auf die IPv6-Adresse
des Servers selbst, nicht auf die des Routers. Bei IPv6 hat
jedes Gerät im Heim- oder Firmennetz eine eigene, weltweit gültige
Adresse – es gibt keine Adressumsetzung wie bei IPv4.
3.3 Ihre öffentlichen Adressen herausfinden
Führen Sie das auf dem Server selbst aus:
# Öffentliche IPv4-Adresse Ihres Anschlusses (die des Routers)
(Invoke-WebRequest -Uri "https://api.ipify.org" -UseBasicParsing).Content
# Öffentliche IPv6-Adresse dieses Servers
(Invoke-WebRequest -Uri "https://api6.ipify.org" -UseBasicParsing).Content
Kommt beim ersten Befehl eine Adresse zurück, haben Sie öffentliches
IPv4. Kommt beim zweiten eine Adresse zurück, haben Sie IPv6. Schlägt
einer der beiden fehl, unterstützt Ihr Anschluss dieses Protokoll nicht
oder es ist nicht freigeschaltet.
3.4 Sonderfall DS-Lite: kein öffentliches IPv4
Viele Kabel- und Glasfaseranschlüsse in Deutschland (verbreitet bei
Vodafone Kabel, teils auch bei anderen Anbietern) laufen mit
DS-Lite. Dabei bekommt Ihr Anschluss überhaupt keine
eigene öffentliche IPv4-Adresse mehr, sondern teilt sich eine mit vielen
anderen Kunden. Die Folge ist eindeutig:
-
Eine IPv4-Portweiterleitung im Router bleibt wirkungslos.
Sie können sie einrichten, sie wird nie erreicht – von außen führt kein
Weg zu Ihrem Anschluss.
-
Nur IPv6 funktioniert. Der Name bekommt also
ausschließlich einen AAAA-Record und keinen A-Record.
-
Clients in reinen IPv4-Netzen kommen dann nicht heran.
Das betrifft in der Praxis manche Firmennetze und einige
Mobilfunk-Zugänge. Wer aus dem Internet zuschauen können muss, braucht
entweder IPv6 oder Sie brauchen einen anderen Anschluss.
So erkennen Sie DS-Lite:
- Der Router zeigt unter „Internet → Online-Monitor“ keine öffentliche IPv4-Adresse, sondern nur IPv6 – oder eine IPv4-Adresse aus dem Bereich
100.64.x.x bis 100.127.x.x.
- Der Abruf von
https://api.ipify.org (siehe 3.3) schlägt fehl, der von api6.ipify.org gelingt.
- In der FRITZ!Box steht unter „Internet → Zugangsdaten → IPv6“ häufig ausdrücklich „DS-Lite“.
Bei vielen Anbietern lässt sich auf Anfrage kostenlos auf einen
Anschluss mit echter IPv4-Adresse umstellen (Stichwort „Dual-Stack statt
DS-Lite“). Wenn Ihre Clients aus beliebigen Netzen kommen sollen, ist
dieser Anruf die einfachste Lösung.
3.5 Wechselnde Adressen: Dynamic DNS
Privat- und kleine Geschäftsanschlüsse bekommen meist keine feste
Adresse. Bei IPv4 ändert sich die öffentliche Adresse; bei IPv6 ändert
sich das Präfix, also die vordere Hälfte der Adresse. In beiden
Fällen zeigt Ihr DNS-Eintrag irgendwann ins Leere und niemand erreicht
den Server mehr.
Es gibt drei Wege:
-
Feste Adresse beim Anbieter buchen. Der sauberste Weg,
kostet meist einen kleinen Aufschlag im Monat. Dann tragen Sie A- und
AAAA-Record einmal ein und sind fertig.
-
Dynamic-DNS-Dienst nutzen (DynDNS, No-IP, deSEC,
dynv6 und andere). Der Router meldet jede Adressänderung an den Dienst.
Sie bekommen dort einen Namen wie
ihrname.dynv6.net und
verweisen Ihren eigenen Namen per CNAME darauf.
Achtung: Nicht jeder Dienst aktualisiert auch
AAAA-Records – bei DS-Lite ist genau das die entscheidende Fähigkeit.
-
Nur im lokalen Netz betreiben – dann brauchen Sie
weder Dynamic DNS noch eine Portfreigabe (siehe 3.8).
Bei IPv6 zusätzlich beachten: Wechselt das Präfix,
ändert sich die Adresse des Servers – und damit sowohl der AAAA-Record
als auch die Freigaberegel im Router. Sorgen Sie dafür, dass
der Server wenigstens seinen hinteren Adressteil (die „Interface-ID“)
behält, damit die Router-Regel einen Präfixwechsel übersteht. In der
FRITZ!Box geschieht das automatisch, wenn Sie die Freigabe am Gerät
statt an einer eingetippten Adresse festmachen.
3.6 Die Einträge beim DNS-Anbieter setzen
Melden Sie sich bei der Stelle an, die Ihre Domain verwaltet (Ihr
Registrar oder Hoster) und legen Sie einen Eintrag für den gewünschten
Namen an:
| Feld | Wert (Beispiel) | Anmerkung |
| Typ | A | nur wenn Sie öffentliches IPv4 haben |
| Name / Host | server | ergibt server.ihrefirma.de |
| Wert | 203.0.113.45 | öffentliche IPv4-Adresse des Anschlusses |
| TTL | 600 | 10 Minuten – niedrig halten, solange Sie testen |
| Feld | Wert (Beispiel) | Anmerkung |
| Typ | AAAA | wenn Sie IPv6 haben – bei DS-Lite zwingend |
| Name / Host | server | derselbe Name wie oben |
| Wert | 2a02:810d:7087:8800::159 | IPv6-Adresse des Servers, nicht des Routers |
| TTL | 600 | |
Änderungen brauchen bis zu einer TTL-Länge, bis sie überall ankommen.
Setzen Sie die TTL erst wieder hoch (z. B. 3600), wenn alles läuft.
3.7 Kontrollieren, ob der Name stimmt
Führen Sie das von einem anderen Rechner aus aus, nicht auf dem Server:
Resolve-DnsName server.ihrefirma.de -Type A
Resolve-DnsName server.ihrefirma.de -Type AAAA
Erwartet wird genau die Adresse, die Sie eingetragen haben. Kommt
„DNS name does not exist“, ist der Eintrag noch nicht verbreitet oder
falsch geschrieben. Kommt eine andere Adresse, liefert Ihnen
wahrscheinlich ein zwischengespeicherter Eintrag alte Daten – dann hilft
Clear-DnsClientCache.
3.8 Nur im lokalen Netz betreiben
Wenn alle Teilnehmer im selben Firmennetz sitzen, brauchen Sie weder
öffentliches DNS noch Portfreigaben. Der Name muss aber trotzdem
existieren, weil Zertifikat und Lizenz daran hängen. Zwei Möglichkeiten:
Ein hosts-Eintrag ändert nur die Namensauflösung. Er ersetzt weder die
Namensprüfung des Zertifikats noch die Lizenzbindung – das Zertifikat
muss weiterhin auf server.ihrefirma.de lauten.
4. Router, Portfreigaben und Firewall
Zwischen einem Client im Internet und Ihrem Server stehen zwei
Hindernisse: der Router und die Windows-Firewall. Um die
Windows-Firewall kümmert sich das Setup automatisch; den Router müssen
Sie selbst einstellen.
4.1 IPv4: Portweiterleitung
Bei IPv4 hat Ihr Netz nur eine öffentliche Adresse, die sich alle Geräte
teilen. Der Router muss deshalb wissen, an welches Gerät er ankommende
Verbindungen weiterreichen soll. Legen Sie für jeden Port eine Regel an:
| Protokoll | Port von außen | Ziel-Gerät | Port am Gerät |
| TCP | 8888 | Ihr Server | 8888 |
| TCP | 8889 | Ihr Server | 8889 |
| TCP | 8890 | Ihr Server | 8890 |
In der FRITZ!Box: Internet → Freigaben → Portfreigaben
→ Gerät für Freigaben hinzufügen, dort den Server wählen
und je eine Freigabe anlegen.
4.2 IPv6: Freigabe statt Weiterleitung
Bei IPv6 gibt es keine Adressumsetzung – jedes Gerät ist schon von außen
adressierbar. Der Router leitet also nichts um, sondern öffnet
nur seine Firewall für dieses Gerät und diesen Port. In der Oberfläche
heißt das trotzdem meist „Portfreigabe“, mit einer Auswahl wie
„Internetzugriff über IPv6“.
Legen Sie die Freigabe am Gerät an, nicht an einer
eingetippten IPv6-Adresse. Nur dann folgt die Regel dem Server, wenn
sich das Präfix ändert. Bei DS-Lite ist ausschließlich die
IPv6-Freigabe wirksam; die IPv4-Weiterleitung können Sie sich sparen.
4.3 Port 80 – nur für Let's Encrypt
Beziehen Sie Ihr Zertifikat über Let's Encrypt, muss die
Zertifizierungsstelle prüfen, dass Ihnen der Name wirklich gehört. Der
einfachste Prüfweg läuft über Port 80. Sie brauchen dafür eine Freigabe
auf Port 80 zu Ihrem Server – und zwar dauerhaft, weil die Erneuerung
alle 60 Tage automatisch abläuft.
Router warnen an dieser Stelle gern vor Sicherheitsrisiken. Die Warnung
zielt auf einen dauerhaft laufenden Webserver. Wenn auf Port 80 nur
während der wenigen Sekunden einer Zertifikatsausstellung ein Programm
lauscht und sonst nichts, ist das Risiko gering.
4.4 Die Windows-Firewall
Darum kümmert sich das Setup: Es legt die eingehenden Regeln
FSRdpServer Main, FSRdpServer Audio und – wenn
Sie den Browser-Viewer aktivieren – FSRdpServer WebGateway
an. Die Regeln gelten nur für das Serverprogramm selbst, nicht für den
Port allgemein. Verwenden Sie eine zusätzliche Sicherheitssoftware,
müssen Sie die Ports dort gegebenenfalls von Hand freigeben.
5. Das TLS-Zertifikat (PFX-Datei) im Detail
5.1 Was ist eine PFX-Datei?
cert.pfx ist ein passwortgeschützter Behälter im Format
PKCS#12. Darin stecken drei Dinge:
- das Serverzertifikat – der öffentliche Ausweis für Ihren Servernamen;
- der private Schlüssel – das Geheimnis, das beweist, dass der Ausweis Ihnen gehört;
- meist zusätzlich die Zwischenzertifikate der ausstellenden Stelle.
FsRdpServer verschlüsselt damit alle Verbindungen, genau wie ein
Webserver sein HTTPS-Zertifikat verwendet. Ohne gültiges Zertifikat
startet der Dienst nicht.
Die PFX-Datei ist ein Geheimnis. Wer sie und ihr
Passwort hat, kann sich als Ihr Server ausgeben. Verschicken Sie sie
nicht per unverschlüsselter E-Mail, legen Sie sie nicht auf Netzlaufwerke
mit weiten Rechten und laden Sie sie niemals in ein öffentliches
Repository.
5.2 Welchen Namen muss das Zertifikat tragen?
Das Zertifikat muss den lizenzierten Servernamen als Subject
Alternative Name (SAN) enthalten. Zwei Varianten sind zulässig:
-
Ein Wildcard-Zertifikat für
*.ihrefirma.de
– deckt server.ihrefirma.de mit ab und lässt sich später
für weitere Server wiederverwenden.
-
Ein Zertifikat nur für diesen einen Namen, also
server.ihrefirma.de. Günstiger, aber nicht übertragbar.
Die PFX-Datei darf genau ein Zertifikat mit privatem
Schlüssel enthalten. Enthält sie mehrere, verweigert der Server den
Start mit einer eindeutigen Meldung.
5.3 Weg A: Zertifikat kaufen und als PFX exportieren
Der übliche Weg, wenn Sie ohnehin eine Domain bei einem Hoster haben.
Sie bestellen dort ein Zertifikat, bekommen es ausgestellt und
exportieren es unter Windows als PFX.
1
Zertifikat beim Anbieter bestellen
Bei Ihrem Domain-Anbieter (z. B. HostEurope, IONOS, GoDaddy) ein
Zertifikat für server.ihrefirma.de oder
*.ihrefirma.de bestellen. Der Anbieter führt Sie durch
die Eigentumsprüfung, meist per E-Mail oder DNS-Eintrag.
2
Zertifikat installieren
Der Anbieter liefert entweder eine fertige PFX-Datei – dann sind Sie
hier fertig – oder Zertifikatsdateien, die Sie in den
Windows-Zertifikatspeicher importieren. Doppelklick auf die Datei,
Speicherort Lokaler Computer, Ablage unter
Eigene Zertifikate.
3
Als PFX exportieren
certlm.msc starten (Zertifikate für den lokalen
Computer). Unter Eigene Zertifikate → Zertifikate
das Zertifikat suchen, rechte Maustaste → Alle Aufgaben
→ Exportieren. Dann:
- Ja, privaten Schlüssel exportieren – ohne ihn ist die Datei wertlos.
- Format: PKCS#12 (.PFX).
- Wenn möglich, alle Zertifikate im Zertifizierungspfad einbeziehen ankreuzen – damit landen die Zwischenzertifikate mit in der Datei.
- Ein Passwort vergeben (Verschlüsselung
AES256-SHA256 wählen, falls angeboten).
- Als
cert.pfx speichern.
5.4 Weg B: Kostenlos über Let's Encrypt
Funktioniert nur, wenn Ihr Servername öffentlich im DNS steht und die
Zertifizierungsstelle Ihren Server erreichen kann. Unter Windows ist
win-acme das gängige Werkzeug (kostenlos, von
win-acme.com).
1
win-acme herunterladen und starten
ZIP entpacken, wacs.exe als Administrator ausführen.
Es erscheint ein Menü im Konsolenfenster.
2
Zertifikat mit allen Optionen anlegen
Den Punkt für ein Zertifikat mit vollständigen Optionen wählen, als
Quelle die manuelle Eingabe und dort
server.ihrefirma.de eintragen. Als Prüfverfahren die
HTTP-Validierung wählen, bei der win-acme selbst kurz auf Port 80
lauscht.
3
Als PFX-Datei ablegen lassen
Bei der Frage nach dem Speicherort die PFX-Datei
wählen (nicht nur den Windows-Zertifikatspeicher), einen Zielordner
wie C:\FsRdp-Setup\certs und ein Passwort angeben.
win-acme richtet anschließend selbst eine geplante Aufgabe für die
automatische Erneuerung ein.
Die genaue Bezeichnung der Menüpunkte hängt von der win-acme-Version ab.
Entscheidend sind drei Dinge: der Name muss exakt Ihr lizenzierter
Servername sein, das Ergebnis muss eine PFX-Datei mit privatem
Schlüssel sein, und Port 80 muss von außen erreichbar sein.
Haben Sie das Zertifikat auf anderem Weg als fullchain.pem
und privkey.pem vorliegen, bündeln Sie es mit OpenSSL:
openssl pkcs12 -export -out cert.pfx ^
-inkey privkey.pem -in fullchain.pem
Das Passwort fragt OpenSSL danach interaktiv ab – so landet es nicht im
Verlauf der Eingabeaufforderung.
5.5 Weg C: Zertifikat der eigenen Firmen-CA
Nur für rein interne Installationen sinnvoll. Sie stellen das Zertifikat
selbst aus – dann muss aber jeder Client Ihrer Firmen-CA
ausdrücklich vertrauen, sonst schlägt jede Verbindung fehl. Für den
Browser-Viewer ist dieser Weg unbrauchbar, weil jeder Browser eine
Warnseite zeigen würde.
5.6 Die PFX-Datei vor der Installation prüfen
Machen Sie das unbedingt vorher – ein falsches Zertifikat merkt man sonst
erst, wenn das Setup abbricht:
$pfx = Get-PfxCertificate -FilePath C:\FsRdp-Setup\cert.pfx
$pfx | Format-List Subject, NotBefore, NotAfter, HasPrivateKey, Thumbprint
$pfx.Extensions |
Where-Object { $_.Oid.FriendlyName -eq 'Subject Alternative Name' } |
ForEach-Object { $_.Format($true) }
Achten Sie auf drei Punkte:
HasPrivateKey muss True sein.
NotAfter muss in der Zukunft liegen.
- In der SAN-Liste muss Ihr lizenzierter Name stehen – bei einem Wildcard-Zertifikat entsprechend
*.ihrefirma.de.
5.7 Ablauf im Kalender eintragen
Zertifikate laufen ab: gekaufte meist nach einem Jahr, die von
Let's Encrypt nach 90 Tagen. Läuft das Zertifikat ab, verbindet sich
kein Client mehr – und zwar schlagartig. Tragen Sie sich eine Erinnerung
zwei Wochen vor NotAfter ein, oder richten Sie eine
automatische Erneuerung ein (win-acme macht das selbst; der Dienst muss
danach neu gestartet werden, siehe Abschnitt 11).
6. Die Lizenz anfordern
FsRdpServer startet ausschließlich mit einer gültigen, signierten
Lizenzdatei license.fsrdp. Sie ist an zwei Dinge gebunden:
an Ihren Servernamen und an eine dauerhafte
Installations-ID, die auf dem Server erzeugt wird.
Teilen Sie mir für die Ausstellung mit:
- den exakten DNS-Namen, den die Clients verwenden werden;
- wie viele Räume gleichzeitig laufen sollen;
- wie viele Teilnehmer pro Raum;
- die gewünschte Laufzeit;
- ob Sie den Browser-Viewer, die Sitzungsaufnahme oder Live-Untertitel nutzen möchten – diese Funktionen müssen in der Lizenz freigeschaltet sein.
Bei einer Windows-Erstinstallation ist das bequem gelöst:
Sie bekommen die Lizenz mitsamt der passenden Installations-ID von mir,
und das Setup übernimmt und speichert die ID automatisch. Sie müssen
vorher nichts erzeugen. Nur wenn Sie eine bestehende
Installation weiterverwenden, gilt deren vorhandene ID.
Bereits installierte Server zeigen ihre ID so an:
& "$env:ProgramFiles\FsRdpServer\FsRdpServer.exe" --installation-id
7. Das Setup ausführen
Sie brauchen jetzt: Setup_FSRdpServer.exe,
cert.pfx samt Passwort und license.fsrdp.
1
Als Administrator starten
Setup_FSRdpServer.exe mit der rechten Maustaste
anklicken und Als Administrator ausführen wählen.
Ohne Administratorrechte kann das Setup weder den Dienst noch die
Firewallregeln anlegen.
2
Ports festlegen
Die Vorschläge 8888 und 8889 passen fast
immer. Auf derselben Seite finden Sie das Kontrollkästchen für den
Browser-Viewer samt zugehörigem Port
(8890). Kreuzen Sie es nur an, wenn Ihre Lizenz diese
Funktion enthält. Der ebenfalls dort angebotene Demo-Modus
ist für Interessenten ohne Lizenzschlüssel gedacht und im
Normalbetrieb aus.
3
Zertifikat und Passwort angeben
Die cert.pfx auswählen und auf der nächsten Seite ihr
Passwort eingeben.
4
Lizenzdatei auswählen
Die von mir gelieferte license.fsrdp auswählen.
5
Prüfung abwarten
Bevor irgendetwas kopiert wird, prüft das Setup:
- Signatur und Gültigkeit der Lizenz;
- die Installations-ID;
- den lizenzierten Hostnamen;
- das PFX-Passwort und den privaten Schlüssel;
- Gültigkeitszeitraum, Verwendungszweck und Namen des Zertifikats;
- die Zertifikatskette;
- ob sich der lizenzierte Hostname per DNS auflösen lässt.
Wenn eine DNS-Warnung erscheint: Das Setup lässt Sie
fortfahren, wenn der Name (noch) nicht auflösbar ist. Tun Sie das nur,
wenn Sie wissen, dass Sie DNS oder die hosts-Einträge vor der ersten
Client-Verbindung noch einrichten. Andernfalls brechen Sie ab und
korrigieren erst den DNS-Eintrag.
Was das Setup danach einrichtet:
| Programmdateien | C:\Program Files\FsRdpServer |
| Daten und Geheimnisse | C:\ProgramData\FsRdpServer mit appsettings.json, cert.pfx, license.fsrdp, server-instance-id.txt und Logs\ |
| Dienst | FsRdpServer, verzögerter Autostart, läuft als LocalSystem, startet nach Fehlern automatisch neu |
| Firewall | eingehende Regeln für die konfigurierten Ports |
| Zugriffsrechte | der Datenordner wird auf SYSTEM und lokale Administratoren beschränkt |
Zum PFX-Passwort: Es steht im Klartext in
C:\ProgramData\FsRdpServer\appsettings.json. Geschützt wird
es nicht durch Verschlüsselung, sondern durch die Zugriffsrechte des
Ordners. Geben Sie normalen Benutzern deshalb niemals
Zugriff auf diesen Ordner, und nehmen Sie ihn nicht in eine Sicherung
auf, die breiter lesbar ist als der Ordner selbst.
8. Prüfen, ob alles läuft
PowerShell als Administrator öffnen und der Reihe nach durchgehen.
Läuft der Dienst?
Get-Service -Name FsRdpServer
Der Status muss Running sein.
Lauschen beide Ports?
Get-NetTCPConnection -State Listen -LocalPort 8888,8889
Sind die Firewallregeln da?
Get-NetFirewallRule -DisplayName "FSRdpServer Main","FSRdpServer Audio"
Was sagt die Lizenz?
& "$env:ProgramFiles\FsRdpServer\FsRdpServer.exe" --license-status
Die vollständige Selbstprüfung:
& "$env:ProgramFiles\FsRdpServer\FsRdpServer.exe" `
--validate-installation `
--validation-data-dir "$env:ProgramData\FsRdpServer"
Rückgabewert 0 heißt: alles in Ordnung. Rückgabewert
3 heißt: Warnungen, etwa weil DNS noch nicht auflöst oder
die Zertifikatskette lokal nicht vollständig prüfbar ist. Lesen Sie die
Warnung vollständig und fahren Sie nur fort, wenn Sie ihre Ursache
verstanden haben. Jeder echte Fehler muss vor der Inbetriebnahme behoben
werden.
Die letzten Protokolldateien ansehen:
Get-ChildItem "$env:ProgramData\FsRdpServer\Logs" |
Sort-Object LastWriteTime -Descending |
Select-Object -First 10
9. Browser-Viewer auf Port 8890 mit eigenem Zertifikat
Der Browser-Viewer erlaubt Zuschauern, ohne installierten Client
teilzunehmen – sie öffnen einfach
https://server.ihrefirma.de:8890/. Die Funktion ist
standardmäßig aus und braucht zwei Schalter: die Freigabe
in der Lizenz und die Aktivierung
in der Konfiguration.
9.1 Warum ein zweites Zertifikat sinnvoll ist
Für die nativen Clients genügt jedes Zertifikat, dem die Clients
vertrauen – auch eines aus Ihrer eigenen Firmen-CA. Ein
Browser ist strenger: Er zeigt jedem Besucher eine
Warnseite, wenn das Zertifikat nicht von einer öffentlich anerkannten
Stelle stammt. Genau dafür können Sie dem Browser-Viewer ein eigenes,
öffentlich vertrauenswürdiges Zertifikat geben, ohne das Zertifikat der
nativen Kanäle anzufassen.
Lassen Sie die beiden Einstellungen leer, verwendet der Browser-Viewer
automatisch dieselbe cert.pfx wie die Ports 8888/8889. Das
ist völlig in Ordnung, solange diese von einer öffentlichen
Zertifizierungsstelle stammt.
9.2 Einrichten
1
Öffentlich vertrauenswürdiges Zertifikat besorgen
Zum Beispiel über win-acme (siehe 5.4) als
C:\FsRdp-Setup\certs\webgateway.pfx. Es muss auf
denselben Namen lauten, unter dem Besucher die Seite aufrufen.
2
Konfiguration ergänzen
C:\ProgramData\FsRdpServer\appsettings.json als
Administrator im Editor öffnen und die beiden Werte eintragen:
"WebGatewayEnabled": true,
"WebGatewayPort": 8890,
"WebGatewayCertificatePath": "C:\\FsRdp-Setup\\certs\\webgateway.pfx",
"WebGatewayCertificatePassword": "IhrPasswort",
Beachten Sie die doppelten Backslashes – in JSON
muss jeder Backslash verdoppelt werden. Ein Pfad mit einfachem
Backslash macht die Datei ungültig und der Dienst startet nicht mehr.
3
Dienst neu starten und prüfen
Restart-Service -Name FsRdpServer
Get-NetTCPConnection -State Listen -LocalPort 8890
Danach https://server.ihrefirma.de:8890/ im Browser
aufrufen. Erscheint keine Zertifikatswarnung, ist alles richtig.
Vergessen Sie die Portfreigabe für 8890 im Router nicht (Abschnitt 4).
Ohne aktivierten Browser-Viewer legt das Setup auch keine
Firewallregel für diesen Port an – die können Sie im Setup nachträglich
aktivieren, indem Sie es erneut ausführen.
9.3 Erneuerung nicht vergessen
Der Server liest seine Zertifikate nur beim Start. Wird
das Zertifikat erneuert – etwa automatisch durch win-acme alle 60 Tage –
übernimmt der laufende Dienst die neue Datei nicht von selbst. Er muss
danach neu gestartet werden. Ein Neustart trennt alle laufenden
Sitzungen, planen Sie ihn also in eine ruhige Zeit. Am einfachsten
hängen Sie an die Erneuerungsaufgabe von win-acme einen Aufruf von
Restart-Service -Name FsRdpServer an.
10. Der erste Verbindungstest
1
Client auf einem anderen Rechner installieren
Nicht auf dem Server selbst testen – damit übersehen Sie jedes
Router- und Firewall-Problem. Die
Client-Anleitung
beschreibt die Installation.
2
Im Client den Servernamen eintragen
Exakt den lizenzierten Namen, keine IP-Adresse, und die Ports
8888 und 8889.
3
Mit zwei Geräten in denselben Raum verbinden
Erst mit zwei Teilnehmern zeigt sich, ob Bild und Ton tatsächlich
durchlaufen.
Testen Sie nicht mit telnet oder
Test-NetConnection in der Schleife. Wiederholte
Verbindungsversuche ohne gültiges Protokoll wertet der Server als
Angriffsversuch und sperrt die IP-Adresse des Testrechners
vorübergehend. Ein einzelner Verbindungstest ist unproblematisch,
Dauerschleifen sperren Sie aus.
11. Laufender Betrieb
Sicherung
Sichern Sie C:\ProgramData\FsRdpServer – aber an einen Ort
mit ebenso engen Zugriffsrechten, denn dort liegen PFX und Passwort.
server-instance-id.txt darf niemals verloren
gehen. Ihre Lizenz ist an diese ID gebunden. Ist sie weg, ist
die Lizenz für diese Installation wertlos und muss neu ausgestellt
werden. Deshalb bleibt der Datenordner auch bei einer Deinstallation
absichtlich bestehen.
Server aktualisieren
Eine neuere Setup_FSRdpServer.exe als Administrator
ausführen. Konfiguration, Zertifikat, Lizenz, Installations-ID,
Raumreservierungen und Protokolle bleiben erhalten – auch die
Einstellungen für das Browser-Viewer-Zertifikat.
Lizenz austauschen
Stop-Service -Name FsRdpServer
Copy-Item ".\license.fsrdp" "$env:ProgramData\FsRdpServer\license.fsrdp" -Force
& "$env:ProgramFiles\FsRdpServer\FsRdpServer.exe" `
--validate-installation `
--validation-data-dir "$env:ProgramData\FsRdpServer"
Start-Service -Name FsRdpServer
Starten Sie den Dienst nicht, wenn die Validierung fehlschlägt. Wurde
die Lizenz mit einer geänderten Supporter-Anzahl neu erzeugt, können
sich alle Supporter-Schlüssel geändert haben – verteilen Sie die neuen
Schlüssel dann zeitnah.
Zertifikat austauschen
Stop-Service -Name FsRdpServer
Copy-Item ".\cert.pfx" "$env:ProgramData\FsRdpServer\cert.pfx" -Force
# Falls sich das Passwort geändert hat: appsettings.json anpassen
Start-Service -Name FsRdpServer
Danach die Selbstprüfung aus Abschnitt 8 wiederholen.
12. Häufige Probleme
Der Name im Zertifikat passt nicht
Client-Name, Zertifikatsname und lizenzierter Hostname sind
unterschiedlich. Prüfen Sie alle drei und verbinden Sie sich immer mit
dem lizenzierten Namen.
RevocationStatusUnknown
Die ausstellende Stelle veröffentlicht keine erreichbare Sperrliste.
Typisch bei einer eigenen Firmen-CA. Für öffentliche Installationen
sollten Sie ein Zertifikat mit regulärer Sperrprüfung verwenden. Die
Zertifikatsprüfung global abzuschalten ist keine Lösung.
Falsches PFX-Passwort oder fehlender Schlüssel
Prüfen Sie mit Get-PfxCertificate (Abschnitt 5.6), ob
HasPrivateKey auf True steht und das Passwort
stimmt. Die Datei darf genau ein Zertifikat mit privatem Schlüssel
enthalten.
Die Lizenz gehört zu einer anderen Installation
Die server-instance-id.txt wurde ersetzt oder gelöscht.
Stellen Sie die ursprüngliche Datei aus der Sicherung wieder her oder
fordern Sie eine neue Lizenz für die aktuelle ID an. Die signierte
Lizenzdatei darf nie von Hand bearbeitet werden.
Der Dienst läuft, aber kein Client verbindet sich
Arbeiten Sie die Kette von außen nach innen ab:
- Löst der Name beim Client zur richtigen Adresse auf? (
Resolve-DnsName)
- Ist die Portfreigabe im Router aktiv – und bei DS-Lite auch für IPv6?
- Lauscht der Server auf beiden Ports? (
Get-NetTCPConnection)
- Existieren die Firewallregeln?
- Was steht in den Protokollen unter
C:\ProgramData\FsRdpServer\Logs?
Alles lief, seit heute nicht mehr
Zwei Klassiker: Das Zertifikat ist abgelaufen, oder die öffentliche
Adresse Ihres Anschlusses hat sich geändert und der DNS-Eintrag zeigt
ins Leere. Prüfen Sie zuerst NotAfter des Zertifikats und
danach, ob der DNS-Eintrag noch zur aktuellen Adresse passt.