Import-VpnProfile എന്ന cmdlet ഇല്ല, ഏറ്റവും സമാനമായ Add-VpnConnection ഒരിക്കലും .ovpn അല്ലെങ്കിൽ .conf ഫയൽ വായിക്കുന്നില്ല. നൽകുന്ന പാരാമീറ്ററുകളിൽ നിന്ന് ഇത് നേറ്റീവ് Windows പ്രൊഫൈൽ കൂട്ടിച്ചേർക്കുന്നു, അതിനാൽ ഇവിടെ ആദ്യ പരിശോധനാ പോയിന്റ് ഫയൽ ഫോർമാറ്റാണ്, കമാൻഡ് ലൈൻ അല്ല. ഗേറ്റവേ SSTP, IKEv2, L2TP/IPsec അല്ലെങ്കിൽ PPTP സംസാരിക്കുന്നുവെങ്കിൽ Windows-ന് പ്രൊഫൈൽ സ്വന്തമാക്കാം, ബാക്കി ലിസ്റ്റും ബാധകമാണ്. OpenVPN അല്ലെങ്കിൽ WireGuard ഫയൽ തന്നിട്ടുണ്ടെങ്കിൽ ആദ്യ ഘട്ടത്തിൽ നിർത്തുക: ആ ക്ലയന്റുകൾക്ക് സ്വന്തം ഇമ്പോർട്ടറുകളുണ്ട്.

ഘട്ടം 1: Windows യഥാർത്ഥത്തിൽ ഏത് പ്രൊഫൈൽ സ്വന്തമാക്കാം എന്ന് ഉറപ്പാക്കുക

എല്ലാറ്റിനും മുമ്പായി മെഷീനിൽ Get-Command -Module VpnClient പ്രവർത്തിപ്പിക്കുക. Windows 10, Windows 11, Server 2016 അല്ലെങ്കിൽ അതിനുശേഷമുള്ളവ ഈ മൊഡ്യൂൾ നൽകുന്നു; അത് ഇല്ലെങ്കിൽ, പകർത്തിയ ഒരു സ്ക്രിപ്റ്റിനും ഈ ഹോസ്റ്റിനെ നേറ്റീവ് പ്രൊഫൈൽ സ്വീകരിക്കാൻ നിർബന്ധിക്കാനാവില്ല. പ്രധാന cmdlet-കൾ Add-VpnConnection, Get-VpnConnection, Remove-VpnConnection എന്നിവയാണ്, കൂടാതെ Add-VpnConnection റഫറൻസിലെ പാരാമീറ്റർ ലിസ്റ്റ് ഒരിക്കൽ പൂർണ്ണമായി വായിക്കാൻ യോഗ്യമാണ്.

നേറ്റീവ് എന്നാൽ Windows VPN സ്റ്റാക്ക് ടണൽ അവസാനിപ്പിക്കുന്നു. ഇതിൽ IKEv2 ഉൾപ്പെടുന്നു, പലപ്പോഴും മെഷീൻ സർട്ടിഫിക്കറ്റോടെ; ഉള്ളിൽ ഉപയോക്തൃ അല്ലെങ്കിൽ സർട്ടിഫിക്കറ്റ് ഓതന്റിക്കേഷനുള്ള TLS ആയ SSTP; മുൻകൂട്ടി പങ്കിട്ട കീയുള്ള L2TP/IPsec. .ovpn ഫയൽ ഒരു OpenVPN സ്ക്രിപ്റ്റാണ്, Windows കണക്ഷനല്ല: remote, cipher, tls-auth പോലുള്ള നിർദ്ദേശങ്ങൾ അതിൽ ഉണ്ട്, Windows സ്റ്റാക്കിന് അവയെക്കുറിച്ച് ഒരു ധാരണയുമില്ല. WireGuard-ന്റെ .conf-ഉം PrivateKey, AllowedIPs എന്നിവയുള്ള അതേ കഥയാണ്; ഒന്നിനെ മറ്റൊന്നാക്കി മാറ്റുന്നത് പാരാമീറ്റർ തിരഞ്ഞെടുപ്പല്ല, വ്യത്യസ്ത ടണൽ നടപ്പാക്കലാണ്.

