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 vrednost iz faze 1 stoji u polju za fazu 2.
Veza vam se zamrzne, klijent izađe, a poslednja linija na ekranu je death_handler: Fatal signal 15 received. Ta linija prijavljuje prekid, a ne uzrok. Liniju iznad u IPsec zapisu gotovo uvek sadrži NO_PROPOSAL_CHOSEN, a par upućuje na fazu 2 razmene, gde strane porede izbore šifrovanja i heširanja i staju kada nemaju ništa zajedničko. Akreditivi u toj fazi još nisu poslati, pa ponovni unos lozinke ne može promeniti ishod.
Dve stvari obično isprazne taj presek na Linux klijentu. Lokalni demon možda više ne implementira Diffie-Hellman grupu koju profil traži, ili profil nosi predlog faze 1 u polju za fazu 2. Obe ostavljaju trag u zapisu, i nijedna nije problem sa nalogom.
Šta te dve poruke zapravo govore
IKE pregovara u prolazima. Faza 1 gradi zaštićeni kanal i bira sopstvene algoritme; faza 2, dete SA, prenosi saobraćaj po zasebnom skupu. NO_PROPOSAL_CHOSEN je obaveštenje koje odgovarač vraća kada nijedna od ponuđenih kombinacija nije prihvatljiva, i pojavljuje se kao [ HASH N(NO_PROP) ] unutar INFORMATIONAL razmene.
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, redosled je uzročan, prvo odbijanje pa gašenje.
Pročitajte pregovore pre nego što dirnete akreditive
Podignite nivo zapisa tamo gde demon piše, pa se ponovo povežite gledajući izlaz. Na NetworkManager hostu L2TP dodatak prosleđuje taj nivo pozadini, a poruke završavaju u journalu ili u klasičnoj syslog datoteci zavisno od distribucije. Bilo šta od ovoga pokazaće razmenu: 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 rečima. Forma koju vredi 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 da je kompajlira u libreswan od 3.30 nadalje. Tada profil napisan pre 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šte ne može izvesti. Novije NetworkManager-l2tp gradnje taj ishod čine verovatnijim: od 1.2.16 zamenjuju skup predlogom u stilu Windows 10 i iOS i izbacuju modp1024 čim otkriju libreswan. Druga strana često je nevina i još uvek nudi upravo grupu koju ste postavili.
Ta asimetrija je ono što grešku čini slučajnom. Stariji klijent se poveže, isti profil na ažuriranom prenosniku ne, a konfiguracija servera nikada se nije pomerila. Štetu radi razlika u verzijama.
Dva popravka sa različitim obimom posledica
Jeftin popravak je prestati tvrdo kodirati algoritme. Obrišite oba polja predloga u uređivaču i pustite dodatku da izabere skup koji druga strana prihvata; 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š uvek implementiraju grupu 2 na većini distribucija. To je zamena demona, pa ima cenu: proverite da li drugi tuneli na hostu zavise od libreswan konfiguracije pre nego što ga uklonite, i očekujte SELinux odbijanja između NetworkManagera i strongSwan dodatka na Fedori. Ta odbijanja se pojavljuju u revizorskom zapisu, a ne u IKE tragu, zato tunel može izgledati pokvaren odmah nakon uspešne instalacije. Redosled koji radi je prvo dnf install strongswan, zatim rpm -e libreswan.
Nizovi predloga koji se poklapaju i zamke oko njih
Kada polja morate ispuniti ručno, faza 1 i faza 2 uzimaju različite vrednosti. Par za koji se zna da radi sa Meraki stilom druge strane nudi aes128-sha1-modp1024 u fazi 1 sa 3des-sha1-modp1024 iza sebe, oba zatvorena uzvičnikom koji skup čini strožim, pa se šalju samo ti predlozi.
Faza 2 se zatim sužava na aes128-sha1 i 3des-sha1 sa istom strogom oznakom i bez ikakvog Diffie-Hellman sufiksa. Red faze 2 koji nosi -modp1024 vrednost je faze 1 na pogrešnom mestu, 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 nivou cele flote.
Drugi kvarovi nose isti iskačući prozor bez toga da su nesklad predloga. 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 vreme izvršavanja isporučuju kao zasebni paketi. Hostovi bez ekrana mogu ponovo upotrebiti profil sa radne površine: kopirajte ga iz /etc/NetworkManager/system-connections/, postavite režim na 600, zatim pokrenite nmcli con reload. Podignite ga sa nmcli con up id work-l2tp, jer gola forma traži UUID, i uklonite svaki zastareli ifname unos, inače upravljač odgovori Could not find source connection dok je sve ostalo ispravno.
Unapred deljeni ključ može se čuvati kao čist tekst ili kao 0s pa base64; oba oblika rade, ali vrednost mora odgovarati prolazu bajt po bajt, uključujući završne razmake koje ste kopirali sa njom.