Come posso configurare un Client VPN utilizzando AWS CLI?

4 minuti di lettura
0

Come posso configurare una VPN Client di AWS utilizzando l'interfaccia della linea di comando AWS (AWS CLI)?

Breve descrizione

Per configurare un Client VPN utilizzando l'interfaccia della linea di comando AWS (AWS CLI):

1.    Configura un Client VPN per il tipo di autenticazione specifico: reciproco o basato sull'utente.

2.    Associa una sottorete al Client VPN creato al passaggio 1.

3.    Aggiungi una regola di autorizzazione per concedere ai client l'accesso al cloud privato virtuale (VPC) di destinazione.

4.    (Facoltativo) Aggiungi ulteriori percorsi alla rete di destinazione nell'endpoint Client VPN, come richiesto.

5.    Scarica il file di configurazione dell'endpoint Client VPN da distribuire ai clienti.

Risoluzione

Nota: se riscontri degli errori durante l'esecuzione dei comandi dell'interfaccia della linea di comando AWS (AWS CLI), assicurati di utilizzare la versione più recente di AWS CLI. Le azioni API per il servizio Client VPN sono disponibili solo nella versione più recente dell'interfaccia della linea di comando di AWS.

Configurare un Client VPN utilizzando l'autenticazione reciproca

1.    Distribuisci il certificato del server e importalo in Gestione certificati AWS (ACM). Per i passaggi dettagliati per generare i certificati e le chiavi del server e del client, consulta la pagina Autenticazione reciproca.

2.    Annota il nome della risorsa Amazon (ARN) del certificato del server e l'ARN del certificato del client.

3.    Utilizza il comando create-client-vpn-endpoint. Il seguente comando, ad esempio, crea un endpoint che utilizza l'autenticazione reciproca con un client con blocco CIDR di 172.16.0.0/16.

$ 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

Note:

  • per un client IPv4 con blocco CIDR, specificare un intervallo di indirizzi IP con notazione CIDR per assegnare gli indirizzi IP del client. Ad esempio, 172.16.0.0/16.
  • "ClientRootCertificateChainArn" è l'ARN per il certificato del client. Il certificato dev'essere firmato da un'autorità di certificazione (CA) e distribuito in ACM.

Configurare un Client VPN utilizzando l'autenticazione basata sull'utente

Autenticazione di Active Directory

1.    Per ID Directory, specifica l'ID di Active Directory AWS.

2.    Utilizza il comando create-client-vpn-endpoint. Il seguente comando, ad esempio, crea un endpoint che utilizza l'autenticazione basata su Active Directory con un client con blocco CIDR di 172.16.0.0/16.

$ 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

Note:

  • utilizza l'opzione "--dns-servers" per passare i server DNS personalizzati per la risoluzione DNS. Un endpoint Client VPN può avere fino a due server DNS. Se non viene specificato nessun server DNS, viene utilizzato l'indirizzo DNS configurato sul dispositivo locale.
  • Utilizza l'opzione "--transport-protocol" per impostare il protocollo di trasporto per la sessione VPN.

Autenticazione federata (per l'autenticazione federata basata su SAML)

1.    Per l'ARN del provider SAML, specifica l'ARN del provider di identità Security Assertion Markup Language (SAML) di AWS Identity and Access Management (IAM).

2.    Utilizza il comando create-client-vpn-endpoint. Il seguente comando, ad esempio, crea un endpoint che utilizza l'autenticazione federata con un client con blocco CIDR di 172.16.0.0/16.

$ 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

Nota: "SAMLProviderArn" è l'ARN del nuovo provider di risorse SAML in IAM.

Associare una sottorete al Client VPN

1.    Utilizza il seguente comando per associare una sottorete all'endpoint Client VPN creato nei passaggi precedenti.

$  aws ec2 associate-client-vpn-target-network
--client-vpn-endpoint-id cvpn-endpoint-0ab1cd234ef567ab890 --subnet-id subnet-0123456789abc123

Quest'azione modifica lo stato del Client VPN in "Disponibile". I percorsi locali per il VPC vengono aggiunti automaticamente alla tabella di routing dell'endpoint Client VPN. Il gruppo di sicurezza predefinito del VPC viene applicato automaticamente per l'associazione alla sottorete. È possibile modificare il gruppo di sicurezza dopo aver associato la sottorete.

Aggiungere una regola di autorizzazione per concedere ai client l'accesso al VPC di destinazione

1.    In base al caso d'uso, utilizza uno dei seguenti comandi per aggiungere una regola di autorizzazione.

Per l'autenticazione reciproca:

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

Per l'autenticazione basata su Active Directory:

$ 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

Per l'autenticazione federata (utilizzando SAML 2.0 quando il gruppo di provider di identità è "Engineering"):

$ 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

(Facoltativo) Aggiungere ulteriori percorsi alla rete di destinazione nell'endpoint Client VPN, come richiesto

1.    Utilizza il seguente comando per aggiungere ulteriori percorsi alla rete di destinazione nell'endpoint Client VPN.

$ 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

Scaricare il file di configurazione dell'endpoint Client VPN da distribuire ai clienti

1.    Scarica il file di configurazione dell'endpoint Client VPN da distribuire ai clienti.

Per l'autenticazione reciproca, aggiungi il certificato e la chiave del client al file di configurazione:

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

AWS UFFICIALE
AWS UFFICIALEAggiornata 3 anni fa