Udostępnij za pośrednictwem


Konfigurowanie tunelu użytkownika zawsze włączonej sieci VPN dla usługi Virtual WAN

Funkcja Always On została wprowadzona w kliencie sieci VPN systemu Windows 10. Zawsze włączone jest możliwość obsługi połączenia sieci VPN. W przypadku opcji Zawsze włączone aktywny profil sieci VPN może łączyć się automatycznie i pozostać połączony na podstawie wyzwalaczy, takich jak logowanie użytkownika, zmiana stanu sieci lub aktywny ekran urządzenia.

Bramy z funkcją Always On można używać do ustanawiania trwałych tuneli użytkownika i tuneli urządzeń na platformie Azure.

Zawsze włączone połączenia sieci VPN obejmują jeden z dwóch typów tuneli:

  • Tunel urządzenia: łączy się z określonymi serwerami sieci VPN, zanim użytkownicy zalogują się do urządzenia. Scenariusze łączności logowania wstępnego i zarządzanie urządzeniami korzystają z tunelu urządzenia.

  • Tunel użytkownika: łączy się tylko po zalogowaniu się użytkowników do urządzenia. Za pomocą tuneli użytkownika można uzyskiwać dostęp do zasobów organizacji za pośrednictwem serwerów sieci VPN.

Tunele urządzeń i tunele użytkowników działają niezależnie od profilów sieci VPN. Można je połączyć w tym samym czasie i mogą używać różnych metod uwierzytelniania i innych ustawień konfiguracji sieci VPN, zgodnie z potrzebami.

Wymagania wstępne

Należy utworzyć konfigurację punkt-lokacja i edytować przypisanie koncentratora wirtualnego. Aby uzyskać instrukcje, zobacz następujące sekcje:

Konfigurowanie tunelu użytkownika

  1. Zainstaluj certyfikaty klienta na kliencie systemu Windows, jak pokazano w tym artykule dotyczącym klienta sieci VPN typu punkt-lokacja. Certyfikat musi znajdować się w bieżącym magazynie użytkowników.

  2. Klienta zawsze włączonej sieci VPN można skonfigurować za pomocą programu PowerShell, programu Configuration Manager lub usługi Intune, postępując zgodnie z instrukcjami w temacie Konfigurowanie zawsze włączonych połączeń sieci VPN klienta systemu Windows 10 lub nowszego.

Przykładowa konfiguracja tunelu użytkownika

Po skonfigurowaniu bramy sieci wirtualnej i zainstalowaniu certyfikatu klienta w magazynie komputera lokalnego na kliencie systemu Windows skonfiguruj tunel urządzenia klienckiego, korzystając z poniższych przykładów. Należy pamiętać, że te przykłady zostały zweryfikowane w systemie Windows 10.

  1. Skopiuj następujący tekst i zapisz go jako 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. Skopiuj następujący tekst i zapisz go jako VPNProfile.xml w tym samym folderze co usercert.ps1. Edytuj następujący tekst, aby był zgodny ze środowiskiem:

    • <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. Uruchom program Powershell jako Administrator.

  4. W programie PowerShell przejdź do folderu, w którym znajduje się plik usercert.ps1 i VPNProfile.xml , a następnie uruchom następujące polecenie:

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

    MachineCertTest

  5. W obszarze Ustawienia sieci VPN wyszukaj wpis UserTest , a następnie wybierz pozycję Połącz.

  6. Jeśli połączenie powiedzie się, pomyślnie skonfigurowano tunel użytkownika Always On.

Aby usunąć profil

Aby usunąć profil, wykonaj następujące kroki:

  1. Uruchom następujące polecenie:

    C:\> Remove-VpnConnection UserTest  
    
  2. Odłącz połączenie i wyczyść pole wyboru Połącz automatycznie .

    Czyszczenie

Następne kroki

Aby uzyskać więcej informacji na temat usługi Virtual WAN, zobacz często zadawane pytania.