Configuración de clientes VPN de punto a sitio: autenticación de certificados (Linux)

Este artículo le ayuda a conectarse a la red virtual (VNet) de Azure mediante VPN Gateway de punto a sitio (P2S) y la autenticación de certificados desde un cliente Linux. Hay varios conjuntos de pasos en este artículo, en función del tipo de túnel seleccionado para la configuración de P2S, el sistema operativo y el cliente VPN que se usa para conectarse.

Antes de empezar

Antes de empezar, compruebe que está en el artículo correcto. En la tabla siguiente se muestran los artículos de configuración disponibles para los clientes VPN de punto a sitio de Azure VPN Gateway. Los pasos difieren en función del tipo de autenticación, el tipo de túnel y el sistema operativo del cliente.

Authentication Tipo de túnel Generación de archivos de configuración Configuración de cliente VPN
Certificado de Azure IKEv2, SSTP Windows Cliente VPN nativo
Certificado de Azure OpenVPN Windows - Cliente OpenVPN
- Cliente VPN de Azure
Certificado de Azure IKEv2, OpenVPN macOS-iOS macOS-iOS
Certificado de Azure IKEv2, OpenVPN Linux Linux
Microsoft Entra ID OpenVPN (SSL) Windows Windows
Microsoft Entra ID OpenVPN (SSL) macOS macOS
RADIUS: certificado - Artículo Artículo
RADIUS: contraseña - Artículo Artículo
RADIUS: otros métodos - Artículo Artículo

Importante

A partir del 1 de julio de 2018, se elimina la compatibilidad con TLS 1.0 y 1.1 de Azure VPN Gateway. VPN Gateway será solo compatible con TLS 1.2. Esto solo afecta a las conexiones de punto a sitio; las conexiones de sitio a sitio no se verán afectadas. Si usa TLS para las VPN de punto a sitio en clientes de Windows 10 o versiones posteriores, no necesita hacer nada. Si usa TLS para las conexiones de punto a sitio en clientes con Windows 7 y Windows 8, consulte Preguntas más frecuentes sobre VPN Gateway para conocer las instrucciones de actualización.

Generación de certificados

Para la autenticación de certificados, se debe instalar un certificado de cliente en cada equipo cliente. El certificado de cliente que quiere usar debe exportarse con la clave privada y contener todos los certificados de la ruta de acceso de certificación. Además, para algunas configuraciones, también tendrá que instalar la información del certificado raíz.

Para obtener información sobre el uso de certificados, vea Conexión de punto a sitio: generación de certificados.

Generación de archivos de configuración de cliente VPN

Todas las opciones de configuración necesarias para los clientes VPN se incluyen en un archivo ZIP de configuración de perfil del cliente VPN. Los archivos de configuración de perfil del cliente VPN que genera son específicos de la configuración de puerta de enlace VPN de punto a sitio para la red virtual. Si se produce algún cambio en la configuración de VPN de punto a sitio después de generar los archivos (por ejemplo, cambios en el tipo de protocolo VPN o en el tipo de autenticación), debe generar archivos de configuración de perfil de cliente VPN nuevos y aplicar la nueva configuración a todos los clientes VPN que quiera conectar. Para obtener más información sobre las conexiones de punto a sitio, consulte Acerca de las conexiones VPN de punto a sitio.

Para generar archivos de configuración mediante Azure Portal:

  1. En Azure Portal, vaya a la puerta de enlace de red virtual correspondiente a la red virtual a la que quiere conectarse.

  2. En la página de la puerta de enlace de red virtual, seleccione Configuración de punto a sitio para abrir la página de configuración correspondiente.

  3. En la parte superior de la página Configuración de punto a sitio, haga clic en Descargar cliente VPN. Esta operación no descarga el software de cliente VPN, sino que genera el paquete de configuración que se usa para configurar los clientes VPN. La generación del paquete de configuración del cliente tarda unos minutos. Durante este tiempo, es posible que no vea ninguna indicación hasta que el paquete se genere.

    Captura de pantalla de la página de configuración de punto a sitio.

  4. Una vez generado el paquete de configuración, el explorador indica que hay disponible un archivo ZIP de configuración de cliente. Tiene el mismo nombre que su puerta de enlace.

  5. Descomprima el archivo para ver las carpetas. Usará algunos de estos archivos, o todos, para configurar el cliente VPN. Los archivos que se generan corresponden a las opciones de autenticación y tipo de túnel que configuró en el servidor P2S.

A continuación, configure el cliente VPN. Seleccione entre las instrucciones siguientes:

IKEv2: pasos de strongSwan

Instalación de strongSwan

Se usó la siguiente configuración al especificar comandos:

  • Equipo: Ubuntu Server 18.04
  • Dependencias: strongSwan

Ejecute los comandos siguientes para instalar la configuración necesaria de strongSwan:

sudo apt-get update
sudo apt-get upgrade
sudo apt install strongswan
sudo apt install strongswan-pki
sudo apt install libstrongswan-extra-plugins
sudo apt install libtss2-tcti-tabrmd0

