Spoločnosť Cloudflare, sieť na doručovanie obsahu pre 27 miliónov internetových stránok, spravujúca 13% z 1000 najväčších webov, podrobnosti o incidente, ktorý spôsobil, že bola narušená funkčnosť mnohých segmentov siete Cloudflare na 27 minút, vrátane tých, ktoré zaisťujú dodávku dopravy do Londýna, Chicaga, Los Angeles, Washingtone, Amsterdamu, Paríža, Moskvy a Petrohradu. Problém bol spôsobený nesprávnou zmenou konfigurácie na smerovači v Atlante. Počas incidentu, ktorý sa udial 17. júla od 21:12 do 21:39 (UTC), celkový objem dopravy v sieti Cloudflare klesol približne o 50%.
Pri vykonávaní technických prác chceli inžinieri presunúť časť dopravy z jedného z bákbonov a omylom vymazali jeden riadok v bloku nastavení, ktorý určoval zoznam prijímaných trás cez bákbon, filtrovaných podľa stanoveného zoznamu prefixov. Správne by bolo deaktivovať celý blok, ale náhodou bol len vymazaný riadok so zoznamom prefixov.
{master}[edit]
atl01# show | compare
[edit policy-options policy-statement 6-BBONE-OUT term 6-SITE-LOCAL from]
! inactive: prefix-list 6-SITE-LOCAL { … }
Obsah bloku:
from {
prefix-list 6-SITE-LOCAL;
}
then {
local-preference 200;
community add SITE-LOCAL-ROUTE;
community add ATL01;
community add NORTH-AMERICA;
accept;
}
Z dôvodu vymazania väzby na zoznam prefixov sa zvyšná časť bloku začala šíriť na všetky prefixy a smerovač začal rozosielať všetky svoje BGP trasy smerovačom iných bákbonov. Zhodou okolností nové trasy mali vyššiu prioritu (local-preference 200) v porovnaní s prioritou (100) stanovenou pre iné trasy automatickým systémom optimalizácie dopravy. Nakoniec, namiesto odstránenia smerovania z bákbonu došlo k úniku prioritnejších BGP trás, čo spôsobilo, že doprava smerujúca k iným bákbonom bola nasmerovaná do Atlany, čo viedlo k preťaženiu smerovača a kolapsu časti siete.
Aby sa v budúcnosti predišlo podobným incidentom, plánuje sa v pondelok uskutočniť niekoľko zmien v nastaveniach bázových uzlov Cloudflare. Pre BGP relácie sa pridá obmedzenie na maximálny počet prefixov (maximum-prefix), ktoré zablokuje problémový bázový uzol v prípade, že cez neho prejde príliš veľa prefixov. Keby bolo toto obmedzenie zavedené skôr, problém by viedol k odstaveniu uzla v Atlante, ale nemal by vplyv na fungovanie celej siete, keďže sieť Cloudflare je navrhnutá na zvládanie výpadkov jednotlivých bázových uzlov. Medzi už prijaté zmeny patrí aj prehodnotenie priorít (local-preference) pre lokálne trasy, ktoré zabráni jednému routeru ovplyvniť prevádzku v iných častiach siete.
Zdroj: opennet.ru
