Freigeben über


Aktualisieren Sie das Serverzertifikat des Netzwerkcontrollers

Network Controller (NC) verwendet ein Zertifikat für die Kommunikation nach Norden mit REST-Clients wie VMM und für die Kommunikation nach Süden mit Hyper-V-Hosts und Software-Loadbalancern.

Sie können dieses Zertifikat in den folgenden Szenarien ändern oder aktualisieren, nachdem Sie den NC bereitgestellt haben.

  • Das Zertifikat ist abgelaufen.

  • Sie möchten von einem selbstsignierten Zertifikat zu einem Zertifikat wechseln, das von einer Zertifizierungsstelle (CA) ausgestellt wurde.

    Hinweis

    Wenn Sie das vorhandene Zertifikat mit demselben Schlüssel erneuern, sind diese Schritte nicht erforderlich.

Bevor Sie beginnen

Stellen Sie sicher, dass Sie ein neues SSL-Zertifikat mit dem REST-Namen des vorhandenen Netzwerk-Controllers erstellen. Weitere Informationen

Das Serverzertifikat aktualisieren

  1. Wenn das Zertifikat selbst signiert ist, gehen Sie wie folgt vor:

    • Zertifikat mit privatem Schlüssel: Exportieren Sie das Zertifikat, und importieren Sie es in den persönlichen Speicher aller NC-Knoten.
    • Zertifikat ohne privaten Schlüssel - Exportieren Sie das Zertifikat und importieren Sie es in den Stamm-Speicher aller NC-Knoten.
  2. Wenn es sich bei dem Zertifikat um ein von einer Zertifizierungsstelle ausgestelltes Zertifikat handelt, importieren Sie es in den Mein-Speicher aller Netzwerk-Controller-Knoten.

    Hinweis

    Entfernen Sie nicht das aktuelle Zertifikat von den NC-Knoten. Sie sollten das aktualisierte Zertifikat überprüfen, bevor Sie das vorhandene Zertifikat entfernen. Fahren Sie mit den restlichen Schritten fort, um das Zertifikat zu aktualisieren.

  3. Aktualisieren Sie das Serverzertifikat, indem Sie den folgenden PowerShell-Befehl auf einem der NC-Knoten ausführen.

    
    $certificate = Get-ChildItem -Path Cert:\LocalMachine\My | Where {$_.Thumbprint -eq “Thumbprint of new certificate”}
    Set-NetworkController -ServerCertificate $certificate
    
  4. Aktualisieren Sie das Zertifikat, das für die Verschlüsselung der im NC gespeicherten Anmeldeinformationen verwendet wird, indem Sie den folgenden Befehl auf einem der NC-Knoten ausführen.

    
    $certificate = Get-ChildItem -Path Cert:\LocalMachine\My | Where {$_.Thumbprint -eq “Thumbprint of new certificate”}
    Set-NetworkControllerCluster -CredentialEncryptionCertificate $certificate
    
  5. Rufen Sie eine Server-REST-Ressource ab, indem Sie den folgenden PowerShell-Befehl auf einem der NC-Knoten ausführen.

    
    Get-NetworkControllerServer -ConnectionUri <REST uri of your deployment>
    
  6. Navigieren Sie in der Server-REST-Ressource zum Objekt Anmeldinformationen und prüfen Sie die Anmeldeinformation vom Typ X509Certificate mit einem Wert, der dem Fingerabdrcuk Ihres Zertifikats entspricht. Notieren Sie die Ressourcen-ID der Anmeldeinformationen.

    
    "Connections":
    {
       {
          "ManagementAddresses":[ “contoso.com" ],                  
          "CredentialType":  "X509Certificate",
          "Protocol":  null,
          "Port":  null,
          "Credential": {
                            "Tags":  null,
                            "ResourceRef":  "/credentials/<credential resource Id>,
                            "InstanceId":  "00000000-0000-0000-0000-000000000000",
                            …
                            …
                         }
        }   
    }
    
  7. Aktualisieren Sie die oben abgerufene Anmeldeinformationen-REST-Ressource vom Typ X509Certificate mit dem Fingerabdruck des neuen Zertifikats.

    Führen Sie dieses PowerShell-Cmdlet auf einem der NC-Knoten aus.

    
    $cred=New-Object Microsoft.Windows.Networkcontroller.credentialproperties
    $cred.type="X509Certificate"
    $cred.username=""
    $cred.value="<thumbprint of the new certificate>"
    New-NetworkControllerCredential -ConnectionUri <REST uri of the deployment> -ResourceId <credential resource Id> -Properties
    $cred
    
  8. Wenn es sich bei dem neuen Zertifikat um ein selbstsigniertes Zertifikat handelt, stellen Sie das Zertifikat (ohne den privaten Schlüssel) im Speicher der vertrauenswürdigen Stammzertifikate aller Hyper-V-Hosts und virtuellen Computer des Software-Lastenausgleichs MUX bereit.

  9. Stellen Sie das NC-Zertifikat (ohne den privaten Schlüssel) im Speicher der vertrauenswürdigen Stammzertifikate des VMM-Computers mithilfe des folgenden PowerShell-Cmdlets bereit:

    $certificate = Get-SCCertificate -ComputerName "NCRestName"
    $networkservice = Get-SCNetworkService | Where {$_.IsNetworkController -eq $true}
    Set-SCNetworkService -ProvisionSelfSignedCertificatesforNetworkService $true -Certificate
    $certificate -NetworkService $networkservice
    
    • NetworkService ist der Netzwerk-Controller-Dienst, Zertifikat ist das neue NC-Server-Zertifikat.
    • ProvisionSelfSignedCertificatesforNetworkService ist $true, wenn Sie auf ein selbstsigniertes Zertifikat aktualisieren.
  10. Stellen Sie sicher, dass die Konnektivität mit dem aktualisierten Zertifikat einwandfrei funktioniert.

    Sie können jetzt das vorherige Zertifikat von den NC-Knoten entfernen.

    Nächste Schritte

    Validieren Sie die NC-Bereitstellung, um sicherzustellen, dass die Bereitstellung erfolgreich ist.