Server VPN odpovedá na TCP 10443, vstavaný klient Windows má správne prihlasovacie údaje a spojenie napriek tomu padá po pauze, ktorá vyzerá ako časový limit DNS. Príčinou je zvyčajne pole adresy: keď do poľa Názov servera alebo adresa napíšete vpn.example.com:10443, Windows prečíta celý reťazec ako názov hostiteľa, pretože toto pole nie je všeobecný vstup host:port. Či sa v ňom dá port vôbec vyjadriť, závisí od typu tunela, ktorý profil používa, a iba jeden zo štyroch typov považuje hodnotu za niečo, čo dokáže analyzovať.

Prečo pole adresy nie je poľom host:port

Vlastnosť profilu za týmto poľom je ServerAddress a každý typ tunela rozhoduje, čo s reťazcom urobí. Tri z nich nemajú žiadny parameter portu na vyplnenie, takže dvojbodka a číslo sú len znaky v názve, ktorý sa nikdy nepreloží. Štvrtý beží cez HTTPS, kde je port súčasťou URL, takže hodnota musí byť zapísaná v tvare, ktorý sa analyzuje ako URL.

Preto zlyhanie vyzerá ako preklad názvov, a nie ako odmietnuté spojenie. Nie je žiadny zlý port, ktorý by sa dal nahlásiť, iba názov hostiteľa, ktorý neexistuje, a chyba príde po tom, čo prekladač vzdá. Skôr než sa dotknete servera, skontrolujte, aký typ tunela profil tvrdí, že používa.

Tri typy s pevným portom

PPTP sa pripája na TCP 1723 a potom nesie tunel v GRE, IP protokole 47. L2TP/IPsec používa UDP 1701 pre tunel a UDP 500 plus 4500 pre IPsec, pričom 4500 je port na prechod cez NAT. IKEv2 používa tiež UDP 500 a 4500. Žiadny z týchto profilov nikde v rozhraní neuvádza pole portu a žiadny nevyjedná nestandardný port.

Server, ktorý počúva na vlastnom porte, je preto pre tieto profily nedostupný bez ohľadu na to, ako je adresa napísaná. Praktické odpovede sú úzke: zverejnite štandardný port na serveri alebo preložte štandardný port na vlastný na routeri pred ním. Obe možnosti nechávajú klientsky profil nedotknutý, čo má veľkú cenu, keď sa profil nasadzuje zásadou a nie ručným písaním.

SSTP potrebuje URL, nie názov

SSTP je výnimka, pretože beží v relácii TLS. Pole sa musí analyzovať ako URL: najprv schéma https://, potom hostiteľ, potom dvojbodka a port. Bez schémy Windows ďalej považuje hodnotu za obyčajný názov a spojenie zlyhá skôr, než dôjde k akejkoľvek výmene TLS.

Dôvod, prečo to ľudí prekvapí, je ten, že predvolený port prijíma holý názov hostiteľa. Profil, ktorý nikdy nepotreboval vlastný port, sa pravidlo nikdy nenaučí, a prvý človek, ktorý nejaký pridá, to zistí tak, že zlyhá. Po uložení si prečítajte uloženú hodnotu, namiesto toho, aby ste verili dialógu:

Get-VpnConnection -Name "Corporate SSTP" | Select-Object Name, ServerAddress, TunnelType

ServerAddress ukazuje presne to, čo bolo uložené. Ak sa číta ako holý názov hostiteľa s dvojbodkou, profil nikdy nedostal URL a žiadne opakované pokusy to nespravia.

Syntax dodávateľa, ktorá sa vkladá do toho istého poľa

Niektoré brány dokumentujú pre toto pole ďalšie konvencie, napríklad realm pripojený za portom alebo parametre dopytu, ktoré menia zaobchádzanie s certifikátmi. Rozumejú im servery daného dodávateľa a v niektorých zostaveniach aj jeho vlastný klient. Nie sú súčasťou formátu profilu Windows a ich vloženie do vstavaného profilu zvyčajne vedie k tej istej tichej chybe názvu.

Parameter, ktorý vypína overovanie certifikátov, berte ako varovanie, nie ako opravu. Ak sa profil pripája iba s týmto parametrom, certifikát nezodpovedá použitému názvu a správna oprava patrí na bránu, nie do klienta. Realm za portom má rovnakú vlastnosť: niečo robí len vtedy, keď ho server na druhej strane očakáva.

Dokážte port a potom čítajte zlyhávajúcu fázu

Skôr než obviníte profil, overte, že niečo prijíma TCP na tomto porte zo siete klienta:

Test-NetConnection vpn.example.com -Port 10443

Úspech dokazuje počúvajúci proces, nie SSTP. Webový server, reverzný proxy alebo load balancer môžu dokončiť TCP handshake a napriek tomu nehovoriť SSTP, takže zelený test s červeným VPN je skutočná kombinácia. Porovnajte subjekt certifikátu s názvom v profile a pozrite sa do protokolu RasClient v zostaveniach, ktoré ho dodávajú, pretože zaznamenáva fázu, ktorá zlyhala, namiesto všeobecného časového limitu.

Potom zvážte možnosť, ktorá problém odstráni, namiesto toho, aby ho dokumentovala: presmerujte TCP 443 zvonka na 10443 na serveri VPN. Klient potom používa predvolený profil úplne bez portu, čo je zvyčajne najčistejšie usporiadanie pre spravovanú flotilu a vlastný port zostane interným detailom.

Súvisiace články