Megosztás a következőn keresztül:


Oktatóanyag: Always On VPN-kapcsolat létrehozása Windows-ügyféleszközökön

Ez az oktatóanyag bemutatja, hogyan hozhat létre Always On VPN-kapcsolatot Windows-ügyféleszközökön. Folytatja az Always On VPN mintakörnyezetben való üzembe helyezését. Korábban a sorozatban üzembe helyezett egy mintainfrastruktúrát és konfigurált hitelesítésszolgáltatói sablonokat.

Ebben az útmutatóban Ön:

  • Hozzon létre és tesztelje az Always On VPN-kapcsolat sablonjaként használt manuális felhasználói VPN-kapcsolatot.
  • Konvertálja a manuális VPN-kapcsolatot Always On VPN-kapcsolattá a PowerShell használatával.

Az Always On VPN-kapcsolatok eszközalagútként vagy felhasználói alagútként konfigurálhatók:

  • Device tunnel: connects to specified VPN servers before users signs in to the device. Az eszközalagutat bejelentkezés előtti kapcsolati forgatókönyvekhez és eszközfelügyeleti célokra használják.

  • User tunnel: connects only after a user logs on to the device. A felhasználói alagút lehetővé teszi, hogy a felhasználók VPN-kiszolgálókon keresztül férhessenek hozzá a szervezeti erőforrásokhoz.

Az eszközalagút és a felhasználói alagút közötti különbségekről további információt a VPN-eszközalagutak konfigurálása Windows-ügyfélen című témakörben talál.

Always On VPN connections, whether a device tunnel or a user tunnel, are configured using the ProfileXML node in the VPNv2 configuration service provider (CSP). Az oktatóanyag lépései bemutatják, hogyan konfigurálhat felhasználói alagutat egyetlen Windows-ügyféleszközön. Ezeket a lépéseket kis környezetekben vagy tesztelési célokra is használhatja.

Nagyobb környezetek esetén a Microsoft Intune vagy a Microsoft Configuration Manager használatával helyezze üzembe az Always On VPN-profilt Windows-ügyféleszközökön. További információ: Always On VPN-profil üzembe helyezése Windows-ügyfeleken a Microsoft Intune-nal és Always On VPN-profil üzembe helyezése Windows-ügyfeleken a Microsoft Configuration Managerrel.

Prerequisites

Az oktatóanyag lépéseinek elvégzéséhez a következőkre van szüksége:

Manuális felhasználói VPN-kapcsolat létrehozása és tesztelése

Először létre kell hoznia egy VPN-ügyfélkapcsolatot annak ellenőrzéséhez, hogy a VPN-tesztügyfél létre tud-e hozni egy sikeres VPN-kapcsolatot. Ezzel a kapcsolattal létrehozhatja az Always On VPN-kapcsolathoz használandó Extensible Authentication Protocol (EAP) beállításokat is. For more information about EAP settings, see EAP configuration.

  1. Jelentkezzen be a tartományhoz csatlakoztatott Windows-ügyféleszközre az Active Directory-tesztfelhasználó létrehozásakor korábban létrehozott VPN-felhasználóként.

  2. On the Start menu, type VPN to select VPN Settings. Press ENTER.

  3. A részletek panelen válassza VPN-kapcsolat hozzáadásalehetőséget.

  4. For VPN Provider, select Windows (built-in).

  5. For Connection Name, enter Contoso VPN.

  6. A kiszolgálónév vagy -cím esetében adja meg a VPN-kiszolgáló külső teljes tartománynevét (FQDN) (példáulvpn.contoso.com).

  7. For VPN type, select IKEv2.

  8. Ha bejelentkezési adatok típusa, válassza Tanúsítványlehetőséget.

  9. Select Save.

  10. Under Related Settings, select Change adapter options.

  11. Right-click Contoso VPN, and select Properties.

  12. On the Security tab, for Data encryption, select Maximum strength encryption.

  13. Válassza Extensible Authentication Protocol (EAP)lehetőséget. Ezután válassza a Extensible Authentication Protocol (EAP)esetén a Microsoft: Protected EAP (PEAP) (titkosítás engedélyezve)lehetőséget.

  14. Select Properties to open Protected EAP Properties, and complete the following steps:

    1. Ha csatlakozni szeretne ezekhez a kiszolgálókhoz, adja meg az NPS-kiszolgáló állomásnevét.

    2. Megbízható legfelső szintű hitelesítésszolgáltatók esetén válassza ki az NPS-kiszolgáló tanúsítványát kiállító hitelesítésszolgáltatót (példáulcontoso-CA).

    3. Ha értesítéseket szeretnecsatlakoztatása előtt, válassza Ne kérje meg a felhasználót, hogy engedélyezze az új kiszolgálókat vagy a megbízható hitelesítésszolgáltatókat.

    4. A Hitelesítési módszer kiválasztásabeállításnál válassza intelligens kártya vagy más tanúsítványlehetőséget.

    5. Select Configure.

      1. Válassza a Tanúsítvány használata ezen a számítógépenlehetőséget.

      2. A kiszolgálókhoz való csatlakozáshoz adja meg az NPS-kiszolgáló állomásnevét.

      3. A(z) Megbízható gyökér hitelesítésszolgáltatókcsoportban válassza ki azt a hitelesítésszolgáltatót, amely kiállította az NPS-kiszolgáló tanúsítványát.

      4. Válassza Ne kérje meg a felhasználót, hogy engedélyezze az új kiszolgálókat vagy megbízható hitelesítésszolgáltatókat.

      5. Select OK to close Smart Card or other Certificate Properties.

      6. Select OK to close Protected EAP Properties.

    6. Select OK to close Contoso VPN Properties.

  15. Close the Network Connections window.

  16. In Settings, select Contoso VPN, and then select Connect. A VPN-kapcsolatot sikeresen létre kell hozni. You can verify the connection by checking the Network Connections window. The Contoso VPN connection should show as Connected. Tesztelje, hogyan csatlakozhat a VPN-alagút másik oldalán található erőforráshoz, például egy fájlmegosztáshoz vagy egy webkiszolgálóhoz.

  17. A VPN-kapcsolat sikerességének ellenőrzése után válassza le a kapcsolatot a VPN-kapcsolatról.