Instalación de certificados

Es necesario un certificado de cliente para la autenticación al usar el tipo de autenticación de certificados de Azure. Debe instalarse un certificado de cliente en cada equipo cliente. El certificado de cliente que se exporta debe exportarse con la clave privada y contener todos los certificados en la ruta de acceso de certificación. Asegúrese de que el equipo cliente tenga instalado el certificado de cliente adecuado antes de continuar con la sección siguiente.

Para obtener información sobre los certificados de cliente, consulte Generación de certificados: Linux.

Visualización de archivos de perfil de cliente VPN

Vaya a los archivos de configuración del perfil del cliente VPN descargados. Puede encontrar toda la información que necesita para la configuración en la carpeta Genérico. Azure no proporciona un archivo mobileconfig para esta configuración.

Si no aparece la carpeta Generic, compruebe los elementos siguientes y vuelva a generar el archivo ZIP.

  • Compruebe el tipo de túnel para la configuración. Es probable que IKEv2 no se haya seleccionado como tipo de túnel.
  • En la puerta de enlace de VPN, compruebe que la SKU no sea Básica. La SKU básica de VPN Gateway no admite IKEv2. Luego, seleccione IKEv2 y vuelva a generar el archivo ZIP para recuperar la carpeta Genérico.

que son los archivos siguientes:

  • VpnSettings.xml, con configuración importante, como el tipo de túnel y la dirección del servidor.
  • VpnServerRoot.cer, que contiene el certificado raíz necesario para validar la puerta de enlace de VPN de Azure durante la configuración de la conexión de punto a sitio.

Después de ver los archivos, continúe con los pasos que desee seguir:

Pasos de la GUI de strongSwan

En esta sección se describe la configuración con la GUI de strongSwan. Las siguientes instrucciones se crearon en Ubuntu 18.0.4. Ubuntu 16.0.10 no admite la GUI de strongSwan. Si quiere usar Ubuntu 16.0.10, deberá usar la línea de comandos. Los ejemplos siguientes pueden no coincidir con las pantallas que vea, en función de la versión de Linux y strongSwan que tenga.

  1. Abra la herramienta Terminal para instalar strongSwan y su Network Manager (Administrador de red) ejecutando el comando del ejemplo.

    sudo apt install network-manager-strongswan
    
  2. Seleccione Configuración y, a continuación, seleccione Red. Seleccione el botón + para crear una conexión.

    Captura de pantalla que muestra la página Conexiones de red.

  3. Seleccione IPsec/IKEv2 (strongSwan) en el menú y haga doble clic.

    Captura de pantalla que muestra la página para agregar VPN.

  4. En la página Add VPN (Agregar VPN), agregue un nombre para la conexión VPN.

    Captura de pantalla que muestra la opción de elegir un tipo de conexión.

  5. Abra el archivo VpnSettings.xml de la carpeta Generic incluida en los archivos de configuración del perfil del cliente VPN descargados. Busque la etiqueta denominada VpnServer y copie el nombre, que comienza con "azuregateway" y termina con ".cloudapp.net".

    Captura de pantalla que muestra la opción de copiar datos.

  6. Pegue este nombre en el campo Address (Dirección) de la nueva conexión VPN de la sección Gateway (Puerta de enlace). Luego, seleccione el icono de carpeta al final del campo Certificate (Certificado), vaya a la carpeta Generic (Genérico) y seleccione el archivo VpnServerRoot.

  7. En la sección Client (Cliente) de la conexión, para Authentication (Autenticación), seleccione Certificate/private key (Certificado/clave privada). En Certificate (Certificado) y Private key (Clave privada), elija el certificado y la clave privada que se crearon anteriormente. En Options (Opciones), seleccione Request an inner IP address (Solicitar una dirección IP interna). Después, seleccione Agregar.

    Captura de pantalla que muestra la opción de solicitar una dirección IP interna.

  8. Ajuste la conexión en Activado.

    Captura de pantalla que muestra la opción de copiar.

Pasos de la CLI de strongSwan

