Come posso usare l'interfaccia della linea di comando di AWS per configurare una VPN client?

4 minuti di lettura
0

Desidero utilizzare l'interfaccia della linea di comando di AWS (AWS CLI) per configurare una VPN Client di AWS.

Risoluzione

Nota: se ricevi messaggi di errore durante l'esecuzione dei comandi dell'interfaccia della linea di comando AWS (AWS CLI), consulta la sezione Troubleshoot AWS CLI errors. Inoltre, 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 una VPN client utilizzando l'autenticazione reciproca

Per configurare una VPN client con autenticazione reciproca, completa i seguenti passaggi:

  1. Genera certificati server e client, quindi carica i certificati su Gestione certificati AWS (ACM).
  2. Annota l'ARN del certificato del server e il certificato del client ARN.
  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 --region us-east-1 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

Nota:

  • per un client IPv4 con blocco CIDR, specifica un intervallo di indirizzi IP con notazione CIDR per assegnare gli indirizzi IP del client.
  • ClientRootCertificateChainArn è l'ARN per il certificato del client. Un'autorità di certificazione (CA) deve firmare il certificato e tu devi generare il certificato in ACM.
  • VPN client di AWS è specifico per una regione AWS. La regione della tua VPN deve corrispondere alla regione del tuo certificato.

Configurare una VPN client utilizzando l'autenticazione basata sull'utente

Autenticazione di Active Directory

Per configurare una VPN client con autenticazione Active Directory, completa i seguenti passaggi:

  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 --region us-east-1 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

Nota:

  • utilizza l'opzione --dns-servers per passare i server DNS personalizzati per la risoluzione DNS. Un endpoint VPN client può avere fino a due server DNS. Se non si specifica un 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)

Per configurare una VPN client con autenticazione federata, completa i seguenti passaggi:

  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 --region us-east-1 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: sostituisci SAMLProviderArn con l'ARN della risorsa del provider SAML in IAM e MySAMLProvider con il nome del tuo provider SAML.

Associare una sottorete al Client VPN

Esegui il comando associate-client-vpn-target-network per associare una sottorete all'endpoint Client VPN:

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

Quest'azione modifica lo stato della VPN client in Disponibile. I percorsi locali per il VPC vengono aggiunti automaticamente alla tabella di routing dell'endpoint VPN client. 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

Per aggiungere una regola di autorizzazione, esegui il comando authorize-client-vpn-ingress per l'autenticazione che utilizzi:

Autenticazione reciproca

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

Autenticazione di Active Directory

$ aws --region us-east-1 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

Autenticazione federata (SAML 2.0)

$ aws --region us-east-1 ec2 authorize-client-vpn-ingress --client-vpn-endpoint-id cvpn-endpoint-0ab1cd234ef567ab890 --target-network-cidr 10.0.0.0/16 --access-group-id MyAccessGroup

Nota: sostituisci MyAccessGroup con l'ID del gruppo di accesso del gruppo di provider.

(Facoltativo) Esegui il comando create-client-vpn-route per aggiungere percorsi aggiuntivi alla rete di destinazione sull'endpoint VPN client:

$ aws --region us-east-1 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

Scarica il file di configurazione dell'endpoint VPN client

Scarica il file di configurazione dell'endpoint VPN client. Usa questo file per distribuirlo ai tuoi client.

Nota: se hai configurato VPN client con l'autenticazione reciproca, esegui il comando export-client-vpn-client-configuration per aggiungere il certificato client e la chiave client al file di configurazione:

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