L2TP fatalna greška 15: NO_PROPOSAL_CHOSEN i nedostajući modp1024
Fatalna greška 15 uz NO_PROPOSAL_CHOSEN znači nesklad u fazi 2: ili demon više ne nudi modp1024, ili vrijednost iz faze 1 stoji u polju za fazu 2.
Veza vam se smrzne, klijent izađe, a zadnji red na ekranu je death_handler: Fatal signal 15 received. Taj red prijavljuje prekid, a ne uzrok. Red iznad u IPsec zapisu gotovo uvijek sadrži NO_PROPOSAL_CHOSEN, a par upućuje na fazu 2 razmjene, gdje strane porede izbore šifriranja i heširanja i staju kada nemaju ništa zajedničko. Vjerodajnice u toj fazi još nisu poslane, pa ponovni unos lozinke ne može promijeniti ishod.
Dvije stvari obično isprazne taj presjek na Linux klijentu. Lokalni demon možda više ne implementira Diffie-Hellman grupu koju profil traži, ili profil nosi prijedlog faze 1 u polju za fazu 2. Obje ostavljaju trag u zapisu, i nijedna nije problem s računom.
Šta te dvije poruke zapravo govore
IKE pregovara u prolazima. Faza 1 gradi zaštićeni kanal i bira vlastite algoritme; faza 2, dijete SA, prenosi promet po zasebnom skupu. NO_PROPOSAL_CHOSEN je obavijest koju odgovarač vraća kada nijedna od ponuđenih kombinacija nije prihvatljiva, i pojavljuje se kao [ HASH N(NO_PROP) ] unutar INFORMATIONAL razmjene.
Signal 15 je drugi događaj: nešto je reklo lokalnom procesu da se zaustavi i rukovalac je to zapisao. Kada se oba reda pojave zajedno, redoslijed je uzročan, prvo odbijanje pa gašenje.
Pročitajte pregovore prije nego dirnete vjerodajnice
Podignite nivo zapisa tamo gdje demon piše, pa se ponovo povežite gledajući izlaz. Na NetworkManager hostu L2TP dodatak prosljeđuje taj nivo pozadini, a poruke završavaju u journalu ili u klasičnoj syslog datoteci zavisno od distribucije. Bilo šta od ovoga pokazat će razmjenu: journalctl -f -u NetworkManager | grep -Ei 'pluto|charon|no_prop|proposal' ili tail -f /var/log/syslog | grep -Ei 'pluto|charon|ike'.
Red koji imenuje pluto dolazi iz libreswana, charon iz strongSwana, i oba opisuju isto stanje različitim riječima. Forma koju vrijedi tražiti je ona koja imenuje grupu koja nedostaje, poput algorithm 'modp1024' is not supported, jer nejasnu grešku pretvara u konkretnu.
Kuda je otišao modp1024
Diffie-Hellman grupa 2 dovoljno je slaba da je nekoliko distribucija prestalo kompajlirati u libreswan od 3.30 nadalje. Tada profil napisan prije godina, ili preuzet iz vodiča za mrežni prolaz koji navodi samo aes128-sha1-modp1024, traži od lokalnog demona nešto što ovaj uopće ne može izvesti. Novije NetworkManager-l2tp gradnje taj ishod čine vjerojatnijim: od 1.2.16 zamjenjuju skup prijedlogom u stilu Windows 10 i iOS i izbacuju modp1024 čim otkriju libreswan. Druga strana često je nevina i još uvijek nudi upravo grupu koju ste podesili.
Ta asimetrija je ono što grešku čini slučajnom. Stariji klijent se poveže, isti profil na ažuriranom laptopu ne, a konfiguracija poslužitelja nikada se nije pomakla. Šteta dolazi od razlike u verzijama.
Dva popravka s različitim obimom posljedica
Jeftin popravak je prestati tvrdo kodirati algoritme. Obrišite oba polja prijedloga u uređivaču i pustite dodatku da izabere skup koji druga strana prihvaća; ako prolaz podržava moderne grupe, pregovor se završava bez dodatnog rada.
Drugi popravak održava stari prolaz dostupnim instaliranjem strongSwana, čiji paketi još uvijek implementiraju grupu 2 na većini distribucija. To je zamjena demona, pa ima cijenu: provjerite ovise li drugi tuneli na hostu o libreswan konfiguraciji prije nego ga uklonite, i očekujte SELinux odbijanja između NetworkManagera i strongSwan dodatka na Fedori. Ta se odbijanja pojavljuju u revizijskom zapisu, a ne u IKE tragu, zato tunel može izgledati pokvaren odmah nakon uspješne instalacije. Redoslijed koji radi je prvo dnf install strongswan, zatim rpm -e libreswan.
Nizovi prijedloga koji se poklapaju i zamke oko njih
Kada polja morate ispuniti ručno, faza 1 i faza 2 uzimaju različite vrijednosti. Par za koji se zna da radi s Meraki stilom druge strane nudi aes128-sha1-modp1024 u fazi 1 s 3des-sha1-modp1024 iza sebe, oba zatvorena uzvičnikom koji skup čini strogim, pa se šalju samo ti prijedlozi.
Faza 2 se zatim sužava na aes128-sha1 i 3des-sha1 s istim strogim markerom i bez ikakvog Diffie-Hellman sufiksa. Red faze 2 koji nosi -modp1024 vrijednost je faze 1 na pogrešnom mjestu, i odgovarač ga odbija pri svakom pokušaju. Kopirajte taj red u drugi profil i drugi profil pada na isti način, tako jedna tipfeler postaje incident na razini cijele flote.
Drugi kvarovi nose isti skočni prozor bez toga da su nesklad prijedloga. Na KDE-u tip L2TP može biti naveden uz instaliran dodatak, a svaka veza odmah umre, jer se uređivač veza i pomoćnici za vrijeme izvođenja isporučuju kao zasebni paketi. Hostovi bez ekrana mogu ponovo upotrijebiti profil s radne površine: kopirajte ga iz /etc/NetworkManager/system-connections/, postavite način na 600, zatim pokrenite nmcli con reload. Podignite ga s nmcli con up id work-l2tp, jer gola forma traži UUID, i uklonite svaki zastarjeli ifname unos, inače upravitelj odgovori Could not find source connection dok je sve ostalo ispravno.
Unaprijed dijeljeni ključ može se čuvati kao čisti tekst ili kao 0s pa base64; oba oblika rade, ali vrijednost mora odgovarati prolazu bajt po bajt, uključujući završne razmake koje ste kopirali s njom.