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:
En Azure Portal, vaya a la puerta de enlace de red virtual correspondiente a la red virtual a la que quiere conectarse.
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.
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.
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.
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:
- Pasos de tipo de túnel IKEv2 para strongSwan
- Pasos de tipo de túnel OpenVPN para el cliente de OpenVPN
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.
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
Seleccione Configuración y, a continuación, seleccione Red. Seleccione el botón + para crear una conexión.
Seleccione IPsec/IKEv2 (strongSwan) en el menú y haga doble clic.
En la página Add VPN (Agregar VPN), agregue un nombre para la conexión VPN.
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".
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.
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.
Ajuste la conexión en Activado.
Pasos de la CLI de strongSwan
En esta sección se describe la configuración con la CLI de strongSwan.
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.
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
Ejecute el comando siguiente para tomar nota del nombre de host. Usará este valor en el paso siguiente.
hostnamectl --static
Abra el archivo VpnSettings.xml y copie el valor
<VpnServer>
. Usará este valor en el paso siguiente.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
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.
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.
Abra una nueva sesión de terminal. Para abrir una nueva sesión, presione "CTRL + ALT + T" al mismo tiempo.
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
A continuación, vaya a la carpeta de perfil del cliente VPN y descomprima los archivos para verlos.
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.
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.
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=/.
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>
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.
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>
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.
Seleccione + para agregar una nueva conexión VPN.
En Agregar VPN, seleccione Importar desde archivo....
Vaya al archivo de perfil y haga doble clic o seleccione Abrir.
Seleccione Agregar en la ventana Agregar VPN.
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.