En esta sección se describe la configuración con la CLI de strongSwan.

  1. Desde la carpeta Generic de los archivos de configuración del perfil del cliente de VPN, copie o mueva VpnServerRoot.cer a /etc/ipsec.d/cacerts.

  2. Copie o mueva los archivos que generó en /etc/ipsec.d/certs y /etc/ipsec.d/private/ respectivamente. Estos archivos son el certificado de cliente y la clave privada, y deben ubicarse en sus directorios correspondientes. Use los comandos siguientes:

    sudo cp ${USERNAME}Cert.pem /etc/ipsec.d/certs/
    sudo cp ${USERNAME}Key.pem /etc/ipsec.d/private/
    sudo chmod -R go-rwx /etc/ipsec.d/private /etc/ipsec.d/certs
    
  3. Ejecute el comando siguiente para tomar nota del nombre de host. Usará este valor en el paso siguiente.

    hostnamectl --static
    
  4. Abra el archivo VpnSettings.xml y copie el valor <VpnServer>. Usará este valor en el paso siguiente.

  5. Ajuste los valores del ejemplo siguiente y, luego, agregue el ejemplo a la configuración de /etc/ipsec.conf.

    conn azure
          keyexchange=ikev2
          type=tunnel
          leftfirewall=yes
          left=%any
          # Replace ${USERNAME}Cert.pem with the key filename inside /etc/ipsec.d/certs  directory. 
          leftcert=${USERNAME}Cert.pem
          leftauth=pubkey
          leftid=%client # use the hostname of your machine with % character prepended. Example: %client
          right= #Azure VPN gateway address. Example: azuregateway-xxx-xxx.vpn.azure.com
          rightid=% #Azure VPN gateway FQDN with % character prepended. Example: %azuregateway-xxx-xxx.vpn.azure.com
          rightsubnet=0.0.0.0/0
          leftsourceip=%config
          auto=add
          esp=aes256gcm16
    
  6. Agregue los valores secretos a /etc/ipsec.secrets.

    El nombre del archivo PEM debe coincidir con lo que ha usado anteriormente como archivo de claves de cliente.

    : RSA ${USERNAME}Key.pem  # Replace ${USERNAME}Key.pem with the key filename inside /etc/ipsec.d/private directory. 
    
  7. Finalmente, ejecuta los comandos siguientes:

    sudo ipsec restart
    sudo ipsec up azure
    

Pasos de OpenVPN

Esta sección le ayuda a configurar clientes Linux para la autenticación de certificado que usa el tipo de túnel OpenVPN. Para conectarse a Azure, descargue el cliente OpenVPN y configure el perfil de conexión.

Nota

La versión 2.6 del cliente OpenVPN aún no se admite.

  1. Abra una nueva sesión de terminal. Para abrir una nueva sesión, presione "CTRL + ALT + T" al mismo tiempo.

  2. Escriba el siguiente comando para instalar los componentes necesarios:

    sudo apt-get install openvpn
    sudo apt-get -y install network-manager-openvpn
    sudo service network-manager restart
    
  3. A continuación, vaya a la carpeta de perfil del cliente VPN y descomprima los archivos para verlos.

  4. Exporte el certificado de cliente P2P que ha creado y cargado en la configuración de P2S en la puerta de enlace. Para ver los pasos, consulte el documento sobre conexión de punto a sitio de VPN Gateway.

  5. Extraiga la clave privada y la huella digital de base64 del archivo .pfx. Hay varias formas de hacerlo. Una de ellas es usar OpenSSL en su equipo.

    openssl pkcs12 -in "filename.pfx" -nodes -out "profileinfo.txt"
    

    El archivo profileinfo.txt contendrá la clave privada y la huella digital de la entidad de certificación y el certificado de cliente. Asegúrese de usar la huella digital del certificado de cliente.

  6. Abra profileinfo.txt en un editor de texto. Para obtener la huella digital del certificado (secundario) de cliente, seleccione el texto (incluido y entre) "---BEGIN CERTIFICATE---" y "---END CERTIFICATE---" para el certificado secundario y cópielo. Puede identificar el certificado secundario si examina la línea subject=/.

  7. Abra el archivo vpnconfig.ovpn y busque la sección que se muestra a continuación. Reemplace todo lo que aparece entre "cert" y "/cert".

    # P2S client certificate
    # please fill this field with a PEM formatted cert
    <cert>
    $CLIENTCERTIFICATE
    </cert>
    
  8. Abra el archivo profileinfo.txt en un editor de texto. Para obtener la clave privada, seleccione el texto incluido y entre "-----BEGIN PRIVATE KEY-----" y "-----END PRIVATE KEY-----" y cópielo.

  9. Abra el archivo vpnconfig.ovpn en un editor de texto y busque esta sección. Pegue la clave privada y reemplace todo lo que hay entre "key" y "/key".

    # P2S client root certificate private key
    # please fill this field with a PEM formatted key
    <key>
    $PRIVATEKEY
    </key>
    
  10. No cambie los demás campos. Use los datos de la configuración de entrada del cliente para conectarse a la VPN.

    • Para conectarse mediante la línea de comandos, escriba el siguiente comando:

      sudo openvpn --config <name and path of your VPN profile file>&
      
    • Para desconectarse mediante la línea de comandos, escriba el siguiente comando:

      sudo pkill openvpn
      
    • Para conectarse mediante la GUI, vaya a la configuración del sistema.

  11. Seleccione + para agregar una nueva conexión VPN.

  12. En Agregar VPN, seleccione Importar desde archivo....

  13. Vaya al archivo de perfil y haga doble clic o seleccione Abrir.

  14. Seleccione Agregar en la ventana Agregar VPN.

    Captura de pantalla que muestra Importar desde archivo en una página Agregar VPN.

  15. Puede conectarse mediante la activación de VPN en la página Configuración de red o en el icono de red de la bandeja del sistema.

Pasos siguientes

Para conocer los pasos adicionales, vuelva al artículo original de punto a sitio desde el que estaba trabajando.