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


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

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

{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-маршрутов, в результате которой трафик, адресованный другим бэкбонам, направился в Атланту, что привело к перегрузке маршрутизатора и коллапсу части сети.

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

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


Comments 0