L2TP/IPsec-virhe 789 Windowsissa: luo profiili ja kiinnitä ehdotus
Virhe 789 epäonnistuu IPsec-vaihdossa, ei salasanassa. Skriptaa L2TP-profiili, kiinnitä ehdotus ja lue myöhemmät koodit vaiheen mukaan.
Virhe 789 Windowsin L2TP-yhteydessä tarkoittaa, että tunneli kuoli IPsec-turvavaihdon sisällä, mikä tapahtuu kauan ennen kuin Windows lähettää käyttäjän salasanaa mihinkään. Salasanan uudelleen yrittäminen tai sen nollaus hakemistossa ei voi viedä tätä vaihetta eteenpäin. Sitä vie eteenpäin yhteyden uudelleenrakentaminen PowerShellistä ehdotuksella, jota yhdyskäytävä todella tarjoaa, koska Asetusten ohjattu toiminto valitsee IPsec-muunnokset hiljaa eikä koskaan näytä, mitä valitsi. Tämä on sitä varten tehty käsikirja: luo profiili, kiinnitä ehdotus ja käytä sitten vaihetaulukkoa, jotta seuraava koodi kertoo sinulle jotain.
Luo profiili ilman ohjattua toimintoa
Add-VpnConnection kirjoittaa natiivin puhelinluettelomerkinnän, joten tulos on sama objekti, jota Asetukset-sovellus myöhemmin muokkaa. Suorita se korotetusta istunnosta, kun yhteyden pitää olla olemassa jokaiselle koneen tilille, tai käyttäjän kontekstista, kun sen pitää pysyä yksityisenä:
Add-VpnConnection -Name "Contoso L2TP" `
-ServerAddress 203.0.113.10 `
-TunnelType L2tp `
-EncryptionLevel Required `
-AuthenticationMethod MSChapv2 `
-RememberCredential -Force
Sovita -AuthenticationMethod siihen, mitä yhdyskäytävä tarjoaa. MSChapv2, EAP ja PAP eivät ole keskenään vaihdettavissa, ja profiili, joka vaatii menetelmää, jota palvelin ei hyväksy, epäonnistuu ennen kuin yhtäkään käyttäjätietuetta tutkitaan. Pidä -EncryptionLevel Required kaikkeen todelliseen; Optional sallii Windowsin hyväksyä salaamattoman tunnelin, jos vastapuoli tarjoaa sellaisen, mikä on laboratorion oikotie eikä toimitettava asetus.
Jos välität -L2tpPsk, se jaettu avain kirjoitetaan levyn profiiliin, josta kuka tahansa, joka voi lukea profiilin sillä koneella, voi palauttaa sen. Käytä sertifikaattia vastapuolen todentamiseen, kun yhdyskäytävä tukee sitä, ja kun PSK on välttämätön, pidä se poissa repositoriosta ja poissa komentotulkin historiasta sen sijaan, että liittäisit sen jokaiseen provisiointiajoon.
Kiinnitä ehdotus sen sijaan, että hyväksyt oletusarvot
Windows täyttää IPsec-muunnokset itse, minkä vuoksi kaksi konetta, joiden yhteys näyttää samalta, voivat epäonnistua eri tavoin samaa yhdyskäytävää vastaan. Set-VpnConnectionIPsecConfiguration on tuettu tapa kiinnittää ne:
Set-VpnConnectionIPsecConfiguration -ConnectionName "Contoso L2TP" `
-AuthenticationTransformConstants SHA256128 `
-CipherTransformConstants AES128 `
-EncryptionMethod AES128 `
-IntegrityCheckMethod SHA256 `
-DHGroup Group14 `
-PfsGroup None `
-PassThru -Force
Tuo joukko on yksi yleinen L2TP/IPsec-järjestely, ei yleispätevä vastaus. Jokainen parametri hyväksyy kiinteän arvoluettelon, ja yhdistelmä, jota alusta ei voi kartoittaa, palaa cmdlet-virheenä hiljaa heikennetyn profiilin sijaan. Kohtele tällaista virhettä väitteenä arvoista, ei käyttöoikeuksistasi.
Kopioi ehdotus yhdyskäytävän dokumentaatiosta tai sen elävistä vaiheen 1 ja vaiheen 2 asetuksista ja muuta yhtä kenttää kerrallaan vain silloin, kun yhdyskäytävä lokittaa hylkäämänsä muunnokset. Viiden kentän läpikäynti tuottaa yhteyden, joka toimii sattumalta, ja tietueen, joka ei selitä seuraavalle mitään.
Lue epäonnistuminen vaiheen mukaan, ei virhetekstin mukaan
789 kuuluu koodiperheeseen, jotka kaikki näyttävät samalta asiakkaan valintaikkunassa. Aseta koodi sitä vaihetta vasten, johon se kuuluu, ennen kuin kosket profiiliin uudelleen:
| What you see | Stage that failed | Check first |
|---|---|---|
| Nothing happens, then a timeout | No IKE response at all | Server address, UDP 500 and 4500 reachability, NAT traversal on the gateway |
| Error 789 | IKE security exchange | Proposal, pre-shared key, certificate trust and client clock |
| Error 691 or a repeated password prompt | User authentication | Account state, domain, RADIUS or NPS policy |
| Tunnel up, some hosts unreachable | Routing or DNS after PPP | Split-tunnel routes, pushed DNS, remote subnet mask |
Kahdella tunnistetietojen roolilla on tässä merkitys. Jaettu avain tai sertifikaatti todentaa vastapuolet toisilleen, kun taas MSChapv2 tai EAP todentaa sinut tunnelin sisällä. Käyttäjän salasanan nollaus ei voi korjata ensimmäistä, uusi jaettu salaisuus ei voi korjata toista, ja molempien muuttaminen kerralla tuhoaa todisteen siitä, kumpi oli väärä.
Sertifikaattipolulla tarkista asiakkaan kello, luottamusketju ja identiteetti, jota yhdyskäytävä odottaa, ennen kuin harkitset validoinnin löysäämistä. Validoinnin poistaminen käytöstä muuttaa näkyvän 789:n tunneliksi, joka yhdistyy luottaen väärään vastapuoleen, eikä mikään asiakkaassa kerro sinulle, että näin tapahtui. Microsoftin etäkäytön virheluettelo on viite itse koodeille, ja se erottaa turvakerroksen epäonnistumiset kirjautumisen epäonnistumisista.
Varmista molemmista päistä ennen kuin sanot sitä korjatuksi
Lue profiili takaisin, mutta älä odota ehdotusta tulosteessa. Get-VpnConnection raportoi nimen, palvelimen osoitteen, tunnelityypin, salauksen tason ja todentamismenetelmän eikä tiedä muunnoksista mitään, joten takaisinluku vahvistaa, että merkintä on olemassa ja osoittaa oikeaan isäntään:
Get-VpnConnection -Name "Contoso L2TP" |
Select-Object Name, ServerAddress, TunnelType, EncryptionLevel, AuthenticationMethod
Soita komentoriviltä, jotta saat numeron valintaikkunan sijaan: rasdial "Contoso L2TP" palauttaa saman virhekoodin, jonka käyttöliittymä palauttaisi, ja rasdial "Contoso L2TP" /disconnect tyhjentää sen yritysten välillä. Lue sitten yhdyskäytävän puoli samalle yritykselle. strongSwanin ipsec statusall tai reitittimen IKE-loki kertoo, mikä ehdotus saapui ja mikä hylättiin, ja sen vertaaminen cmdlet-arvoihin on ainoa askel, joka todella todistaa, että molemmat päät sopivat asiasta.
Onnistunut yhteys ei ole maaliviiva. Avaa sovellus, joka on käyttäjälle tärkeä, koska reitit, työnnetty DNS ja jaetun tunnelin asetukset epäonnistuvat sen jälkeen, kun tunneli on pystyssä, eivätkä ne tuota lainkaan virhevalintaikkunaa.
Automatisoi se ja peräydy siististi
Valvomaton asennus on syy skriptata tämä, ja valintavaihe on paikka, jossa tunnistetiedot vuotavat. rasdial ottaa ne komentorivilleen, josta muut paikalliset käyttäjät ja useimmat lokinkerääjät voivat lukea ne:
subprocess.run(["rasdial", "Contoso L2TP"], check=True)
Suosi työn suorittavaan tiliin rajattua tunnistetietoa tai anna profiilin tallentaa se -RememberCredential-valitsimella sen sijaan, että välität salasanan argumenttina ajoitetussa tehtävässä. Provisiointikomennot itsessään on turvallista toistaa -Force-valitsimella, mutta ne peittävät mielellään vanhan ehdotuksen, joten uudelleenajo auttaa vain, jos skripti kuljettaa nykyiset arvot.
Profiilit säilyvät uudelleenkäynnistysten yli ja elävät pidempään kuin yhdyskäytäväkokoonpano, jota varten ne rakennettiin. Kun yhdyskäytävän ehdotus siirtyy, poista merkintä ja luo se uudelleen sen sijaan, että kerrostaisit toisen arvojoukon päälle: Remove-VpnConnection -Name "Contoso L2TP" -Force, ja toista sitten kaksi cmdlet-komentoa uudella joukolla.
Sulje silmukka neljällä tarkistuksella, jotka elävät skriptin vieressä: Get-VpnConnection näyttää odotetun tunnelityypin ja salauksen tason; yhdyskäytävä lokittaa valmiin vaiheen 1 ja vaiheen 2 asiakkaasi osoitteelle; rasdial palauttaa onnistumisen ja sovellus avautuu; ja skriptiin tallennettu ehdotus vastaa yhdyskäytävän nykyistä asetusta. Kun seuraava 789 saapuu, tuo vertailu vie minuutteja iltapäivän sijaan.