Wie konfiguriere ich ein Client-VPN mit der AWS-CLI?

Lesedauer: 4 Minute
0

Wie konfiguriere ich ein AWS-Client-VPN mithilfe der AWS-Befehlszeilenschnittstelle (AWS CLI)?

Kurzbeschreibung

So konfigurieren Sie ein Client-VPN mit der AWS-CLI:

  1. Konfigurieren Sie ein Client-VPN für Ihren spezifischen Authentifizierungstyp: wechselseitig oder benutzerbasiert.

  2. Ordnen Sie dem Client-VPN, das Sie in Schritt 1 erstellt haben, ein Subnetz zu.

  3. Fügen Sie eine Autorisierungsregel hinzu, um Kunden Zugriff auf die virtuelle private Ziel-Cloud (VPC) zu gewähren.

  4. (Optional) Fügen Sie dem Zielnetzwerk auf dem Client-VPN-Endpunkt nach Bedarf zusätzliche Routen hinzu.

  5. Laden Sie die Client-VPN-Endpunktkonfigurationsdatei herunter, um sie an Ihre Kunden zu verteilen.

Behebung

**Hinweis:**Wenn Sie beim Ausführen von AWS Command Line Interface (AWS CLI)-Befehlen Fehler erhalten, stellen Sie sicher, dass Sie die neueste AWS CLI-Version verwenden. API-Aktionen für den Client-VPN-Service sind nur in der neuesten AWS-CLI-Version verfügbar.

Konfiguration eines Client-VPN mithilfe der gegenseitigen Authentifizierung

  1. Stellen Sie das Serverzertifikat bereit und importieren Sie es in AWS Certificate Manager (ACM). Detaillierte Schritte zur Generierung der Server- und Client-Zertifikate und -Schlüssel finden Sie unter Gegenseitige Authentifizierung.

  2. Notieren Sie sich das Serverzertifikat Amazon Resource Name (ARN) und das Client-Zertifikat ARN.

  3. Verwenden Sie den Befehl create-client-vpn-endpoint. Der folgende Befehl erstellt beispielsweise einen Endpunkt, der die gegenseitige Authentifizierung mit einem Client-CIDR-Block von 172.16.0.0/16 verwendet.

$ aws ec2 create-client-vpn-endpoint --client-cidr-block 172.16.0.0/16
--server-certificate-arn arn:aws:acm:us-east-1:1234567890:certificate/abc1d23e-45fa-678b-9cd0-ef123a45b678
--authentication-options Type=certificate-authentication,MutualAuthentication={ClientRootCertificateChainArn=arn:aws:acm:us-east-1:
1234567890:certificate/abc1d23e-45fa-678b-9cd0-ef123a45b678 }
--connection-log-options Enabled=false

Hinweise:

  • Geben Sie für einen Client-IPv4-CIDR-Block einen IP-Adressbereich in CIDR-Notation an, um Client-IP-Adressen zuzuweisen. Zum Beispiel:
  • „clientRootCertificateChainArn“ ist der ARN für das Client-Zertifikat. Das Zertifikat muss von einer Zertifizierungsstelle (CA) signiert und in ACM bereitgestellt werden.

Konfiguration eines Client-VPN mithilfe der benutzerbasierten Authentifizierung

Active Directory-Authentifizierung

  1. Geben Sie für die Verzeichnis-ID die ID des AWS Active Directory an.

  2. Verwenden Sie den Befehl create-client-vpn-endpoint. Der folgende Befehl erstellt beispielsweise einen Endpunkt, der die Active Directory-basierte Authentifizierung mit einem Client-CIDR-Block von 172.16.0.0/16 verwendet.

$ aws ec2 create-client-vpn-endpoint --client-cidr-block 172.16.0.0/16
--server-certificate-arn arn:aws:acm:us-east-1:1234567890:certificate/abc1d23e-45fa-678b-9cd0-ef123a45b678
--authentication-options
Type=directory-service-authentication,ActiveDirectory={DirectoryId=d-1234567890}
--connection-log-options Enabled=false

Hinweise:

  • Verwenden Sie die Option „--dns-servers“, um benutzerdefinierte DNS-Server für die DNS-Auflösung zu übergeben. Ein Client-VPN-Endpunkt kann bis zu zwei DNS-Server haben. Wenn kein DNS-Server angegeben ist, wird die auf dem lokalen Gerät konfigurierte DNS-Adresse verwendet.
  • Verwenden Sie die Option „--transport-protocol“, um das Transportprotokoll für die VPN-Sitzung festzulegen.

