Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W ostatniej części samouczka dowiesz się, jak używać skryptu konfiguracji programu PowerShell ProfileXML w celu skonfigurowania ustawień zawsze włączonej sieci VPN i utworzenia tunelu użytkownika dla połączeń klienckich.
Aby uzyskać bardziej szczegółowe informacje na temat opcji konfiguracji zawsze włączonej sieci VPN dla dostawcy usług konfiguracji (CSP), zobacz VPNv2 configuration service provider.
Wymagania wstępne
Ukończ Samouczek: Wdrażanie Always On VPN — konfigurowanie szablonów Urzędu Certyfikacji.
Tworzenie zawsze włączonego profilu klienta sieci VPN
W tej sekcji utworzymy połączenie klienta sieci VPN, aby sprawdzić, czy testowy klient sieci VPN może nawiązać pomyślne połączenie sieci VPN. Umożliwi to również utworzenie ustawień protokołu EAP na potrzeby eksportu w następnej sekcji.
Aby uzyskać więcej informacji na temat ustawień protokołu EAP, zobacz Konfiguracja protokołu EAP.
Zaloguj się na komputerze klienckim sieci VPN przyłączonym do domeny jako użytkownik sieci VPN utworzony w sekcji Tworzenie użytkownika testowego usługi Active Directory.
W menu Start wpisz VPN , aby wybrać pozycję Ustawienia sieci VPN. Naciśnij ENTER.
W okienku szczegółów wybierz pozycję Dodaj połączenie sieci VPN.
W polu Dostawca sieci VPN wybierz pozycję Windows (wbudowane).
W polu Nazwa połączenia wprowadź wartość Contoso VPN.
W polu Nazwa serwera lub adres wprowadź zewnętrzną nazwę FQDN serwera sieci VPN (na przykład vpn.contoso.com).
W polu Typ sieci VPN wybierz pozycję IKEv2.
W polu Typ informacji logowania wybierz pozycję Certyfikat.
Wybierz Zapisz.
W obszarze Powiązane ustawienia wybierz pozycję Zmień opcje adaptera.
Kliknij prawym przyciskiem myszy pozycję Contoso VPN, a następnie wybierz pozycję Właściwości.
Na karcie Zabezpieczenia w polu Szyfrowanie danych wybierz pozycję Maksymalna siła szyfrowania.
Wybierz pozycję Użyj rozszerzonego protokołu uwierzytelniania (EAP). Następnie w obszarze Użyj rozszerzonego protokołu uwierzytelniania (EAP) wybierz pozycję Microsoft: Protected EAP (PEAP) (Szyfrowanie włączone).
Wybierz Właściwości, aby otworzyć właściwości zabezpieczonego EAP i wykonaj następujące kroki:
W polu Połącz z tymi serwerami wprowadź nazwę serwera NPS.
W sekcji Zaufane główne urzędy certyfikacji wybierz urząd certyfikacji, który wystawił certyfikat serwera NPS (na przykład contoso-CA).
W obszarze Powiadomienia przed nawiązaniem połączenia wybierz pozycję Nie pytaj użytkownika o autoryzowanie nowych serwerów ani zaufanych urzędów certyfikacji.
W obszarze Wybierz metodę uwierzytelniania wybierz pozycję Karta inteligentna lub inny certyfikat.
Wybierz Konfiguruj.
Wybierz pozycję Użyj certyfikatu na tym komputerze.
W polu Połącz z tymi serwerami wprowadź nazwę serwera NPS.
W sekcji Zaufane główne urzędy certyfikacji wybierz urząd certyfikacji, który wydał certyfikat dla serwera NPS.
Wybierz pozycję Nie monituj użytkownika o autoryzację nowych serwerów ani zaufanych urzędów certyfikacji.
Wybierz przycisk OK , aby zamknąć kartę inteligentną lub inne właściwości certyfikatu.
Wybierz przycisk OK , aby zamknąć chronione właściwości protokołu EAP.
Wybierz przycisk OK , aby zamknąć pozycję Właściwości sieci VPN firmy Contoso.
Zamknij okno Połączenia sieciowe.
W obszarze Ustawienia wybierz pozycję Contoso VPN, a następnie wybierz pozycję Połącz.
Ważne
Upewnij się, że połączenie szablonu VPN z serwerem VPN zakończyło się pomyślnie. Dzięki temu ustawienia protokołu EAP są poprawne przed użyciem ich w następnym kroku. Przed kontynuowaniem należy nawiązać połączenie co najmniej raz; w przeciwnym razie profil nie będzie zawierać wszystkich informacji niezbędnych do nawiązania połączenia z siecią VPN.
Konfigurowanie klienta sieci VPN systemu Windows
W tej sekcji ręcznie skonfigurujesz klienta sieci VPN systemu Windows przy użyciu skryptu programu PowerShell.
Zaloguj się jako użytkownik sieci VPN na komputerze klienckim sieci VPN.
Otwórz zintegrowane środowisko skryptów programu Windows PowerShell (ISE) jako administrator.
Skopiuj i wklej następujący skrypt:
# Define key VPN profile parameters # Replace with your own values $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 '<', '<' $ProfileXML = $ProfileXML -replace '>', '>' $ProfileXML = $ProfileXML -replace '"', '"' # 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 = "Script Complete" Write-Host "$Message"
Ustaw wartość następujących zmiennych w górnej części skryptu:
$Domain
, ,$TemplateName
,$ProfileName
$Servers
,$DnsSuffix
$DomainName
i$DNSServers
. Aby uzyskać bardziej szczegółowe informacje na temat ustawiania tych zmiennych, zobacz : VPNv2 CSP.Naciśnij ENTER, aby uruchomić skrypt.
Sprawdź, czy skrypt zakończył się pomyślnie, uruchamiając następujące polecenie w środowisku Windows PowerShell ISE:
Get-CimInstance -Namespace root\cimv2\mdm\dmmap -ClassName MDM_VPNv2_01
Powinny zostać wyświetlone następujące dane wyjściowe (wartość ProfileXML została obcięta w celu zapewnienia czytelności):
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 : `
Masz teraz skonfigurowany tunel użytkownika dla zawsze włączonej sieci VPN. Jeśli chcesz dowiedzieć się, jak skonfigurować tunel urządzenia, zobacz Konfigurowanie tuneli urządzeń sieci VPN w kliencie systemu Windows.
Następne kroki
Aby dowiedzieć się, jak skonfigurować profile zawsze włączone sieci VPN za pomocą programu Microsoft Configuration Manager, zobacz Wdrażanie profilu zawsze włączonej sieci VPN na klientach z systemem Windows przy użyciu programu Microsoft Configuration Manager.
Aby dowiedzieć się, jak skonfigurować profile Always On VPN przy użyciu usługi Microsoft Intune, przeczytaj Wdrażanie profilu Always On VPN na klientach z systemem Windows przy użyciu usługi Microsoft Intune.
Dowiedz się, jak skonfigurować dostęp warunkowy na potrzeby łączności sieci VPN przy użyciu identyfikatora Entra firmy Microsoft.
Aby dowiedzieć się więcej na temat zaawansowanych funkcji sieci VPN, zobacz Zaawansowane funkcje sieci VPN.
Aby uzyskać bardziej szczegółowe informacje na temat opcji konfiguracji zawsze włączonej sieci VPN dla dostawcy usług konfiguracji (CSP), zobacz VPNv2 configuration service provider.
Aby rozwiązać problemy z zawsze włączoną siecią VPN, zobacz Rozwiązywanie problemów z zawsze włączoną siecią VPN.