Błąd konfiguracji BGP powoduje awarię Cloudflare na 27 minut

Firma Cloudflare, dostarczanie sieć dostarczania treści dla 27 mln zasobów Internetu i obsługująca ruch 13% z 1000 największych serwisów, nieosłonięty szczegóły zdarzenia, w wyniku którego na 27 minut została zakłócona praca wielu segmentów sieci Cloudflare, w tym odpowiedzialnych za realizację ruchu do Londynu, Chicago, Los Angeles, Waszyngtonu, Amsterdamu, Paryża, Moskwy i St. Petersburga . Problem został spowodowany nieprawidłową zmianą konfiguracji routera Atlanta. Podczas zdarzenia, które miało miejsce 17 lipca w godzinach 21:12 - 21:39 (UTC), całkowite natężenie ruchu w sieci Cloudflare spadło o około 50%.

Błąd konfiguracji BGP powoduje awarię Cloudflare na 27 minut

W trakcie prac technicznych, chcąc usunąć część ruchu z jednego ze szkieletów, inżynierowie usunęli jedną linię w bloku ustawień, która określa listę tras akceptowanych przez szkielet, filtrowaną zgodnie z określoną listą prefiksów. Słuszne byłoby wyłączenie całego bloku, ale przez pomyłkę usunięto jedynie linię z listą prefiksów.

{master}[edytuj] atl01# pokaż | porównywać
[edytuj politykę-opcje oświadczenie-polityki 6-BBONE-OUT termin 6-SITE-LOCAL z] ! nieaktywne: lista prefiksów 6-SITE-LOCAL { … }

Zawartość bloku:

z {
lista-przedrostków 6-SITE-LOCAL;
}
Następnie {
preferencje lokalne 200;
społeczność dodaj SITE-LOCAL-ROUTE;
społeczność dodaje ATL01;
społeczność dodaj AMERYKA PÓŁNOCNA;
zaakceptować;
}

W związku z usunięciem powiązania z listą prefiksów pozostała część bloku zaczęła być dystrybuowana do wszystkich prefiksów, a router zaczął wysyłać wszystkie swoje trasy BGP do routerów innych szkieletów. Zbiegiem okoliczności nowe trasy miały wyższy priorytet (preferencja lokalna 200) w porównaniu z priorytetem (100) ustawionym dla innych tras przez system automatycznej optymalizacji ruchu. W rezultacie zamiast usuwać routing ze szkieletu, wyciekały trasy BGP o wyższym priorytecie, w wyniku czego ruch adresowany do innych szkieletów był wysyłany do Atlanty, co doprowadziło do przeciążenia routera i załamania się części sieci.

Błąd konfiguracji BGP powoduje awarię Cloudflare na 27 minut

Aby zapobiec podobnym incydentom w przyszłości, na poniedziałek planuje się wprowadzenie kilku zmian w ustawieniach szkieletu Cloudflare. Dla sesji BGP zostanie dodany limit maksymalnej liczby prefiksów (maximum-prefix), który będzie blokował problematyczną sieć szkieletową w przypadku przechodzenia przez nią zbyt wiele prefiksów. Gdyby to ograniczenie zostało dodane wcześniej, omawiany problem doprowadziłby do wyłączenia szkieletu w Atlancie, ale nie wpłynąłby na działanie całej sieci, ponieważ sieć Cloudflare została zaprojektowana tak, aby umożliwiać awarie poszczególnych szkieletów. Wśród już przyjętych zmian odnotowano rewizję priorytetów (preferencji lokalnych) dla tras lokalnych, która nie pozwoli jednemu routerowi wpływać na ruch w innych częściach sieci.

Źródło: opennet.ru

Dodaj komentarz