NO_PROPOSAL_CHOSEN na L2TP-u? Prvo skenirajte pristupnik
L2TP/IPsec klijent koji padne prije upita za korisničko ime nikada nije uskladio fazu 1. Skenirajte skup prijedloga pristupnika umjesto da lijepite šifarske nizove.
Upit za korisničko ime nikada se ne pojavi, a klijent prijavi NO_PROPOSAL_CHOSEN. Podaci za prijavu i prethodno dijeljeni ključ u tom trenutku nisu važni, jer se dvije strane nisu uskladile kako će štititi fazu 1. Većina ljudi odgovori tako što zalijepi šifarski niz koji su našli na internetu. Skeniranje pristupnika odgovara na isto pitanje dokazima i traje otprilike isto.
Što poruka isključuje
Odbijanje se događa u glavnom načinu rada, prije bilo kakve razmjene L2TP ili PPP, pa tunel i baza korisnika nisu konzultirani. Faza 1 pregovara o enkripciji, integritetu i Diffie-Hellman grupi. Faza 2 pregovara o ESP prijedlogu za podatke. Kvar u fazi 1 ne može se popraviti promjenom PFS postavke faze 2, a dovršena IKE asocijacija ne dokazuje da ESP prijedlog odgovara.
Zabilježite backend prije uređivanja sintakse: ipsec --version. libreswan i strongSwan prihvaćaju različita pisanja prijedloga za iste algoritme.
Zatim pročitajte odbijanje u kontekstu s journalctl --no-hostname _COMM=nm-l2tp-service _COMM=ipsec _COMM=pluto _COMM=charon _COMM=kl2tpd _COMM=xl2tpd _COMM=pppd.
Skenirajte pristupnik radi njegova skupa transformacija
Skener izravno pita pristupnik koje će transformacije pregovarati. Najprije zaustavite lokalnu IPsec uslugu da se proba ne natječe s vašim klijentom, zatim pročitajte SA retke. Tretirajte popis kao dokaz o drugoj strani, a ne kao izbornik koji treba uključiti sve odjednom.
sudo ipsec stop
sudo ike-scan --trans=3des-sha1-modp1024 10.10.10.250 | grep SA=
Stariji uređaji često nude 3DES, SHA1 i MODP1024, jer su to bile zadane vrijednosti kad je proizvod isporučen i nitko ih nije preispitao. Sačuvajte sirovi izlaz skeniranja, jer je to jedini zapis o tome što je druga strana nudila tog dana. Ako je to najjače dostupno preklapanje, prava eskalacija ide prema vlasniku pristupnika, a ne prema konfiguraciji klijenta koja svima ponovno uključuje slabu kriptografiju.
Uskladite preklapanje bez isključivanja sigurnosti
Unesite samo transformacije koje se pojavljuju i u skeniranju i u vašoj politici. Primjer u nastavku preslikava pristupnik koji nudi 3DES, SHA1 i MODP1024 u fazi 1. Obratite pozornost na napomenu o backendu: libreswan 4.x ne prevodi modp1024 grupu, pa se ovo odnosi na strongSwan ili libreswan build s DH2 podrškom. Provjerite verziju prije nego zaključite da je klijent pokvaren.
Phase 1: 3des-sha1-modp1024
Phase 2: aes256-sha1,aes128-sha1,3des-sha1
Uskličnik na kraju fiksira jedan prijedlog. Upotrijebite ga da izolirate test, pa ga uklonite kako bi pristupnik kasnije mogao pregovarati nešto jače.
Provjerite daemon i port prije ponovnog pokušaja
NetworkManager-l2tp pokreće vlastitu xl2tpd instancu. Ako sistemska usluga već drži UDP 1701, klijent se vraća na efemerni izvorni port, što RFC 3193 dopušta, a neki poslužitelji tiho odbacuju. Provjerite vlasnika socketa prije sljedećeg pokušaja.
sudo ss -unlp | grep 1701
sudo systemctl stop xl2tpd.service
sudo systemctl disable xl2tpd.service
Zastarjeli generirani tajni podaci još su jedan tihi uzrok. Datoteke pod /etc/ipsec.d/ nazvane po staroj vezi mogu nadživjeti profil koji ih je stvorio, pa uklonite one na koje ništa ne upućuje i pokušajte ponovno.
Na kraju provjerite odakle savjet dolazi. ipsec.conf, napisan za IKEv1 XAuth, opisuje drugu vrstu VPN-a, a njegov prijedlog nije jedini redak koji će biti pogrešan u L2TP profilu. Zapišite skup transformacija koji ste unijeli uz profil, da sljedeća osoba ne ponavlja probu.