Über einen Domainnamen verbinden
Standardmäßig nutzt der Server ein selbstsigniertes Zertifikat mit fiktivem Namen, und Zugangsschlüssel verweisen direkt auf seine IP-Adresse. Verknüpfen Sie ihn mit Ihrer eigenen Domain samt offiziellem Zertifikat, sieht jede Verbindung wie der normale Besuch einer Website aus.
Was eine Domain ändert
Neu erstellte Schlüssel enthalten die Domain. Apps prüfen diese beim Verbinden wie ein gewöhnlicher Browser. Zieht Ihr Server auf eine neue IP-Adresse um, aktualisieren Sie einfach den DNS-Eintrag – die Schlüssel funktionieren nahtlos weiter.
Die Schlüssel enthalten weiterhin die IP-Adressen des Servers als Ausweichoption. Kann eine App die Domain nicht auflösen, verbindet sie sich wie gewohnt direkt.
Voraussetzungen
- Eine Domain oder Subdomain unter Ihrer Kontrolle, wie z. B.
vpn.example.com. Verwenden Sie einen konkreten Namen, keine Wildcard. - Ein DNS-Eintrag, der auf die IP des Servers verweist: ein A-Record (und ein AAAA-Record bei IPv6). Leiten Sie den Eintrag direkt auf den Server – nicht über einen CDN-Proxy.
- Auf einem verwalteten Server muss der TCP-Port
80dauerhaft geöffnet bleiben: Hierüber wird das Zertifikat verifiziert und alle paar Monate automatisch erneuert.
Auf einem verwalteten Server
- Öffnen Sie in VpnHood! MANAGER Server Farms und wählen Sie Ihre Farm aus. Klicken Sie unter SSL / TLS Certificates auf Add, tragen Sie die Domain als Domain Name ein und wählen Sie Create. MANAGER erstellt daraufhin ein selbstsigniertes Zertifikat und öffnet es.
- Bearbeiten Sie Signing und wählen Sie AutoSign. MANAGER fordert ein Zertifikat von Let's Encrypt an, das die Domain über Ihren Server auf TCP-Port
80validiert. Nach Abschluss zeigt Signature den Status CA Signed an, und MANAGER kümmert sich künftig automatisch um rechtzeitige Verlängerungen. - Bearbeiten Sie anschließend Visibility und wählen Sie PublicInToken. Ab sofort enthält jeder Schlüssel der Farm die Domain, und das bisherige Zertifikat der Farm wechselt auf Public.
Ab sofort aus MANAGER kopierte Schlüssel enthalten die Domain. Apps mit älteren Schlüsseln erhalten die neuen Daten automatisch beim nächsten Verbinden, da Push token to clients standardmäßig aktiv ist. Behalten Sie das vorherige Zertifikat der Farm bis dahin bei – ältere Schlüssel funktionieren nur, solange es vorhanden ist.
Schlägt die Überprüfung fehl, zeigt Signing die Ursache an; nach mehreren Versuchen springt der Status auf Manual zurück. Prüfen Sie DNS-Eintrag und Port-Freigabe und wählen Sie anschließend erneut AutoSign.
Zur Kontrolle öffnen Sie die Farm: Unter Access Points steht nun Ihre Domain an erster Stelle.
Auch einzelne Server besitzen eine Liste unter SSL / TLS Certificates. Ein Zertifikat dort gilt jedoch nur für diesen einen Server. Fügen Sie die Domain für Ihre Schlüssel daher stattdessen direkt der Farm hinzu.
Auf einem eigenständigen Server
Ein eigenständiger Server kann Zertifikate nicht selbst abrufen. Beziehen Sie eines für Ihre Domain von einer Zertifizierungsstelle (als PFX-Datei inklusive privatem Schlüssel) und ersetzen Sie damit /opt/VpnHoodServer/storage/access/certificates/default.pfx unter demselben Namen.
Tragen Sie das Passwort der Datei bei SslCertificatesPassword ein und setzen Sie IsValidHostName auf true – beides unter FileAccessManager in /opt/VpnHoodServer/storage/appsettings.json. Bei einer Neuinstallation fehlt diese Datei noch: Erstellen Sie sie einfach; der Server nutzt sie ab dann anstelle der Standardeinstellungen.
Die vollständige Datei – ersetzen Sie das Beispiel durch das Passwort Ihres Zertifikats
{
"FileAccessManager": {
"SslCertificatesPassword": "your-pfx-password",
"IsValidHostName": true
},
"ServerConfig": {
"LogAnonymizer": true,
"AddListenerIpsToNetwork": "*"
},
"LogLevel": "Information"
}
Der Server übernimmt die Domain direkt aus dem Zertifikat; eine separate Einstellung ist nicht nötig.
Starten Sie den Server mit sudo systemctl restart VpnHoodServer neu (in Docker mit sudo docker restart VpnHoodServer). Bei einem falschen Passwort startet er nicht und im Protokoll erscheint The server could not start..
Vor der Umstellung erstellte Schlüssel funktionieren nicht mehr, da sie das alte Zertifikat erwarten. Lassen Sie die Schlüssel erneut ausgeben und teilen Sie sie Ihren Nutzern mit: Einstellungen und Nutzungsdaten bleiben unverändert. Die Schlüssel-ID entspricht dem Dateinamen in /opt/VpnHoodServer/storage/access (ohne .token2).
Schlüssel auflisten und anhand der ID erneut anzeigen
sudo ls /opt/VpnHoodServer/storage/access
sudo /opt/VpnHoodServer/vhserver print 2b9d4a6e-1c3f-4e8a-9b7d-5f0e8c2a1d34
Führen Sie unter Docker denselben Befehl über sudo docker exec VpnHoodServer /app/vhsupervisor aus, genau wie bei vhserver gen.
Neue Schlüssel enthalten die Domain und sind unabhängig vom Zertifikat selbst. Sie bleiben auch bei einer Verlängerung gültig: Tauschen Sie einfach die Datei aus und starten Sie den Server neu.