Configuración de túneles de dispositivo VPN en Windows 10Configure VPN device tunnels in Windows 10

Se aplica a: Windows 10 versión 1709Applies to: Windows 10 version 1709

Always On VPN le ofrece la posibilidad de crear un perfil de VPN dedicado para el dispositivo o la máquina.Always On VPN gives you the ability to create a dedicated VPN profile for device or machine. Las conexiones VPN de Always On incluyen dos tipos de túneles:Always On VPN connections include two types of tunnels:

  • El túnel de dispositivo se conecta a los servidores VPN especificados antes de que los usuarios inicien sesión en el dispositivo.Device tunnel connects to specified VPN servers before users log on to the device. Los túneles de dispositivo se utilizan en escenarios de conectividad previos al inicio de sesión y para administrar dispositivos.Pre-login connectivity scenarios and device management purposes use device tunnel.

  • El túnel de usuario solo se conecta después de que un usuario inicie sesión en el dispositivo.User tunnel connects only after a user logs on to the device. Los túneles de usuario permiten a los usuarios acceder a los recursos de la organización utilizando servidores VPN.User tunnel allows users to access organization resources through VPN servers.

A diferencia del túnel de usuario, que solo se conecta después de que un usuario inicia sesión en el dispositivo o el equipo, el túnel de dispositivo permite que la VPN establezca la conectividad antes de que el usuario inicie sesión.Unlike user tunnel, which only connects after a user logs on to the device or machine, device tunnel allows the VPN to establish connectivity before the user logs on. Tanto el túnel de dispositivo como el túnel de usuario funcionan de forma independiente con sus perfiles de VPN, se pueden conectar al mismo tiempo y pueden usar diferentes métodos de autenticación y otras opciones de configuración de VPN según corresponda.Both device tunnel and user tunnel operate independently with their VPN profiles, can be connected at the same time, and can use different authentication methods and other VPN configuration settings as appropriate. El túnel de usuario es compatible con SSTP y IKEv2, y el túnel de dispositivo solo admite IKEv2 sin compatibilidad con la reserva de SSTP.User tunnel supports SSTP and IKEv2, and device tunnel supports IKEv2 only with no support for SSTP fallback.

El túnel de usuario se admite en dispositivos Unidos a un dominio, no Unidos a un dominio (grupo de trabajo) o Unidos a Azure AD para permitir escenarios tanto empresariales como BYOD.User tunnel is supported on domain-joined, nondomain-joined (workgroup), or Azure AD–joined devices to allow for both enterprise and BYOD scenarios. Está disponible en todas las ediciones de Windows y las características de la plataforma están disponibles para terceros mediante la compatibilidad con el complemento de VPN de UWP.It is available in all Windows editions, and the platform features are available to third parties by way of UWP VPN plug-in support.

El túnel de dispositivo solo se puede configurar en dispositivos Unidos a un dominio que ejecuten Windows 10 Enterprise o Education versión 1709 o posterior.Device tunnel can only be configured on domain-joined devices running Windows 10 Enterprise or Education version 1709 or later. No se admite el control de terceros del túnel de dispositivo.There is no support for third-party control of the device tunnel. El túnel de dispositivo no admite el uso de la tabla de directivas de resolución de nombres (NRPT).Device tunnel does not support using the Name Resolution Policy table (NRPT). El túnel de dispositivo no admite el túnel forzado.Device tunnel does not support Force tunnel. Debe configurarlo como túnel dividido.You must configure it as Split tunnel.

Características y requisitos del túnel de dispositivoDevice Tunnel Requirements and Features

Debe habilitar la autenticación de certificados de equipo para las conexiones VPN y definir una entidad de certificación raíz para autenticar las conexiones VPN entrantes.You must enable machine certificate authentication for VPN connections and define a root certification authority for authenticating incoming VPN connections.

$VPNRootCertAuthority = "Common Name of trusted root certification authority"
$RootCACert = (Get-ChildItem -Path cert:LocalMachine\root | Where-Object {$_.Subject -Like "*$VPNRootCertAuthority*" })
Set-VpnAuthProtocol -UserAuthProtocolAccepted Certificate, EAP -RootCertificateNameToAccept $RootCACert -PassThru

Requisitos y características del túnel de dispositivo

Configuración de túnel de dispositivo VPNVPN Device Tunnel Configuration

