Společnost Cloudflare, síť pro doručování obsahu pro 27 milionů internetových zdrojů a obsluhující 13 % z 1000 největších webů, podrobnosti o incidentu, při kterém bylo po dobu 27 minut narušeno fungování mnoha segmentů sítě Cloudflare, včetně těch, které zajišťovaly doručování dopravy do Londýna, Chicaga, Los Angeles, Washingtonu, Amsterodamu, Paříže, Moskvy a Petrohradu. Problém byl způsoben chybnou změnou konfigurace na routeru v Atlantě. Během incidentu, který se odehrál 17. července od 21:12 do 21:39 (UTC), se celkový objem dopravy v síti Cloudflare snížil přibližně o 50 %.
Během provádění technických prací, s cílem odlehčit část dopravy z jednoho z backbonů, inženýři odstranili jeden řádek v bloku nastavení, který určil seznam příchozích tras přes backbone, filtrovaných podle uvedeného seznamu prefixů. Správným postupem by bylo deaktivovat celý blok, ale omylem byla odstraněna pouze řádka se seznamem prefixů.
{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;
}
Kvůli odstranění vazby na seznam prefixů se zbývající část bloku začala šířit na všechny prefixy a router začal rozesílat všechny své BGP trasy routerům jiných backbone. Kromě toho měly nové trasy vyšší prioritu (local-preference 200) ve srovnání s prioritou (100), která byla nastavená pro jiné trasy automatickým systémem optimalizace dopravy. Nakonec místo odstranění routování z backbone došlo k úniku prioritnějších BGP tras, což způsobilo, že doprava určená pro jiné backbony byla směrována do Atlanty, což vedlo k přetížení routeru a kolapsu části sítě.
Aby se v budoucnu předešlo podobným incidentům, plánují se v pondělí provést několik změn v nastavení Cloudflare backbone. Do BGP sezení bude přidáno omezení maximálního počtu prefiksů (maximum-prefix), které zablokuje problematický backbone v případě, že by jím procházelo příliš velké množství prefiksů. Kdyby toto omezení bylo přidáno dříve, dotyčný problém by vedl k výpadku backbone v Atlantě, ale neodrazilo by se to na fungování celé sítě, protože síť Cloudflare je navržena tak, aby zvládla výpadky jednotlivých backbone. Mezi již přijaté změny patří revize priorit (local-preference) pro místní trasy, která zabrání jednomu routeru ovlivnit provoz v jiných částech sítě.
Zdroj: opennet.ru
