Windowsissa on neljä tunnelityyppiä, eikä toimittajan SSL-yhdyskäytävä ole niistä yksi. Kohdista sisäänrakennettu profiili silti sellaiseen, ja yhteys epäonnistuu ennen tunnistetietojen kyselyä, yleensä viestiin, että paikallinen järjestelmä katkaisi yhteyden. Se teksti on merkki yhteensopimattomuudesta, ei diagnoosi. Profiilin tyypin ja protokollan omistavan asiakasohjelman on sovittava yhteen, ja toinen niistä puuttuu.

Neljä tyyppiä ja yksi valintaikkuna

Jokainen tallennettu profiili kantaa tunnelityyppiä. Sisäänrakennettu asiakasohjelma hyväksyy PPTP:n, L2TP:n, IKEv2:n ja SSTP:n sekä automaattisen tilan, joka kokeilee niitä järjestyksessä. Yleistä SSL VPN -merkintää ei ole, eikä sellaista voi lisätä valintaikkunan kautta. Toimittajan yhdyskäytävä puhuu omaa sovellusprotokollaansa TLS:n päällä, ja vain kyseisen toimittajan asiakasohjelma toteuttaa sen.

Luettelo on yhden komennon päässä, ja se kannattaa ajaa ennen mitään muuta vianmääritystä, koska se vie sekunnin ja poistaa kokonaisen luokan vääriä oletuksia:

Get-VpnConnection | Select-Object Name, ServerAddress, TunnelType, SplitTunneling
Get-VpnConnection -Name "Office" | Format-List

Jos profiili sanoo SSTP ja yhdyskäytävä ei ole RRAS-palvelin, yhteensopimattomuus on jo todettu. Mikään varmenne- tai palomuurityö ei muuta sitä.

SSTP ja toimittajan TLS näyttävät samalta portissa 443

SSTP käärii PPP-istunnon TLS:n sisään ja kulkee TCP 443:ssa. Microsoftin pinossa sen päättää RRAS, joka esittää palvelinvarmennetta, jonka asiakasohjelma validoi. Myös Fortinet-, Citrix- tai Pulse-laite päättää TLS:n portissa 443, ja sen portaali avautuu missä tahansa selaimessa valittamatta.

Se selaintesti todistaa tavoitettavuuden, ei yhteensopivuutta. Portaalin takana oleva istuntoprotokolla kuuluu toimittajalle, eikä sisäänrakennetulla asiakasohjelmalla ole sen toteutusta. Se, toimittaako toimittaja oman asiakasohjelman, kertoo, kumman puolen yhteensopimattomuudesta kanssa olet tekemisissä.

Käänteinen sekaannus tapahtuu myös. SSTP:ksi määritetty profiili aitoa RRAS-palvelinta vastaan voi epäonnistua varmenteen validoinnissa, vaikka portaali on kunnossa, ja se on varmenneongelma eikä protokollaongelma.

Virheet, jotka ilmenevät ennen kuin tunnelia on olemassa

800-sarjan koodit raportoidaan ennen minkään tunnelin muodostamista, siksi palomuurisäännöt harvoin siirtävät niitä. Virhe 812 on palvelinpuolen käytäntö, joka hylkää asiakasohjelman tarjoaman todennusmenetelmän. Muut alueen virheet tulevat paikalliselta yhteyksienhallinnalta eivätkä verkosta.

Kytke jäljitys päälle ennen kuin rakennat mitään uudelleen. Jäljitys nimeää epäonnistuvan vaiheen, ja vaiheen nimi on arvokkaampi kuin valintaikkunan teksti:

netsh ras set tracing * enable
Get-ChildItem "$env:windir\tracing" | Sort-Object LastWriteTime -Descending | Select-Object -First 5

Jäljet päätyvät jäljityshakemistoon ja pysyvät siellä, kunnes tyhjennät ne, joten kytke jäljitys pois jälkikäteen sen sijaan että jättäisit sen päälle viikoiksi.

Yhdistetty profiili voi silti rikkoa kaiken

Profiililla, joka yhdistää ja rikkoo sitten selailun, paikallisen jaon tai konttimoottorin, on reititysongelma, ei tunneliongelma. Oletusyhdyskäytävä siirtyi tunneliin, joten jokainen kohde kulkee nyt kumppanin kautta, joka ei välttämättä reititä sitä.

Kaksi asetusta ratkaisee tämän. Toinen on profiilin split tunneling -ominaisuus. Toinen on sovitinkohtainen vaihtoehto käyttää oletusyhdyskäytävää etäverkossa, ja se on IPv4:n lisäasetuksissa.

Set-VpnConnection -Name "Office" -SplitTunneling $true
Add-VpnConnectionRoute -ConnectionName "Office" -DestinationPrefix 10.20.0.0/16

Split tunnelingin kytkeminen päälle ilman reittien lisäämistä tuottaa tunnelin, joka yhdistää eikä tavoita mitään. Sen kytkeminen pois ilman DNS:n tarkistamista tuottaa sisäisiä nimiä, jotka ratkeavat julkisiksi vastauksiksi, koska sovittimen omaa suffiksia ja palvelimia ei käytetä.

Tarkista putkitus, sitten tyyppi

Työskentele tässä järjestyksessä ja pysähdy, kun vaihe epäonnistuu, sen sijaan että säätäisit kaikkea kerralla:

Test-NetConnection vpn.example.net -Port 443
Get-VpnConnection -Name "Office" | Format-List TunnelType, ServerAddress, DnsSuffix
netsh interface ipv4 show route
rasdial Office

Ensimmäinen komento erottaa tavoitettavuuden protokollasta. Toinen vahvistaa, mitä profiili väittää olevansa. Reititystaulu näyttää, ottiko tunneli oletusreitin. Valintakomento raportoi yhteyksienhallinnan oman virheen, joka on usein selvempi kuin valintaikkuna.

Kirjaa tikettiin tunnelityyppi, yhdyskäytävän tuote ja tarkka virhe. Seuraava henkilö tietää silloin minuutissa, onko kyse protokollan yhteensopimattomuudesta, varmennevirheestä vai reitityspäätöksestä, sen sijaan että aloittaisi lauseesta “VPN ei toimi”.

Aiheeseen liittyvät artikkelit