El XML de Perfil de ejemplo siguiente proporciona una buena guía para escenarios en los que solo se requieren las extracciones iniciadas por el cliente a través del túnel de dispositivo.The sample profile XML below provides good guidance for scenarios where only client initiated pulls are required over the device tunnel. Los filtros de tráfico se aprovechan para restringir el túnel de dispositivo solo al tráfico de administración.Traffic filters are leveraged to restrict the device tunnel to management traffic only. Esta configuración funciona bien para los escenarios de Windows Update, directiva de grupo típicos (GP) y Microsoft Endpoint Configuration Manager Update, así como la conectividad VPN para el primer inicio de sesión sin credenciales almacenadas en caché o escenarios de restablecimiento de contraseña.This configuration works well for Windows Update, typical Group Policy (GP) and Microsoft Endpoint Configuration Manager update scenarios, as well as VPN connectivity for first logon without cached credentials, or password reset scenarios.

En el caso de los casos de inserciones iniciados por el servidor, como Administración remota de Windows (WinRM), los escenarios de la actualización remota de los Configuration Manager y los de actualización, debe permitir el tráfico entrante en el túnel del dispositivo, por lo que no se pueden usar filtros de tráfico.For server-initiated push cases, like Windows Remote Management (WinRM), Remote GPUpdate, and remote Configuration Manager update scenarios – you must allow inbound traffic on the device tunnel, so traffic filters cannot be used. Si en el perfil de túnel de dispositivo activa los filtros de tráfico, el túnel de dispositivo deniega el tráfico entrante.If in the device tunnel profile you turn on traffic filters, then the Device Tunnel denies inbound traffic. Esta limitación se va a quitar en futuras versiones.This limitation is going to be removed in future releases.

ProfileXML de VPN de ejemploSample VPN profileXML

A continuación se muestra el profileXML de VPN de ejemplo.Following is the sample VPN profileXML.

<VPNProfile>
  <NativeProfile>
<Servers>vpn.contoso.com</Servers>
<NativeProtocolType>IKEv2</NativeProtocolType>
<Authentication>
  <MachineMethod>Certificate</MachineMethod>
</Authentication>
<RoutingPolicyType>SplitTunnel</RoutingPolicyType>
 <!-- disable the addition of a class based route for the assigned IP address on the VPN interface -->
<DisableClassBasedDefaultRoute>true</DisableClassBasedDefaultRoute>
  </NativeProfile>
  <!-- use host routes(/32) to prevent routing conflicts -->
  <Route>
<Address>10.10.0.2</Address>
<PrefixSize>32</PrefixSize>
  </Route>
  <Route>
<Address>10.10.0.3</Address>
<PrefixSize>32</PrefixSize>
  </Route>
<!-- traffic filters for the routes specified above so that only this traffic can go over the device tunnel -->
  <TrafficFilter>
<RemoteAddressRanges>10.10.0.2, 10.10.0.3</RemoteAddressRanges>
  </TrafficFilter>
<!-- need to specify always on = true -->
  <AlwaysOn>true</AlwaysOn>
<!-- new node to specify that this is a device tunnel -->
 <DeviceTunnel>true</DeviceTunnel>
<!--new node to register client IP address in DNS to enable manage out -->
<RegisterDNS>true</RegisterDNS>
</VPNProfile>

En función de las necesidades de cada escenario de implementación concreto, otra característica de VPN que se puede configurar con el túnel de dispositivo es la detección de redes de confianza.Depending on the needs of each particular deployment scenario, another VPN feature that can be configured with the device tunnel is Trusted Network Detection.

 <!-- inside/outside detection -->
  <TrustedNetworkDetection>corp.contoso.com</TrustedNetworkDetection>

Implementación y pruebaDeployment and Testing

Puede configurar túneles de dispositivo mediante el uso de un script de Windows PowerShell y el puente de Instrumental de administración de Windows (WMI).You can configure device tunnels by using a Windows PowerShell script and using the Windows Management Instrumentation (WMI) bridge. El túnel de dispositivo VPN Always On debe configurarse en el contexto de la cuenta de sistema local .The Always On VPN device tunnel must be configured in the context of the LOCAL SYSTEM account. Para ello, será necesario usar PsExec, una de las PsTools incluidas en el conjunto de aplicaciones de Sysinternals .To accomplish this, it will be necessary to use PsExec, one of the PsTools included in the Sysinternals suite of utilities.

Para obtener instrucciones sobre cómo implementar un perfil por dispositivo (.\Device) y un perfil por usuario (.\User) , consulte usar scripting de PowerShell con el proveedor de puente WMI.For guidelines on how to deploy a per device (.\Device) vs. a per user (.\User) profile, see Using PowerShell scripting with the WMI Bridge Provider.

