Tunel fungoval v kancelárskej sieti a doma sa zasekáva, a log ukazuje, že prvá výmena sa dokončí skôr, než sa stane čokoľvek iné. Tento vzor ukazuje na autentifikačnú výmenu, nie na prihlasovacie údaje: reťazec certifikátov robí tú správu oveľa väčšou ako predchádzajúcu, a cesta, ktorá nemá rada veľké datagramy, ju potichu zahodí. Zapojené sú dva rôzne mechanizmy fragmentácie a vedomie, na ktorý sa pozeráte, rozhoduje o oprave.

Dva mechanizmy fragmentácie, jeden symptóm

IKEv2 má vlastné rozšírenie fragmentácie definované v RFC 7383, ktoré delí chránené správy IKE na menšie správy IKE. Strany o túto schopnosť vyjednávajú a správu znovu skladá implementácia IKE, nie IP vrstva.

Bežná IP fragmentácia je iný mechanizmus s iným režimom zlyhania. Smerovač medzi stranami fragmentuje veľký datagram alebo ho zahodí a vráti správu ICMP, ktorá sa k odosielateľovi nemusí nikdy dostať. Niektoré siete fragmenty potichu zahadzujú a niektoré medziľahlé zariadenia spracujú prvý fragment, ale nie zvyšok. Z pohľadu aplikácie vyzerajú všetky tri prípady rovnako.

Prechod cez NAT pridáva tretiu premennú, pretože ESP sa potom balí do UDP a vonkajší paket sa zväčší, pričom vyzerá ako bežná prevádzka UDP na porte 4500. Cesta, ktorá dobre prepúšťa UDP, môže stále zlyhať na datagrame, ktorý sa už nezmestí.

Prečítajte si výmenu, ktorá zlyhala

Hľadajte prechod, nie chybu. Log, ktorý ukazuje prvú výmenu odoslanú a zodpovedanú a potom nič, vám hovorí, že nasledujúca správa sa nikdy nedokončila. Dočasne zvýšte úroveň logu a porovnajte hlásené veľkosti na oboch stranách.

Chcete zistiť, či protistrana požiadavku vôbec videla. Ak iniciátor niečo odoslal a protistrana o tom nemá žiadny záznam, problém je v doručení. Ak protistrana požiadavku rozobrala a odmietla, problém je v samotnom certifikáte, a fragmentácia je rozptýlenie. Toto rozlíšenie má väčšiu cenu než stránka správ o uplynutí času.

Zmeňte cestu, nie certifikát

Otestujte toho istého klienta, ten istý certifikát a tú istú konfiguráciu z inej siete. Mobilný hotspot je zvyčajne najlacnejšia druhá cesta a skutočne sa líši od kancelárskeho spoja, nie len nominálne.

Ak sa handshake na druhej ceste dokončí, reťazec certifikátov je v poriadku a premennou je prvá cesta. Ak zlyhá rovnako na oboch, prestaňte testovať siete a pozrite sa na samotné správy. Toto jediné porovnanie odstráni približne polovicu možných vysvetlení.

Zmerajte výmenu, skôr než čokoľvek upravíte

Získajte veľkosť reťazca a veľkosť cesty. Obe čísla obmedzujú, čo môže handshake odoslať, a obe sa dajú lacno zmerať:

openssl crl2pkcs7 -nocrl -certfile chain.pem | openssl pkcs7 -print_certs -noout | grep -c subject
ls -l chain.pem
ping -M do -s 1400 198.51.100.7
ip -s link show eth0 | sed -n '1,6p'

Prvé dve dávajú počet certifikátov a veľkosť súboru, čo je rozumný ukazovateľ toho, aká veľká bude autentifikačná správa. Sonda ping hlási, či datagram tejto veľkosti cestu prežije, a počítadlá rozhrania ukazujú, či boli fragmenty na vašej strane zahodené. V systéme Windows je ekvivalentnou sondou ping s príznakom do-not-fragment a výslovnou veľkosťou užitočného zaťaženia.

Opakujte sondu smerom nadol, kým neuspeje. Najväčšia veľkosť, ktorá prejde, je pracovný rozpočet pre túto cestu a je užitočnejšia než akákoľvek zverejnená predvolená hodnota.

Opravte vrstvu, ktorá je skutočne pokazená

Ak cesta zahadzuje veľké datagramy, zapnite fragmentáciu IKE na oboch stranách a potvrďte, že rozšírenie bolo vyjednané, nie len ponúknuté. Ak cesta zle zaobchádza s fragmentmi na úrovni IP, oprava patrí tam alebo do MTU vonkajšieho rozhrania, nie do úložiska certifikátov.

Ak je reťazec zbytočne dlhý, skráťte ho na sprostredkujúce certifikáty, ktoré strana skutočne potrebuje. Odstránenie koreňa, ktorému klient už dôveruje, je rozumná údržba; odstránenie sprostredkujúceho nie je, a vypnutie overovania kvôli zmenšeniu správy mení problém doručenia za problém bezpečnosti.

Zapíšte, ktorý mechanizmus ste zmenili a ako handshake vyzeral potom. Ďalší výskyt je zvyčajne v inej sieti s rovnakým symptómom a poznámka je to, čo premení dve hodiny na desať minút.

Súvisiace články