Verbundauthentifizierung (für SAML-basierte Verbundauthentifizierung)

  1. Geben Sie für den SAML-Anbieter-ARN den ARN des Security Assertion Markup Language (SAML) -Identitätsanbieters von AWS Identity and Access Management (IAM) an.

  2. Verwenden Sie den Befehl create-client-vpn-endpoint. Der folgende Befehl erstellt beispielsweise einen Endpunkt, der die Verbundauthentifizierung mit einem Client-CIDR-Block von 172.16.0.0/16 verwendet.

$ aws ec2 create-client-vpn-endpoint --client-cidr-block 172.16.0.0/16
--server-certificate-arn arn:aws:acm:us-east-1:1234567890:certificate/abc1d23e-45fa-678b-9cd0-ef123a45b678
--authentication-options Type=federated-authentication,FederatedAuthentication={SAMLProviderArn=arn:aws:iam::123456789012:saml-provider/MySAMLProvider}
--connection-log-options Enabled=false

Hinweis:„samlProviderArn“ ist der ARN der neuen SAML-Anbieterressource in IAM.

Ordnen Sie dem Client-VPN ein Subnetz zu

  1. Verwenden Sie den folgenden Befehl, um dem Client-VPN-Endpunkt, den Sie in den vorherigen Schritten erstellt haben, ein Subnetz zuzuordnen.
$  aws ec2 associate-client-vpn-target-network
--client-vpn-endpoint-id cvpn-endpoint-0ab1cd234ef567ab890 --subnet-id subnet-0123456789abc123

Diese Aktion ändert den Status des Client-VPN auf „Verfügbar“. Lokale Routen für die VPC werden automatisch zur Routingtabelle für Client-VPN-Endpunkte hinzugefügt. Die Standardsicherheitsgruppe der VPC wird automatisch für die Subnetzzuordnung angewendet. Sie können die Sicherheitsgruppe ändern, nachdem Sie das Subnetz verknüpft haben.

Fügen Sie eine Autorisierungsregel hinzu, um Clients Zugriff auf die Ziel-VPC zu gewähren

  1. Verwenden Sie je nach Anwendungsfall einen der folgenden Befehle, um eine Autorisierungsregel hinzuzufügen.

Für die gegenseitige Authentifizierung:

$ aws ec2 authorize-client-vpn-ingress --client-vpn-endpoint-id cvpn-endpoint-0ab1cd234ef567ab890 --target-network-cidr 10.0.0.0/16 --authorize-all-groups

Für die Active Directory-basierte Authentifizierung:

$ aws ec2 authorize-client-vpn-ingress --client-vpn-endpoint-id cvpn-endpoint-0ab1cd234ef567ab890 --target-network-cidr 10.0.0.0/16 --access-group-id S-1-2-34-1234567890-1234567890-1234567890-1234

Für die Verbundauthentifizierung (unter Verwendung von SAML 2.0, wobei die Identitätsanbietergruppe „Engineering“ ist):

$ aws ec2 authorize-client-vpn-ingress --client-vpn-endpoint-id cvpn-endpoint-0ab1cd234ef567ab890 --target-network-cidr 10.0.0.0/16 --access-group-id Engineering

(Optional) Fügen Sie dem Zielnetzwerk auf dem Client-VPN-Endpunkt nach Bedarf zusätzliche Routen hinzu

  1. Verwenden Sie den folgenden Befehl, um dem Zielnetzwerk auf dem Client-VPN-Endpunkt zusätzliche Routen hinzuzufügen.
$ aws ec2 create-client-vpn-route --client-vpn-endpoint-id cvpn-endpoint-0ab1cd234ef567ab890 --destination-cidr-block 0.0.0.0/0 --target-vpc-subnet-id subnet-0123456789abcabca

Laden Sie die Client-VPN-Endpunktkonfigurationsdatei herunter, um sie an Ihre Kunden zu verteilen

  1. Laden Sie die Client-VPN-Endpunktkonfigurationsdatei herunter, um sie an Ihre Kunden zu verteilen.

Für die gegenseitige Authentifizierung hängen Sie das Client-Zertifikat und den Client-Schlüssel an die Konfigurationsdatei an:

$ aws ec2 export-client-vpn-client-configuration --client-vpn-endpoint-id cvpn-endpoint-0ab1cd234ef567ab890 --output text>client-config.ovpn

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 3 Jahren