Windows OS Hub / Windows 10 / L2TP/IPSec VPN-ühenduse konfigureerimine NAT-i taga, VPN-i veakood 809
Kuna iOS-is keelasin PPTP VPN-i toe, otsustas üks minu klientidest Windows Server 2012 R2-ga töötava VPN-serveri ümber konfigureerida PPTP-lt L2TP/IPSec-ile. Sisemised VPN-kliendid LAN-i seest loovad aga VPN-serveriga ilma probleemideta välised Windowsi kliendid saavad L2TP VPN-iga ühendust luua proovides vea 809 server:
Võrguühendust teie arvuti ja VPN-serveri vahel ei õnnestunud luua, kuna kaugserver ei reageeri. Selle põhjuseks võib olla asjaolu, et üks teie arvuti ja kaugserveri vaheline võrguseade (nt tulemüür, NAT, ruuterid jne) ei ole VPN-ühendusi lubama konfigureeritud. Võtke ühendust oma administraatori või teenusepakkujaga, et teha kindlaks, milline seade võib probleemi põhjustada.
![L2TP-IPsec-VPN-serveriga ei saa ühendust luua](/f/0220fc8ff9e080682cefe3b05796d070.webp)
Teistes Windowsi versioonides on ühenduse vead 800, 794 või 809 võib viidata samale probleemile.
Väärib märkimist, et VPN-server on NAT-i taga ja ruuter on selleks konfigureeritud edasi L2TP pordid:
- UDP 1701 — 2. kihi edastamisprotokoll (L2F) ja 2. kihi tunneliprotokoll (L2TP)
- 500 UDP
- 4500 UDP NAT-T – IPSec Network Address Translator Traversal
- Protokoll 50 ESP
Need pordid on avatud ka Windowsi tulemüüri reeglid VPN-ühenduse jaoks. Neid kasutatakse klassikalist konfiguratsiooni. Ühenduse loomiseks kasutatakse sisseehitatud Windows VPN-i klienti.
Kui loote ühenduse sama VPN-serveriga PPTP kaudu, luuakse ühendus edukalt.
VPN-i viga 809 L2TP/IPSec jaoks NAT-i taga olevas Windowsis
Nagu selgus, on probleem juba teada ja artiklis kirjeldatud https://support.microsoft.com/en-us/kb/926179. Windowsi sisseehitatud VPN-klient ei toeta vaikimisi L2TP/IPsec-ühendusi NAT-i kaudu. Seda seetõttu, et IPsec kasutab ESP (Encapsulating Security Payload) pakettide krüptimiseks ja ESP seda ei toeta PAT (Sadamaaadressi tõlge). Kui soovite suhtluseks kasutada IPSeci, soovitab Microsoft kasutada VPN-serveris avalikke IP-aadresse.
Kuid on ka lahendus. Saate selle puuduse parandada, lubades toe NAT-T protokoll, mis võimaldab kapseldada ESP 50 pakette UDP-pakettidesse pordis 4500. NAT-T on vaikimisi lubatud peaaegu kõigis operatsioonisüsteemides (iOS, Android, Linux), välja arvatud Windows.
Kui L2TP/IPsec VPN-server asub NAT-seadme taga, peate välisklientide õigeks NAT-i kaudu ühendamiseks tegema mõned muudatused registris nii serveri kui ka kliendi poolel, et võimaldada UDP-pakettide kapseldamist L2TP ja NAT-T toe jaoks IPsec.
- Avage registriredaktor (
regedit.exe
) ja minge järgmisele registrivõtmele:- Windows 10/8.1/Vista ja Windows Server 2016/2012R2/2008R2 — HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PolicyAgent
- Windows XP/Windows Server 2003 — HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\IPSec
- Loo DWORD parameeter koos nimega AssumeUDPEcapsulationContextOnSendRule ja väärtus 2;Märge. Võimalikud AssumeUDPEncapsulationContextOnSendRule väärtused on järgmised:
- 0 – (vaikeväärtus) viitab sellele, et server on Internetiga ühendatud ilma NAT-ita;
- 1 – VPN-server asub NAT-seadme taga;
- 2 - nii VPN-server kui ka klient on NAT-i taga.
- Lihtsalt taaskäivitage arvuti ja veenduge, et VPN-tunnel oleks edukalt loodud
Samuti võite kasutada a PowerShelli cmdlet, et teha registris muudatusi:
Set-ItemProperty -Path "HKLM: SYSTEM\CurrentControlSet\Services\PolicyAgent" -Name "AssumeUDPEncapsulationContextOnSendRule" -Type DWORD -Value 2 –Force;
Pärast NAT-T toe lubamist saate edukalt NAT-i kaudu (sh topelt-NAT-i) kliendilt VPN-serveriga ühenduse luua.
Mõnel juhul peate VPN-i korrektseks tööks lubama TCP 1701 jaoks täiendava tulemüürireegli (mõnedes L2TP-rakendustes kasutatakse seda porti koos UDP 1701-ga).
Mitu L2TP VPN-ühendust samast kohtvõrgust
On veel üks huvitav VPN-viga. Kui teie kohalikus võrgus on mitu Windowsi arvutit, ei saa te välise L2TP/IPSec VPN-serveriga luua rohkem kui ühe samaaegse ühenduse. Kui proovite luua ühendust sama VPN-serveriga teisest arvutist (teise seadme aktiivse VPN-tunneliga), kuvatakse veakood 809 või 789:
Viga 789: L2TP-ühenduse katse nurjus, kuna turbekihil ilmnes eemaldamisarvutiga esialgsetel läbirääkimistel töötlemise viga.
Huvitaval kombel ilmneb see probleem ainult Windowsi seadmetes. Samas kohalikus võrgus asuvates Linuxi/MacOS-i/Androidi seadmetes selliseid probleeme ei esine. VPN-i L2TP-serveriga saate hõlpsalt ühenduse luua mitmest seadmest korraga.
TechNeti andmetel on probleem seotud L2TP/IPSec-kliendi vale juurutamisega Windowsis (mitte aastaid parandamata).
Selle vea parandamiseks peate muutma kahte registriparameetrit HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RasMan\Parameters registrivõti ja taaskäivitage arvuti:
- AllowL2TPWeakCrypto - muutu 00000001 (võimaldab nõrku krüpteerimisalgoritme, L2TP/IPSec puhul kasutatakse MD5 ja DES algoritme);
- ProhibitIPSec - muutu 00000000 (võimaldab IPseci krüptimist, mille mõned VPN-i kliendid või süsteemitööriistad sageli keelavad).
![AllowL2TPWeakCrypto ja ProhibitIpSec l2tp ipsec vpn-ühenduse jaoks Windowsi NAT taga](/f/1a03d09af67b3a498b3909e581ac4009.webp)
Nende registrimuudatuste rakendamise muutmiseks käivitage järgmine käsk:
reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Rasman\Parameters" /v AllowL2TPWeakCrypto /t REG_DWORD /d 1 /f
reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Rasman\Parameters" /v ProhibitIpSec /t REG_DWORD /d 0 /f
See võimaldab toetada samaaegseid L2TP/IPSec VPN-ühendusi Windowsis jagatud avaliku IP-aadressi kaudu (töötab kõigis versioonides alates Windows XP-st kuni Windows 10-ni).