Bagikan melalui


Mengonfigurasi terowongan perangkat VPN di klien Windows

Berlaku untuk: Windows Server 2022, Windows Server 2019, Windows 10, Windows 11

Always On VPN memberi Anda kemampuan untuk membuat profil VPN khusus untuk perangkat atau mesin. Koneksi VPN AlwaysOn mencakup dua jenis terowongan:

  • Terowongan perangkat tersambung ke server VPN tertentu sebelum pengguna masuk ke perangkat. Skenario konektivitas pra-login dan tujuan manajemen perangkat menggunakan terowongan perangkat.

  • Terowongan pengguna hanya tersambung setelah pengguna masuk ke perangkat. Terowongan pengguna memungkinkan pengguna mengakses sumber daya organisasi melalui server VPN.

Tidak seperti terowongan pengguna, yang hanya terhubung setelah pengguna masuk ke perangkat atau mesin, terowongan perangkat memungkinkan VPN untuk membangun konektivitas sebelum pengguna masuk. Terowongan perangkat dan terowongan pengguna beroperasi secara independen dengan profil VPN mereka, dapat dihubungkan pada saat yang sama, dan dapat menggunakan metode autentikasi yang berbeda dan pengaturan konfigurasi VPN lainnya yang sesuai. Terowongan pengguna mendukung SSTP dan IKEv2, dan terowongan perangkat hanya mendukung IKEv2 tanpa dukungan untuk fallback SSTP.

Terowongan pengguna didukung pada perangkat yang bergabung dengan domain, nondomain-joined (grup kerja), atau Microsoft Entra ID-joined untuk memungkinkan skenario perusahaan dan BYOD. Ini tersedia di semua edisi Windows, dan fitur platform tersedia untuk pihak ketiga melalui dukungan plug-in VPN UWP.

Terowongan perangkat hanya dapat dikonfigurasi pada perangkat yang bergabung dengan domain yang menjalankan Windows 10 Enterprise atau Education versi 1709 atau yang lebih baru. Tidak ada dukungan untuk kontrol pihak ketiga terhadap terowongan perangkat. Jika hanya Terowongan Perangkat yang digunakan pada sistem, Anda dapat mengonfigurasi tabel Kebijakan Resolusi Nama (NRPT). Jika Terowongan Pengguna dan Terowongan Perangkat digunakan pada sistem, Anda dapat menggunakan tabel Kebijakan Resolusi Nama (NRPT) hanya di Terowongan Pengguna.

Terowongan perangkat tidak mendukung terowongan Force. Anda harus mengonfigurasinya sebagai Terowongan Terpisah. |

Prasyarat

Anda harus mengaktifkan autentikasi sertifikat mesin untuk koneksi VPN dan menentukan otoritas sertifikasi akar untuk mengautentikasi koneksi VPN masuk.

$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

Device Tunnel Features and Requirements

Konfigurasi Terowongan Perangkat VPN

XML profil sampel di bawah ini memberikan panduan yang baik untuk skenario di mana hanya tarikan yang dimulai klien yang diperlukan melalui terowongan perangkat. Filter lalu lintas dimanfaat untuk membatasi terowongan perangkat hanya untuk mengelola lalu lintas. Konfigurasi ini berfungsi dengan baik untuk Windows Update, skenario pembaruan Kebijakan Grup (GP) dan Microsoft Endpoint Configuration Manager, serta konektivitas VPN untuk masuk pertama tanpa kredensial yang di-cache, atau skenario reset kata sandi.

Untuk kasus pendorongan yang dimulai server, seperti Windows Remote Management (WinRM), Remote GPUpdate, dan skenario pembaruan Configuration Manager jarak jauh - Anda harus mengizinkan lalu lintas masuk pada terowongan perangkat, sehingga filter lalu lintas tidak dapat digunakan. Jika di profil terowongan perangkat Anda mengaktifkan filter lalu lintas, maka Terowongan Perangkat menolak lalu lintas masuk. Batasan ini akan dihapus dalam rilis mendatang.

Sampel profil VPNXML

Berikut ini adalah contoh profil VPNXML.

<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>

Tergantung pada kebutuhan setiap skenario penyebaran tertentu, fitur VPN lain yang dapat dikonfigurasi dengan terowongan perangkat adalah Deteksi Jaringan Tepercaya.

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

Penyebaran dan Pengujian

Anda dapat mengonfigurasi terowongan perangkat dengan menggunakan skrip Windows PowerShell dan menggunakan jembatan Windows Management Instrumentation (WMI). Terowongan perangkat VPN AlwaysOn harus dikonfigurasi dalam konteks akun SISTEM LOKAL. Untuk mencapai hal ini, perlu menggunakan PsExec, salah satu PsTools yang termasuk dalam rangkaian utilitas Sysinternals .

Untuk panduan tentang cara menyebarkan per perangkat (.\Device) vs. profil per pengguna (.\User) , lihat Menggunakan skrip PowerShell dengan Penyedia Jembatan WMI.

Jalankan perintah Windows PowerShell berikut untuk memverifikasi bahwa Anda telah berhasil menyebarkan profil perangkat:

Get-VpnConnection -AllUserConnection

Output menampilkan daftar profil VPN di seluruh perangkat yang disebarkan pada perangkat.

Contoh Skrip Windows PowerShell

Anda dapat menggunakan skrip Windows PowerShell berikut untuk membantu membuat skrip Anda sendiri untuk pembuatan profil.

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"

Sumber Tambahan

Berikut ini adalah sumber daya tambahan untuk membantu penyebaran VPN Anda.

Sumber daya konfigurasi klien VPN

Berikut ini adalah sumber daya konfigurasi klien VPN.

Sumber daya Gateway Server Akses Jarak Jauh

Berikut ini adalah sumber daya Gateway Server Akses Jarak Jauh (RAS).

Penting

Saat menggunakan Device Tunnel dengan gateway Microsoft RAS, Anda harus mengonfigurasi server RRAS untuk mendukung autentikasi sertifikat mesin IKEv2 dengan mengaktifkan metode autentikasi Izinkan sertifikat mesin untuk Autentikasi IKEv2 seperti yang dijelaskan di sini. Setelah pengaturan ini diaktifkan, sangat disarankan agar cmdlet PowerShell Set-VpnAuthProtocol , bersama dengan parameter opsional RootCertificateNameToAccept , digunakan untuk memastikan bahwa koneksi RRAS IKEv2 hanya diizinkan untuk sertifikat klien VPN yang menautkan ke Otoritas Sertifikasi Akar internal/privat yang ditentukan secara eksplisit. Atau, penyimpanan Otoritas Sertifikasi Akar Tepercaya di server RRAS harus diubah untuk memastikan bahwa itu tidak berisi otoritas sertifikasi publik seperti yang dibahas di sini. Metode serupa mungkin juga perlu dipertimbangkan untuk gateway VPN lainnya.