Ошибка при настройке BGP привела к 27-минутному сбою в работе Cloudflare

Компания Cloudflare, предоставляющая сеть доставки контента для 27 млн интернет-ресурсов и обслуживающая трафик 13% из 1000 крупнейших сайтов, раскрыла подробности инцидента, в результате которого в течение 27 минут была нарушена работа многих сегментов сети, в том числе отвечающих за доставку трафика в Лондон, Чикаго, Лос-Анджелес, Вашингтон, Амстердам, Париж, Москву и Санкт-Петербург. Проблема была вызвана неверным изменением конфигурации на маршрутизаторе в Атланте. Во время инцидента, который произошёл 17 июля с 21:12 по 21:39 (UTC), общий объём трафика в сети Cloudflare снизился примерно на 50%. 0_1595054057.png

В процессе проведения технических работ, желая снять часть трафика с одного из бэкбонов, инженеры удалили одну строку в блоке настроек, определяющем список принимаемых через бэкбон маршрутов, фильтруемых в соответствии с указанным списком префиксов. Правильным было бы деактивировать весь блок, но по ошибке была лишь удалена строка со списком префиксов.

       {master}[edit]     atl01# show | compare      [edit policy-options policy-statement 6-BBONE-OUT term 6-SITE-LOCAL from]     !       inactive: prefix-list 6-SITE-LOCAL { ... }    Содержимое блока:       from {         prefix-list 6-SITE-LOCAL;     }     then {         local-preference 200;         community add SITE-LOCAL-ROUTE;         community add ATL01;         community add NORTH-AMERICA;         accept;     }         

Из-за удаления привязки к списку префиксов оставшаяся часть блока стала распространяться на все префиксы и маршрутизатор стал рассылать все свои BGP-маршруты маршрутизаторам других бэкбонов. По стечению обстоятельств новые маршруты имели более высокий приоритет (local-preference 200) по сравнению с приоритетом (100), выставленным для других маршрутов автоматической системой оптимизации трафика. В итоге вместо удаления маршрутизации с бэкбона произошла утечка более приоритетных BGP-маршрутов, в результате которой трафик, адресованный другим бэкбонам, направился в Атланту, что привело к перегрузке маршрутизатора и коллапсу части сети.

0_1595054026.png

Для того чтобы исключить возникновение подобных инцидентов в будущем в понедельник планируется внести несколько изменений в настройки бэкбонов Cloudflare. Для BGP-сеансов будет добавлено ограничение на максимальное число префиксов (maximum-prefix), которое будет блокировать проблемный бэкбон в случае направления через него слишком большого числа префиксов. Если бы данное ограничение было добавлено ранее, то рассматриваемая проблема привела бы к отключению бэкбона в Атланте, но не отразилась на работе всей сети, так как сеть Cloudflare рассчитана на возможность выхода из строя отдельных бэкбонов. Из уже принятых изменений отмечается пересмотр приоритетов (local-preference) для локальных маршрутов, который не позволит одному маршрутизатору влиять на трафик в других частях сети.

Источник: http://www.opennet.ru/opennews/art.shtml? num=53391

©  OpenNet