Important

Győződjön meg arról, hogy a sablon VPN-kapcsolata sikeres a VPN-kiszolgálóval. Ez biztosítja, hogy az EAP-beállítások helyesek legyenek, mielőtt a következő szakaszban használod őket. A folytatás előtt legalább egyszer csatlakoznia kell; ellenkező esetben a profil nem tartalmazza a VPN-hez való csatlakozáshoz szükséges összes információt.

A manuális VPN-kapcsolat átalakítása Always On VPN-kapcsolattá

Ezután powerShell-szkripttel konvertálja a manuális VPN-kapcsolatot Always On VPN-kapcsolattá.

  1. Ugyanazzal a felhasználóval jelentkezzen be a Windows-ügyféleszközön, és nyissa meg Windows PowerShell ISE rendszergazdai jogosultsággal.

  2. Másolja és illessze be a következő PowerShell-szkriptet a Windows PowerShell ISE szerkesztőablakba, majd mindenképpen módosítsa a nyolc változó értékét.

    Bontsa ki ezt a szakaszt a PowerShell-szkript megjelenítéséhez.
    # Set the variables for the VPN profile.
    $domain = 'corp' # Name of the domain.
    $templateName = 'Contoso VPN' # Name of the test VPN connection you created in the tutorial. 
    $profileName = 'Contoso AlwaysOn VPN' # Name of the profile we are going to create.
    $servers = 'aov-vpn.contoso.com' # Public or routable IP address or DNS name for the VPN gateway.
    $dnsSuffix = 'corp.contoso.com' # Specifies one or more commas separated DNS suffixes. 
    $domainName = '.corp.contoso.com' # Used to indicate the namespace to which the policy applies. Contains `.` prefix.
    $dnsServers = '10.10.0.6' # List of comma-separated DNS Server IP addresses to use for the namespace.
    $trustedNetwork = 'corp.contoso.com' # Comma-separated string to identify the trusted network.
    
    # Get the EAP settings for the current profile called $templateName
    $connection = Get-VpnConnection -Name $templateName
    
    if(!$connection)
    {
        $message = "Unable to get $templateName connection profile: $_"
        Write-Host "$message"
        exit
    }
    
    $EAPSettings= $connection.EapConfigXmlStream.InnerXml
    
    $profileNameEscaped = $profileName -replace ' ', '%20'
    
    # Define ProfileXML
    $profileXML = @("
    <VPNProfile>
      <DnsSuffix>$dnsSuffix</DnsSuffix>
      <NativeProfile>
    <Servers>$servers</Servers>
    <NativeProtocolType>IKEv2</NativeProtocolType>
    <Authentication>
      <UserMethod>Eap</UserMethod>
      <Eap>
        <Configuration>
        $EAPSettings
        </Configuration>
      </Eap>
    </Authentication>
    <RoutingPolicyType>SplitTunnel</RoutingPolicyType>
      </NativeProfile>
    <AlwaysOn>true</AlwaysOn>
    <RememberCredentials>true</RememberCredentials>
    <TrustedNetworkDetection>$trustedNetwork</TrustedNetworkDetection>
      <DomainNameInformation>
    <DomainName>$domainName</DomainName>
    <DnsServers>$dnsServers</DnsServers>
    </DomainNameInformation>
    </VPNProfile>
    ")
    
    # Output the XML for possible use in Intune
    $profileXML | Out-File -FilePath ($env:USERPROFILE + '\desktop\VPN_Profile.xml')
    
    # Escape special characters in the profile (<,>,")
    $profileXML = $profileXML -replace '<', '&lt;'
    $profileXML = $profileXML -replace '>', '&gt;'
    $profileXML = $profileXML -replace '"', '&quot;'
    
    # Define WMI-to-CSP Bridge properties
    $nodeCSPURI = "./Vendor/MSFT/VPNv2"
    $namespaceName = "root\cimv2\mdm\dmmap"
    $className = "MDM_VPNv2_01"
    
    try
    {
    
        # Determine user SID for VPN profile.
        $WmiLoggedOnUsers = (Get-WmiObject Win32_LoggedOnUser).Antecedent
        If($WmiLoggedOnUsers.Count -gt 1) { 
            $WmiLoggedOnUsers = $WmiLoggedOnUsers -match "Domain=""$domain"""
        }
    
        $WmiUserValid = ($WmiLoggedOnUsers | Select-Object -Unique -First 1) -match 'Domain="([^"]+)",Name="([^"]+)"'
    
        If(-not $WmiUserValid){
            Throw "Returned object is not a valid WMI string"
        }
    
        $UserName = "$($Matches[1])\$($Matches[2])"
    
        $ObjUser = New-Object System.Security.Principal.NTAccount($UserName)
        $Sid = $ObjUser.Translate([System.Security.Principal.SecurityIdentifier])
        $SidValue = $Sid.Value
        $message = "User SID is $SidValue."
    
        Write-Host "$message"
    
    }
    catch [Exception] 
    {
    
        $message = "Unable to get user SID. $_"
        Write-Host "$message" 
        exit
    }
    
    try 
    {
    
        # Define WMI session.
        $session = New-CimSession
        $options = New-Object Microsoft.Management.Infrastructure.Options.CimOperationOptions
        $options.SetCustomOption("PolicyPlatformContext_PrincipalContext_Type", "PolicyPlatform_UserContext", $false)
        $options.SetCustomOption("PolicyPlatformContext_PrincipalContext_Id", "$SidValue", $false)
    
    }
    catch {
    
        $message = "Unable to create new session for $profileName profile: $_"
        Write-Host $message
        exit
    }
    
    try
    {
    
        # Detect and delete previous VPN profile.
        $deleteInstances = $session.EnumerateInstances($namespaceName, $className, $options)
    
        foreach ($deleteInstance in $deleteInstances)
        {
            $InstanceId = $deleteInstance.InstanceID
            if ("$InstanceId" -eq "$profileNameEscaped")
            {
                $session.DeleteInstance($namespaceName, $deleteInstance, $options)
                $message = "Removed $profileName profile $InstanceId" 
                Write-Host "$message"
            }
            else 
            {
                $message = "Ignoring existing VPN profile $InstanceId"
                Write-Host "$message"
            }
        }
    }
    catch [Exception]
    {
        $message = "Unable to remove existing outdated instance(s) of $profileName profile: $_"
        Write-Host $message
        exit
    
    }
    
    try
    {
    
        # Create the VPN profile.
        $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, $options)
    
        $message = "Created $profileName profile."
        Write-Host "$message"
    
    }
    catch [Exception]
    {
    
        $message = "Unable to create $profileName profile: $_"
        Write-Host "$message"
        exit
    }
    
    $message = "Always On VPN connection created successfully."
    Write-Host "$message"
    
  3. Futtassa a szkriptet.

  4. Ellenőrizze, hogy a szkript sikeres volt-e. Ehhez futtassa a következő parancsot a Windows PowerShell ISE szerkesztőablakban:

    Get-CimInstance -Namespace root\cimv2\mdm\dmmap -ClassName MDM_VPNv2_01
    

    A kimenetnek az alábbi példához hasonlónak kell lennie (az ProfileXML érték csonkolva van az olvashatóság érdekében):

    AlwaysOn                : True
    ByPassForLocal          : 
    DeviceTunnel            : 
    DnsSuffix               : corp.contoso.com
    EdpModeId               : 
    InstanceID              : Contoso%20AlwaysOn%20VPN
    LockDown                : 
    ParentID                : ./Vendor/MSFT/VPNv2
    ProfileXML              : <VPNProfile>...</VPNProfile>
    RegisterDNS             : 
    RememberCredentials     : True
    TrustedNetworkDetection : corp.contoso.com
    PSComputerName          : 
    
  5. Az Always On VPN-kapcsolatot sikeresen létre kell hozni és létrejönni. You can verify the connection by checking the Network Connections window. A Contoso Always On VPN-kapcsolatnakcsatlakoztatottként kell megjelennie. Tesztelje, hogyan csatlakozhat a VPN-alagút másik oldalán található erőforráshoz, például egy fájlmegosztáshoz vagy egy webkiszolgálóhoz.

Most, hogy az Always On VPN-kapcsolattal csatlakozik a VPN-kiszolgálóhoz, az alábbi további erőforrások segítenek az Always On VPN üzembe helyezésében: