Dela via


Konfigurera en Always On VPN-användartunnel för Virtual WAN

Funktionen AlwaysOn introducerades i Windows 10 VPN-klienten. AlwaysOn är möjligheten att underhålla en VPN-anslutning. Med AlwaysOn kan den aktiva VPN-profilen ansluta automatiskt och förbli ansluten baserat på utlösare, till exempel användarinloggning, ändring av nätverkstillstånd eller aktiv enhetsskärm.

Du kan använda gatewayer med Always On för att upprätta beständiga användartunnlar och enhetstunnlar till Azure.

AlwaysOn VPN-anslutningar innehåller någon av två typer av tunnlar:

  • Enhetstunnel: Ansluter till angivna VPN-servrar innan användarna loggar in på enheten. Anslutningsscenarier före inloggning och enhetshantering använder en enhetstunnel.

  • Användartunnel: Ansluter endast efter att användare har loggat in på enheten. Genom att använda användartunnlar kan du komma åt organisationsresurser via VPN-servrar.

Enhetstunnlar och användartunnlar fungerar oberoende av deras VPN-profiler. De kan anslutas samtidigt och de kan använda olika autentiseringsmetoder och andra VPN-konfigurationsinställningar efter behov.

Förutsättningar

Du måste skapa en punkt-till-plats-konfiguration och redigera den virtuella hubbtilldelningen. Se följande avsnitt för instruktioner:

Konfigurera en användartunnel

  1. Installera klientcertifikat på Windows-klienten, som du ser i den här punkt-till-plats-vpn-klientartikeln . Certifikatet måste finnas i det aktuella användararkivet.

  2. Du kan konfigurera AlwaysOn VPN-klienten via PowerShell, Configuration Manager eller Intune genom att följa anvisningarna i Konfigurera Windows 10- eller senare-klientens Always On VPN-anslutningar.

Exempelkonfiguration för användartunneln

När du har konfigurerat den virtuella nätverksgatewayen och installerat klientcertifikatet i det lokala datorarkivet på Windows-klienten konfigurerar du en klientenhetstunnel med hjälp av följande exempel. Observera att dessa exempel har verifierats i Windows 10.

  1. Kopiera följande text och spara den som usercert.ps1:

    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"
    
  2. Kopiera följande text och spara den som VPNProfile.xml i samma mapp som usercert.ps1. Redigera följande text så att den matchar din miljö:

    • <Servers>azuregateway-1234-56-78dc.cloudapp.net</Servers> <= Can be found in the VpnSettings.xml in the downloaded profile zip file
    • <Address>192.168.3.5</Address> <= IP of resource in the vnet or the vnet address space
    • <Address>192.168.3.4</Address> <= IP of resource in the vnet or the vnet address space
    • <PrefixSize>32</PrefixSize> <= Subnet mask
     <VPNProfile>  
       <NativeProfile>  
     <Servers>azuregateway-b115055e-0882-49bc-a9b9-7de45cba12c0-8e6946892333.vpn.azure.com</Servers>  
     <NativeProtocolType>IKEv2</NativeProtocolType>  
     <Authentication>  
     <UserMethod>Eap</UserMethod>
     <Eap>
     <Configuration>
     <EapHostConfig xmlns="http://www.microsoft.com/provisioning/EapHostConfig"><EapMethod><Type xmlns="http://www.microsoft.com/provisioning/EapCommon">13</Type><VendorId xmlns="http://www.microsoft.com/provisioning/EapCommon">0</VendorId><VendorType xmlns="http://www.microsoft.com/provisioning/EapCommon">0</VendorType><AuthorId xmlns="http://www.microsoft.com/provisioning/EapCommon">0</AuthorId></EapMethod><Config xmlns="http://www.microsoft.com/provisioning/EapHostConfig"><Eap xmlns="http://www.microsoft.com/provisioning/BaseEapConnectionPropertiesV1"><Type>13</Type><EapType xmlns="http://www.microsoft.com/provisioning/EapTlsConnectionPropertiesV1"><CredentialsSource><CertificateStore><SimpleCertSelection>true</SimpleCertSelection></CertificateStore></CredentialsSource><ServerValidation><DisableUserPromptForServerValidation>false</DisableUserPromptForServerValidation><ServerNames></ServerNames></ServerValidation><DifferentUsername>false</DifferentUsername><PerformServerValidation xmlns="http://www.microsoft.com/provisioning/EapTlsConnectionPropertiesV2">false</PerformServerValidation><AcceptServerName xmlns="http://www.microsoft.com/provisioning/EapTlsConnectionPropertiesV2">false</AcceptServerName></EapType></Eap></Config></EapHostConfig>
     </Configuration>
     </Eap>
     </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>192.168.3.5</Address>  
     <PrefixSize>32</PrefixSize>  
       </Route>  
       <Route>  
     <Address>192.168.3.4</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>192.168.3.4, 192.168.3.5</RemoteAddressRanges>  
       </TrafficFilter>
     <!-- need to specify always on = true --> 
     <AlwaysOn>true</AlwaysOn>
     <RememberCredentials>true</RememberCredentials>
     <!--new node to register client IP address in DNS to enable manage out -->
     <RegisterDNS>true</RegisterDNS>
     </VPNProfile>
    
  3. Kör PowerShell som administratör.

  4. I PowerShell växlar du till mappen där usercert.ps1 och VPNProfile.xml finns och kör följande kommando:

    C:\> .\usercert.ps1 .\VPNProfile.xml UserTest
    

    MachineCertTest

  5. Under VPN-inställningar letar du efter posten UserTest och väljer sedan Anslut.

  6. Om anslutningen lyckas har du konfigurerat en AlwaysOn-användartunnel.

Ta bort en profil

Om du vill ta bort en profil använder du följande steg:

  1. Kör följande kommando:

    C:\> Remove-VpnConnection UserTest  
    
  2. Koppla från anslutningen och avmarkera kryssrutan Anslut automatiskt .

    Rensa

Nästa steg

Mer information om Virtual WAN finns i Vanliga frågor och svar.