മൂന്നാമതൊരു ശാഖയുമുണ്ട്. ഒരു അഡ്മിനിസ്ട്രേറ്റർ നിങ്ങൾക്ക് VPNv2 CSP XML ഡോക്യുമെന്റോ Intune പ്രൊഫൈലോ നൽകിയാൽ, അത് MDM പാതയാണ്, Add-VpnConnection അല്ല, പ്രൊവിഷനിംഗ് സ്റ്റാക്ക് അത് പ്രയോഗിക്കുന്നു. ആ നോഡ് നാമങ്ങൾ PowerShell പാരാമീറ്ററുകളിലേക്ക് വിവർത്തനം ചെയ്യരുത്; പകരം XML പ്രയോഗിക്കുന്നത് ഏത് സംവിധാനമാണെന്ന് ചോദിക്കുക.

ഘട്ടം 2: ടണൽ തരം ഓതന്റിക്കേഷൻ രീതിയുമായി ജോടിയാക്കുക

-TunnelType, -AuthenticationMethod എന്നിവ വെവ്വേറെ പാരാമീറ്ററുകളാണ്, ഗേറ്റവേയ്ക്ക് സംയോജനം മാത്രമാണ് പ്രധാനം. ഒന്ന് ശരി, മറ്റൊന്ന് തെറ്റ് എന്നാൽ എങ്ങും ബന്ധിപ്പിക്കാത്ത പ്രൊഫൈൽ ലഭിക്കും, അല്ലെങ്കിൽ ടണൽ ഉയർന്നു കഴിഞ്ഞ് സ്തംഭിക്കും. മറ്റൊരു സേവനത്തിനായി തിരഞ്ഞെടുത്ത ഡിഫോൾട്ടിനെ വിശ്വസിക്കുന്നതിനു പകരം രണ്ടും വ്യക്തമായി സജ്ജമാക്കുക.

  • MachineCertificate-ഉമായി IKEv2: ക്ലയന്റ് കമ്പ്യൂട്ടർ സർട്ടിഫിക്കറ്റ് അവതരിപ്പിക്കുന്നു; -EncryptionLevel Required-ഉം സജ്ജമാക്കുക.
  • Eap-ഉമായി SSTP: ആദ്യം TLS ടണൽ, പിന്നീട് PEAP/MSCHAPv2 അല്ലെങ്കിൽ EAP-യ്ക്കുള്ളിൽ സർട്ടിഫിക്കറ്റ്. ഇതിന് ഘട്ടം 3-ലെ XML ആവശ്യമാണ്.
  • MSChapv2, Chap അല്ലെങ്കിൽ Pap-ഉമായി SSTP, L2TP അല്ലെങ്കിൽ PPTP: ലളിതമായ ഉപയോക്തൃനാമവും പാസ്വേഡും, EAP ബ്ലോബ് ഇല്ല.
  • MSChapv2-ഉം -Lt2pPsk-ഉം ഉള്ള L2TP: PSK IPsec പകുതി നിർവഹിക്കുന്നു, ഉപയോക്താവ് PPP; രണ്ടും സർവറുമായി ഒത്തുപോകണം.

splat മൂല്യങ്ങൾ ഒരിടത്ത് സൂക്ഷിക്കുന്നു:

$p = @{
  Name                 = "Corp IKEv2"
  ServerAddress        = "vpn.example.com"
  TunnelType           = "Ikev2"
  AuthenticationMethod = "MachineCertificate"
  EncryptionLevel      = "Required"
  SplitTunneling       = $false
  DnsSuffix            = "corp.example.com"
}
Add-VpnConnection @p -PassThru

-PassThru Windows ഇപ്പോൾ എഴുതിയ ഒബ്ജക്റ്റ് തിരികെ നൽകുന്നു, അതിനാൽ രണ്ടാം വിളിയില്ലാതെ അത് പരിശോധിക്കാം. പേര് നേരത്തെയുണ്ടെങ്കിൽ cmdlet പ്രവർത്തിക്കാൻ വിസമ്മതിക്കുന്നു; -Force അത് മുകളിൽ എഴുതുന്നു, ഉത്പാദന ലാപ്ടോപ്പിൽ അത് തെറ്റായ പ്രതികരണമാണ്, കാരണം ആരെങ്കിലും കൈകൊണ്ട് ക്രമീകരിച്ചതെല്ലാം നിശ്ശബ്ദമായി വലിച്ചെറിയുന്നു.

