NO_PROPOSAL_CHOSEN u L2TP? Nejdřív oskenujte bránu
Klient L2TP/IPsec, který selže ještě před výzvou k zadání uživatelského jména, se nikdy nedohodl na fázi 1. Oskenujte sadu nabídek brány místo vkládání šifrovacích řetězců.
Výzva k zadání uživatelského jména se vůbec neobjeví a klient hlásí NO_PROPOSAL_CHOSEN. Přihlašovací údaje a předsdílený klíč jsou v tu chvíli irelevantní, protože se obě strany nedohodly, jak chránit fázi 1. Většina lidí zareaguje vložením šifrovacího řetězce, který našli online. Oskenování brány odpoví na stejnou otázku s důkazy a zabere přibližně stejně času.
Co zpráva vylučuje
Odmítnutí probíhá v hlavním režimu, před jakoukoli výměnou L2TP nebo PPP, takže tunel ani uživatelská databáze nebyly dotázány. Fáze 1 vyjednává šifrování, integritu a skupinu Diffie-Hellman. Fáze 2 vyjednává návrh ESP pro data. Selhání ve fázi 1 nelze opravit změnou nastavení PFS ve fázi 2, a dokončená asociace IKE nedokazuje, že návrh ESP sedí.
Než začnete upravovat syntaxi, poznamenejte si backend: ipsec --version. libreswan a strongSwan přijímají pro stejné algoritmy odlišné zápisy návrhu.
Potom si odmítnutí přečtěte v souvislostech pomocí journalctl --no-hostname _COMM=nm-l2tp-service _COMM=ipsec _COMM=pluto _COMM=charon _COMM=kl2tpd _COMM=xl2tpd _COMM=pppd.
Oskenujte bránu a zjistěte její sadu transformací
Skener se brány přímo ptá, které transformace bude vyjednávat. Nejprve zastavte místní službu IPsec, aby sonda nesoupeřila s vaším klientem, a pak si přečtěte řádky SA. Berte seznam jako důkaz o protistraně, ne jako menu, které se má zapnout celé.
sudo ipsec stop
sudo ike-scan --trans=3des-sha1-modp1024 10.10.10.250 | grep SA=
Starší zařízení často nabízejí 3DES, SHA1 a MODP1024, protože to byly výchozí hodnoty při expedici produktu a nikdo je nepřezkoumal. Uchovejte surový výstup skenu, je to jediný záznam o tom, co protistrana ten den nabízela. Pokud je to nejsilnější dostupný překryv, správná eskalace vede k vlastníkovi brány, ne ke klientské konfiguraci, která všem znovu zapne slabou kryptografii.
Sladějte překryv, aniž byste vypnuli bezpečnost
Zadejte jen transformace, které se objevují ve skenu i ve vaší politice. Příklad níže zrcadlí bránu, která ve fázi 1 nabízí 3DES, SHA1 a MODP1024. Všimněte si výhrady k backendu: libreswan 4.x nekompiluje skupinu modp1024, takže to platí pro strongSwan nebo build libreswanu s podporou DH2. Ověřte verzi, než usoudíte, že je klient rozbitý.
Phase 1: 3des-sha1-modp1024
Phase 2: aes256-sha1,aes128-sha1,3des-sha1
Vykřičník na konci připíná jediný návrh. Použijte ho k izolaci testu a pak ho odeberte, aby brána mohla později vyjednat něco silnějšího.
Před dalším pokusem zkontrolujte daemon a port
NetworkManager-l2tp spouští vlastní instanci xl2tpd. Pokud systémová služba už vlastní UDP 1701, klient přejde na efemérní zdrojový port, což RFC 3193 povoluje a některé servery tiše zahazují. Před dalším pokusem zkontrolujte vlastníka socketu.
sudo ss -unlp | grep 1701
sudo systemctl stop xl2tpd.service
sudo systemctl disable xl2tpd.service
Zastaralé vygenerované tajné údaje jsou další tichou příčinou. Soubory v /etc/ipsec.d/ pojmenované po starém připojení mohou přežít profil, který je vytvořil, takže ty, na které nic neodkazuje, odstraňte a zkuste to znovu.
Nakonec zkontrolujte, odkud rada pochází. Soubor ipsec.conf napsaný pro IKEv1 XAuth popisuje jiný typ VPN a jeho návrh není jediný řádek, který bude v profilu L2TP špatně. Zapište sadu transformací, kterou jste zadali, vedle profilu, aby příští člověk nemusel sondu opakovat.