Jedna chyba, tri tajomstvá: ktorý VPN údaj zlyhal?
Klient zobrazuje jednu chybu pre každú fázu. Prečítajte si asociáciu, výmenu používateľa a metódu, skôr než resetujete heslo, ktoré nikto nekontroloval.
„Overenie zlyhalo” môže ukazovať na certifikát servera, vopred zdieľaný kľúč stroja alebo používateľské heslo. Ktorý z nich to znamená, závisí od protokolu, pretože každý protokol definuje inú sadu tajomstiev. Resetujete nesprávny a chyba zostane nezmenená. Východiskom je zistiť, koľko dôkazov protokol vyžaduje, skôr než čokoľvek upravíte.
Dva dôkazy ukazujúce opačnými smermi
Tunel musí odpovedať, či sa dostal k správnej bráne, a oddelene, kto je používateľ. Dôkaz brány je na úrovni stroja: certifikát servera, vopred zdieľaný kľúč alebo statický verejný kľúč. Dôkaz používateľa je na úrovni osoby: heslo, token, klientský certifikát alebo nič. Sú to opačné smery dôvery a spotrebúvajú iný materiál.
IKEv2 vykonáva dôkaz brány vnútri IKE_AUTH a keď sa používa EAP, spúšťa dôkaz používateľa v samostatnej výmene potom. špecifikácia IKEv2 ich drží ako oddelené časti, čo je silný náznak, kde hľadať, keď jedna správa pokrýva obe kolá.
Čítajte fázu, nie správu
Klient zobrazuje rovnaký reťazec chyby bez ohľadu na to, ktorá fáza zlyhala, takže samotný reťazec takmer nič nehovorí. Informáciu nesie stav, ktorý môžete v každej fáze preskúmať: či asociácia existuje, či sa začala výmena používateľa a či klient ponúkol metódu, ktorú brána chcela. Tabuľka triedi fázy takto, nie podľa názvu protokolu.
| Stage that failed | Evidence you can inspect | What a password change cannot fix |
|---|---|---|
| The machine proof | no security association in the state list | a mismatched pre-shared key or an untrusted chain |
| The user proof | an association is up while PPP or EAP reports failure | an expired token, a locked account, a missing client key |
| The client's method support | the client offers no method the gateway accepts | a client without the required EAP or key material |
| The server's policy | the gateway rejects before any user exchange starts | a policy that requires a certificate the profile lacks |
Len druhý riadok sa týka údaju, ktorý používateľ môže znova zadať. Ostatné tri sú konfiguračné fakty a tento nesúlad je dôvod, prečo toľko takýchto hlásení končí resetom hesla, ktorý nič nezmení. Prečítajte si riadok, ktorý zodpovedá vašim dôkazom, skôr než sa dotknete poľa.
Protokol s dvoma tajomstvami ukazuje karty
L2TP cez IPsec robí počet viditeľným, pretože obe kontroly prebiehajú v rôznych procesoch. Vrstva IPsec musí najprv vstať s vopred zdieľaným kľúčom alebo certifikátom, a až potom PPP v jej vnútri skúsi prihlásenie používateľa.
Keď je tajomstvo stroja nesprávne, nevznikne žiadna asociácia a používateľský údaj sa nikdy neskúsi. Keď je tajomstvo stroja správne a používateľské tajomstvo nesprávne, asociácia existuje a PPP odmietne prihlásenie po tom, čo tunel už beží. Obe dávajú tú istú správu na obrazovke z dvoch rôznych udalostí.
sudo swanctl --list-sas
sudo ip xfrm state list
sudo journalctl -u xl2tpd -n 50 --no-pagerPrázdny zoznam asociácií okamžite vylúči používateľskú vrstvu, preto ho skontrolujte pred heslom. Nadviazaná asociácia s opakovanými zlyhaniami PPP ukazuje na druhú stranu, na používateľskú vrstvu alebo na autentifikačný protokol v nej. Žiadny z týchto záverov nie je dostupný z textu chyby klienta.
Od čoho vlastne závisí prístup len s heslom
Prístup len s heslom je bežný pri L2TP, PPTP, SSTP a IKEv2 s EAP. WireGuard takú možnosť vôbec nemá, pretože jeho peeri sú kľúče, nie používatelia. Pri OpenVPN vyplýva odpoveď z požiadavky servera na klientsky certifikát: brána, ktorá vyžaduje certifikát aj heslo, bude naďalej odmietať klienta len s heslom, čokoľvek sa do poľa napíše.
Ktorý komponent potrebujete, vyplýva z tej istej odpovede. Prihlásenie heslom pod IKEv2 vyžaduje klienta, ktorý hovorí EAP, zatiaľ čo prihlásenie certifikátom potrebuje súkromný kľúč klienta a reťazec servera. Nainštalujte nesprávny a zlyhanie sa číta ako chyba údaja, hoci chýba samotná metóda overenia.
Zmeňte jednu vec, potom znova otestujte
Najprv zistite tri fakty: ktorý protokol beží, koľko tajomstiev definuje a ktoré z nich patria stroju a nie používateľovi. Stroje zlyhávajú v prvej fáze a ľudia v druhej, a zámena týchto dvoch je celý tento problém.
Potom zmeňte presne jednu vec a znova otestujte z toho istého klienta. Táto disciplína mení mätúce zlyhanie na opravu, ktorú môžete opísať ďalšiemu človeku, čo je užitočnejšie ako fungujúce spojenie, ktoré nikto nevie vysvetliť.