ഘട്ടം 3: ക്രെഡൻഷ്യൽ വസ്തു ശരിയായി കൈമാറുക

പാസ്വേഡുകൾ, മുൻകൂട്ടി പങ്കിട്ട കീകൾ എന്നിവയും EAP ബ്ലോബുകളുമാണ് ഈ സ്ക്രിപ്റ്റുകൾ സാധാരണ തകരുന്നിടം. -EapConfigXmlStream-ന് പാതയല്ല, XmlDocument ആണ് വേണ്ടത്, അതിനാൽ ആദ്യം ഫയൽ വായിച്ച് പരിവർത്തനം ചെയ്യുക. സ്ട്രിംഗ് നൽകിയാൽ സ്കീമ പ്രശ്നം പോലെ തോന്നിക്കുന്ന പരിവർത്തന പിശകുണ്ടാകും, ഒരിക്കലും തെറ്റായിരുന്നിട്ടില്ലാത്ത XML വീണ്ടും എഴുതാൻ ആളുകളെ അയയ്ക്കും.

$eap = [xml](Get-Content -Raw .\peap-mschapv2.xml)
Add-VpnConnection -Name "Corp SSTP" -ServerAddress "sstp.example.com" `
  -TunnelType Sstp -AuthenticationMethod Eap `
  -EapConfigXmlStream $eap -EncryptionLevel Required

ആ XML ഒരു ബ്ലോഗ് ശകലത്തിൽ നിന്ന് കെട്ടിച്ചമയ്ക്കേണ്ടതല്ല. അത് EAP രീതി തരവും ആന്തരിക ഓതന്റിക്കേഷനും പേരിടുന്നു, ഗേറ്റവേ രണ്ടും തന്റെ നയവുമായി താരതമ്യം ചെയ്യുന്നു. പൊരുത്തപ്പെടാത്ത ആന്തരിക രീതി TLS ഹാൻഡ്ഷേക്ക് പൂർത്തിയായ ശേഷം പരാജയപ്പെടുന്നു, അത് കൃത്യമായി തെറ്റായ പാസ്വേഡ് പോലെ തോന്നും, എന്നാൽ അല്ല. XML ഗേറ്റവേ നിയന്ത്രിക്കുന്നവരിൽ നിന്ന് വാങ്ങുക, അല്ലെങ്കിൽ ഇതിനകം പ്രവർത്തിക്കുന്ന പ്രൊഫൈലിൽ നിന്ന് കയറ്റുമതി ചെയ്യുക.

IKEv2-ന് സർട്ടിഫിക്കറ്റ് പകുതി സ്റ്റോറിലെ തിരച്ചിലാണ്. -MachineCertificateIssuerFilter ഒരു സർട്ടിഫിക്കറ്റ് ഒബ്ജക്റ്റ് സ്വീകരിക്കുന്നു, LocalMachine\My-യിൽ ഉപയോഗയോഗ്യമായ ക്ലയന്റ് സർട്ടിഫിക്കറ്റ് കണ്ടെത്താൻ Windows അത് ഉപയോഗിക്കുന്നു. സർട്ടിഫിക്കറ്റിന് സ്വകാര്യ കീയും സർവർ വിശ്വസിക്കുന്ന ചെയിനും ആവശ്യമാണ്; ഒന്നെങ്കിലും ഇല്ലെങ്കിൽ ഓതന്റിക്കേഷൻ ഉപയോഗപ്രദമായ വിശദാംശമില്ലാതെ പരാജയപ്പെടും, അതിനാൽ ആദ്യം സ്റ്റോർ പരിശോധിക്കുക:

Get-ChildItem Cert:\LocalMachine\My |
  Where-Object { $_.HasPrivateKey -and $_.NotAfter -gt (Get-Date) } |
  Select-Object Subject, Issuer, Thumbprint, NotAfter

