Как надо исправлять утечки маршрутов
Стоит оговориться, что нижеследующая история во многом уникальна.
И вот как она начиналась. В течение примерно одного часа, начиная с 19.28 UTC вчера, 1 апреля 2020 года, крупнейший российский интернет-провайдер — Ростелеком (AS12389) — начал анонсировать сетевые префиксы крупнейших игроков интернета: Akamai, Cloudflare, Hetzner, Digital Ocean, Amazon AWS и других известных имен. До того момента как проблема была решена, пути между крупнейшими облачными провайдерами планеты были нарушены — Интернет «моргнул».
Данная утечка маршрута вполне успешно распространялась через провайдера Rascom (AS20764), откуда через Cogent (AS174) и, спустя еще несколько минут, через Level3 (AS3356) распространилась по всему миру. Утечка была настолько серьезной, что почти все Tier-1 операторы были задеты аномалией.
Выглядело это так:
Поверх такого:
Эта утечка маршрутов задела 8870 сетевых префиксов, принадлежащих почти 200 автономным системам. С большим количеством некорректных анонсов — ни один из которых не был отброшен участниками, их принимающими. В конечном счете, наличие фильтров бы не изменило сам факт утечки маршрута, но сделало бы ее распространение несколько меньшим. Для того чтобы оценить динамику произошедшего, можно посмотреть на пример BGPlay для одного из префиксов Akamai: https://stat.ripe.net/widget/bgplay#w.resource=2.17.123.0/24
Как мы писали вчера, все сетевые инженеры в настоящий момент должны отдавать себе стопроцентный отчет в корректности собственных действий, исключая возможность совершения критической ошибки. Ошибка, которую допустил Ростелеком, отлично иллюстрирует насколько хрупкой сущностью является стандартизированная IETF BGP-маршрутизация и, особенно — в такие стрессовые с точки зрения роста объема трафика времена, как сейчас.
Но что на самом деле отличает данную ситуацию от любой другой, это то, что Ростелеком получил предупреждение от реал-тайм системы мониторинга Qrator.Radar, быстро обратившись к нам за помощью в исправлении последствий.
Учитывая тривиальность ошибок в BGP, в течение текущей пандемии коронавируса допустить оную крайне легко. Но при наличии аналитических данных, можно быстро реагировать на изменение ситуации, что и было сделано — положив конец утечке и восстановив нормальную маршрутизацию.
Мы всерьез рекомендуем всем интернет-провайдерам, не являющимся Ростелекомом, задуматься о мониторинге BGP-анонсов прямо сейчас, для предотвращения масштабных инцидентов в зародыше. И, конечно, RPKI Origin Validation это не фантастика — это то, чем нужно заниматься в настоящее время.