Ejecute el siguiente comando de Windows PowerShell para comprobar que ha implementado correctamente un perfil de dispositivo:Run the following Windows PowerShell command to verify that you have successfully deployed a device profile:

Get-VpnConnection -AllUserConnection

La salida muestra una lista de los perfiles de VPN de todo el dispositivo - que se implementan en el dispositivo.The output displays a list of the device-wide VPN profiles that are deployed on the device.

Script de ejemplo de Windows PowerShellExample Windows PowerShell Script

Puede usar el siguiente script de Windows PowerShell para ayudar a crear su propio script para la creación de perfiles.You can use the following Windows PowerShell script to assist in creating your own script for profile creation.

Param(
[string]$xmlFilePath,
[string]$ProfileName
)

$a = Test-Path $xmlFilePath
echo $a

$ProfileXML = Get-Content $xmlFilePath

echo $XML

$ProfileNameEscaped = $ProfileName -replace ' ', '%20'

$Version = 201606090004

$ProfileXML = $ProfileXML -replace '<', '&lt;'
$ProfileXML = $ProfileXML -replace '>', '&gt;'
$ProfileXML = $ProfileXML -replace '"', '&quot;'

$nodeCSPURI = './Vendor/MSFT/VPNv2'
$namespaceName = "root\cimv2\mdm\dmmap"
$className = "MDM_VPNv2_01"

$session = New-CimSession

try
{
$newInstance = New-Object Microsoft.Management.Infrastructure.CimInstance $className, $namespaceName
$property = [Microsoft.Management.Infrastructure.CimProperty]::Create("ParentID", "$nodeCSPURI", 'String', 'Key')
$newInstance.CimInstanceProperties.Add($property)
$property = [Microsoft.Management.Infrastructure.CimProperty]::Create("InstanceID", "$ProfileNameEscaped", 'String', 'Key')
$newInstance.CimInstanceProperties.Add($property)
$property = [Microsoft.Management.Infrastructure.CimProperty]::Create("ProfileXML", "$ProfileXML", 'String', 'Property')
$newInstance.CimInstanceProperties.Add($property)

$session.CreateInstance($namespaceName, $newInstance)
$Message = "Created $ProfileName profile."
Write-Host "$Message"
}
catch [Exception]
{
$Message = "Unable to create $ProfileName profile: $_"
Write-Host "$Message"
exit
}
$Message = "Complete."
Write-Host "$Message"

Recursos adicionalesAdditional Resources

Los siguientes son recursos adicionales que le ayudarán en la implementación de la VPN.The following are additional resources to assist with your VPN deployment.

Recursos de configuración de cliente VPNVPN client configuration resources

Los siguientes son recursos de configuración de cliente de VPN.The following are VPN client configuration resources.

Recursos de puerta de enlace de servidor de acceso remotoRemote Access Server Gateway resources

A continuación se muestran los recursos de puerta de enlace del servidor de acceso remoto (RAS).The following are Remote Access Server (RAS) Gateway resources.

Importante

Al usar el túnel de dispositivo con una puerta de enlace RAS de Microsoft, tendrá que configurar el servidor RRAS para que admita la autenticación de certificado de equipo IKEv2 habilitando el método de autenticación permitir la autenticación de certificados de equipo para IKEv2 como se describe aquí.When using Device Tunnel with a Microsoft RAS gateway, you will need to configure the RRAS server to support IKEv2 machine certificate authentication by enabling the Allow machine certificate authentication for IKEv2 authentication method as described here. Una vez habilitada esta configuración, se recomienda encarecidamente que se use el cmdlet de PowerShell set-VpnAuthProtocol , junto con el parámetro opcional RootCertificateNameToAccept , para asegurarse de que las conexiones IKEv2 de RRAS solo se permiten para los certificados de cliente VPN que se encadenan a una entidad de certificación raíz interna o privada definida explícitamente.Once this setting is enabled, it is strongly recommended that the Set-VpnAuthProtocol PowerShell cmdlet, along with the RootCertificateNameToAccept optional parameter, is used to ensure that RRAS IKEv2 connections are only permitted for VPN client certificates that chain to an explicitly defined internal/private Root Certification Authority. Como alternativa, el almacén de entidades de certificación raíz de confianza en el servidor RRAS debe modificarse para asegurarse de que no contiene entidades de certificación públicas, como se describe aquí.Alternatively, the Trusted Root Certification Authorities store on the RRAS server should be amended to ensure that it does not contain public certification authorities as discussed here. También es posible que sea necesario tener en cuenta métodos similares para otras puertas de enlace de VPN.Similar methods may also need to be considered for other VPN gateways.