രഹസ്യങ്ങൾ സ്ക്രിപ്റ്റ് ഫയലിന് പുറത്ത് സൂക്ഷിക്കുക. കമാൻഡ് ലൈനിൽ നൽകിയതോ .ps1-ൽ ചുട്ടെടുത്തതോ ആയ PSK ട്രാൻസ്ക്രിപ്റ്റുകളിലും സംഭരിച്ച സെഷനുകളിലും പങ്കിട്ട റിപ്പോസിറ്ററികളിലും എത്തുന്നു, -RememberCredential ഉപയോക്തൃ ക്രെഡൻഷ്യലുകൾ പിന്നീടേക്ക് കാഷ് ചെയ്ത് ഒറ്റത്തവണ പരീക്ഷണത്തെ സ്ഥിരമായ അനുമതിയാക്കി മാറ്റുന്നു.

ഘട്ടം 4: ആദ്യ പ്രവർത്തനത്തിന് മുമ്പ് പരിധി തീരുമാനിക്കുക

അതേ cmdlet രണ്ട് വ്യത്യസ്ത ഫോൺബുക്കുകളിലേക്ക് എഴുതുന്നു. -AllUserConnection ഇല്ലാതെ പ്രൊഫൈൽ നിങ്ങളുടേതാണ്, %APPDATA%\Microsoft\Network\Connections\Pbk\rasphone.pbk-ന് കീഴിൽ കഴിയുന്നു. അതിനൊപ്പം, ഉയർത്തിയ പ്രോംപ്റ്റിൽ നിന്ന്, പ്രൊഫൈൽ %ProgramData%\Microsoft\Network\Connections\Pbk\rasphone.pbk-ലേക്ക് പോകുന്നു, സൈൻ-ഇൻ സ്ക്രീൻ ഉൾപ്പെടെ എല്ലാ അക്കൗണ്ടിനും ദൃശ്യമാണ്.

പരിധി അലങ്കാരമല്ല. എല്ലാ ഉപയോക്തൃ പ്രൊഫൈൽ എന്നത് സേവന അക്കൗണ്ടിനോ ഷെഡ്യൂൾ ചെയ്ത ടാസ്കിനോ സൈൻ-ഇന്നിന് മുമ്പുള്ള സാഹചര്യത്തിനോ ഉപയോഗിക്കാനാവുന്നതാണ്; ഓരോ ഉപയോക്താവിന്റെയും പ്രൊഫൈൽ ആ മൂന്നിനും അദൃശ്യമാണ്. ഒബ്ജക്റ്റുകൾ വായിക്കുന്നതും വ്യത്യസ്തമാണ്: Get-VpnConnection നിലവിലെ ഉപയോക്താവിന്റെ എൻട്രികൾ പട്ടികപ്പെടുത്തുന്നു, Get-VpnConnection -AllUserConnection മുഴുവൻ മെഷീന്റേതും. ഇപ്പോൾ ഒന്ന് തിരഞ്ഞെടുക്കുക, പിന്നീടുള്ള മാറ്റത്തെ എഡിറ്റിംഗല്ല, ഇല്ലാതാക്കി വീണ്ടും സൃഷ്ടിക്കലായി കാണുക:

# elevated prompt
Remove-VpnConnection -Name "Corp IKEv2" -Force
Add-VpnConnection -Name "Corp IKEv2" -ServerAddress "vpn.example.com" `
  -TunnelType Ikev2 -AuthenticationMethod MachineCertificate `
  -EncryptionLevel Required -AllUserConnection

ഘട്ടം 5: ടണൽ യഥാർത്ഥത്തിൽ എന്ത് എത്തിക്കണം എന്ന് പരിശോധിക്കുക

കണക്ട് ചെയ്ത ഐക്കൺ ടണൽ ഉയർന്നു എന്ന് മാത്രം തെളിയിക്കുന്നു, അതിൽ കൂടുതലൊന്നുമില്ല. ആദ്യം കമാൻഡ് ലൈനിൽ നിന്ന് കണക്ട് ചെയ്യുക, പരാജയങ്ങൾ ഡയലോഗല്ല, ടെക്സ്റ്റായി വരട്ടെ, പിന്നീട് Windows രേഖപ്പെടുത്തിയത് വായിക്കുക:

rasdial "Corp IKEv2"
Get-VpnConnection -Name "Corp IKEv2" |
  Select-Object Name, ServerAddress, TunnelType, ConnectionStatus, SplitTunneling
Get-NetRoute -DestinationPrefix "0.0.0.0/0"

സ്റ്റാറ്റസ് ഇപ്പോഴും Connected എന്ന് പറയുമ്പോൾ ഉപയോക്താക്കൾ റിപ്പോർട്ട് ചെയ്യുന്ന രണ്ട് പരാജയങ്ങൾ DNS-ഉം റൂട്ടിംഗുമാണ്. ആന്തരിക നാമം പരിഹരിച്ച് ഏത് സർവർ ഉത്തരം നൽകി എന്ന് പരിശോധിക്കുക; -DnsSuffix ഇല്ലാത്ത പ്രൊഫൈൽ തികഞ്ഞ ടണൽ നൽകിയാലും ഓരോ ഇന്ട്രാനെറ്റ് തിരച്ചിലിലും പരാജയപ്പെടാം. പിന്നീട് ഡിഫോൾട്ട് റൂട്ട് നോക്കുക: സ്പ്ലിറ്റ് ടണലിംഗ് ഓഫ് ആണെങ്കിൽ ഏറ്റവും കുറഞ്ഞ മെട്രിക്കുള്ള 0.0.0.0/0 റൂട്ട് VPN ഇന്റർഫേസിലേക്ക് ചൂണ്ടണം, ഓണ് ആണെങ്കിൽ നിങ്ങൾ പ്രതീക്ഷിക്കുന്ന പ്രിഫിക്സുകൾ മാത്രം. രണ്ടും ശരിയെന്ന് തോന്നുകയും ട്രാഫിക് ഇപ്പോഴും മരിക്കുകയും ചെയ്താൽ, പ്രശ്നം പ്രൊഫൈലിന് അപ്പുറമാണ്, നയത്തിലോ ഗേറ്റവേ ഫിൽട്ടറിലോ.

കണക്ഷൻ പൂർണ്ണമായി പരാജയപ്പെടുമ്പോൾ, കോഡ് മടങ്ങേണ്ട ഘട്ടം ചുരുക്കുന്നു:

  • 691: ഗേറ്റവേ ക്രെഡൻഷ്യലുകൾ നിരസിച്ചു. ടണലിലേക്കല്ല, ഘട്ടം 3-ലേക്ക് മടങ്ങുക.
  • 809: IKEv2 ഹാൻഡ്ഷേക്ക് ഒരിക്കലും പൂർത്തിയായില്ല. UDP 500-ഉം 4500-ഉം സർട്ടിഫിക്കറ്റ് വിശ്വാസവും പരിശോധിക്കുക.
  • 789: L2TP/IPsec മുൻകൂട്ടി പങ്കിട്ട കീ ഇല്ല അല്ലെങ്കിൽ തെറ്റാണ്.
  • 868: സർവർ നാമം പരിഹരിച്ചില്ല. പ്രൊഫൈൽ എഡിറ്റ് ചെയ്യുന്നതിന് മുമ്പ് DNS ശരിയാക്കുക.

പ്രവർത്തിക്കുന്ന കമാൻഡ് അത് എൻകോഡ് ചെയ്യുന്ന ക്രമീകരണങ്ങൾക്കൊപ്പം സൂക്ഷിക്കുക, അടുത്തയാൾ UI-യിൽ നിന്ന് പ്രൊഫൈൽ വിപരീതമായി വിശകലനം ചെയ്യാതെ വീണ്ടും നിർമ്മിക്കാൻ കഴിയട്ടെ. ശരിക്കും വീണ്ടും നിർമ്മിക്കേണ്ടി വന്നാൽ, എൻട്രി ഇല്ലാതാക്കി അതേ പാരാമീറ്ററുകളിൽ വീണ്ടും സൃഷ്ടിക്കുക; പകുതി ക്രമീകരിച്ച പ്രൊഫൈൽ പാച്ച് ചെയ്യുന്നത് പഴയ റൂട്ടുകളും ഓതന്റിക്കേഷൻ അവസ്ഥയും അവശേഷിപ്പിക്കും. ഫയൽ ഒരിക്കലും നേറ്റീവ് ആയിരുന്നില്ലെങ്കിൽ, അതിനുടമയായ ക്ലയന്റിലേക്ക് മടങ്ങുക. IKEv2 പ്രൊഫൈലായി വേഷമിട്ട .ovpn ഇമ്പോർട്ടല്ല, സപ്പോർട്ട് ടിക്കറ്റാണ്.

അനുബന്ധ ലേഖനങ്ങൾ