4 октября 2021 года имеет все шансы стать днем осведомленности о BGP.
Помимо мемов, вчера Facebook исчез из Интернета со всей его экосистемой, включая огромные ресурсы, такие как Instagram и WhatsApp.
Подобные мероприятия случаются нечасто. Отчасти потому, что архитектура Интернета имеет значительную отказоустойчивость, в основном благодаря BGP, а отчасти потому, что обычно крупные компании, скажем, с миллиардом пользователей, не централизуют свои ресурсы таким образом, чтобы это могло вызвать 100% недоступность в сетях..
Тем не менее, вчера Facebook и все связанные с ним ресурсы испытали серьезное отключение сети. Давайте посмотрим, что мы видели в мире BGP.
Вот как обычно (5 октября, снимок 9:30) выглядит путь AS для префикса 129.134.30.0/24, охватывающий один из DNS-серверов Facebook.
Тем не менее, вчера, начиная с 15.40 UTC, они были исключены из объявления, что сделало их недоступными для службы DNS.
Вместе с двумя другими сетевыми префиксами: 129.134.30.0/23, 129.134.31.0/24, эти три вместе содержат все четыре сервера имен экосистемы социальных сетей и других сервисов Facebook.
Мы смотрели на серверы имен A и B во время инцидента, а не на C и D, хотя теперь все они указывают на IP-адреса, которые были включены в отозванные префиксы после инцидента.
Количество отозванных префиксов IPv4 было немного больше, чем два / 24 и один / 23:
129.134.25.0/24, 129.134.26.0/24, 129.134.27.0/24, 129.134.28.0/24, 129.134.29.0/24, 129.134.30.0/23, 129.134 .30.0 / 24 ',' 129.134.31.0/24 ',' 129.134.65.0/24 ',' 129.134.66.0/24 ',' 129.134.67.0/24 ',' 129.134.68.0/24 ',' 129.134.69.0 / 24 ',' 129.134.70.0/24 ',' 129.134.71.0/24 ',' 129.134.72.0/24 ',' 129.134.73.0/24 ',' 129.134.74.0/24 ',' 129.134.75.0/24 ',' 129.134.76.0/24 ',' 129.134.79.0/24 ',' 157.240.207.0/24 ',' 185.89.218.0/23 ',' 185.89.218.0/24 ',' 185.89.219.0/24 ', '69 .171.250.0 / 24 '
Эти IPv4-адреса объединяются в два / 16 сетевых префиксов, содержащих NS-серверы.
Также было отозвано несколько префиксов IPv6:
'2a03: 2880: f0fc :: / 47', '2a03: 2880: f0fc :: / 48', '2a03: 2880: f0fd :: / 48', '2a03: 2880: f0ff :: / 48', '2a03 : 2880: f1fc :: / 47 ',' 2a03: 2880: f1fc :: / 48 ',' 2a03: 2880: f1fd :: / 48 ',' 2a03: 2880: f1ff :: / 48 ',' 2a03: 2880 : f2ff :: / 48 ',' 2a03: 2880: ff08 :: / 48 ',' 2a03: 2880: ff09 :: / 48 ',' 2a03: 2880: ff0a :: / 48 ',' 2a03: 2880: ff0b :: / 48 ',' 2a03: 2880: ff0c :: / 48 ',' 2a03: 2881: 4000 :: / 48 ',' 2a03: 2881: 4001 :: / 48 ',' 2a03: 2881: 4002 :: / 48 ',' 2a03: 2881: 4004 :: / 48 ',' 2a03: 2881: 4006 :: / 48 ',' 2a03: 2881: 4007 :: / 48 ',' 2a03: 2881: 4009 :: / 48 '
129.134.30.0/24 видимость, данные Qrator.Radar
В тот момент, когда серверы имен Facebook стали недоступны из-за маршрутов, изъятых из объявлений BGP, миллионы клиентов (с точки зрения клиент-сервер) начали свои повторяющиеся попытки запросить уже недоступные серверы.
Далее произошло сочетание DNS, BGP и рук.
«Шутка о сетевой маске», кредитор Марк Данн.
Позднее в официальном заявлении, когда у всех в мире оказалось слишком много свободного времени, Facebook заявил, что отключение произошло из-за изменения конфигурации, вызвавшего каскадный эффект и вызвавшего остановку всей внутренней и внешней инфраструктуры Facebook.
Более 5 часов.
Предоставлено: Дуг Мадори, Kentik.
Особенно интересно было, как глобальная интернет-инфраструктура отреагировала на такое исчезновение. Короче — плохо.
Именно здесь вступает в силу механика DNS в сочетании с человеческим фактором.
Cache Negative: это значение контролирует отрицательное время кэширования, то есть как долго распознаватель будет кэшировать ошибку имени NXDOMAIN. Максимальное значение, разрешенное RFC 2308 для этого параметра, составляет 24 часа (86400 секунд).
Обратите внимание, что в нем указано только максимально допустимое значение параметра, а не минимальное, которое может быть 0.
DNS-резолверы, кэширующие ответы SERVFAIL и NXDOMAIN, усилили шторм, поскольку им тоже нужно было проверять DNS-серверы верхнего уровня. Если кэш попаданий NXDOMAIN равен X циклам ЦП, то промах кэша NXDOMAIN составляет X x Y циклов ЦП, где Y может быть огромным числом из-за рекурсии и общих ресурсов.
Ошибка в браузере заставляет пользователя попробовать еще раз. Приложения также начинают повторять свои запросы. Люди, не имеющие доступа к своему WhatsApp, начинают искать другие способы общения. Наводнение распространяется на огромную территорию Интернета, затрагивая и другие ресурсы.
Большинство остальных — местные интернет-провайдеры. Вчера Vodafone сообщил о проблемах (на чешском языке) с обработкой трафика в Чешской Республике из-за исчезновения Facebook. Вероятно, не только из-за нагрузки на DNS, но и из-за изменения моделей потоков трафика, поскольку пользователи все еще пытались получить доступ к незатронутым мессенджерам и социальным сетям, особенно Telegram и Twitter.
Сотрудник словацкого интернет-провайдера (Blažej Krajňák) сообщил о значительном изменении трафика на рекурсивных преобразователях, заявив, что это похоже на DDoS-атаку на DNS-серверы:
Предоставлено: Блажей Крайняк.
На этом скриншоте графика из статистики глобального роумингового трафика AMS-IX вы можете увидеть, насколько значительна доля трафика Facebook / Instagram / WhatsApp от общего количества, от 10% до 20%:
Предоставлено: статистика трафика AMSIX GRX.
Брайан Кребс также сообщил, что несколько компаний по регистрации доменов выставили Facebook.com на продажу из-за автоматизированных систем, которые ищут просроченные / заброшенные / освобожденные домены — забавное последствие того, что серверы имен Facebook отсутствовали в Интернете в течение такого периода.
Итак, что можно сделать, чтобы смягчить последствия такой неправильной конфигурации? Не очень много.
Гораздо лучше в первую очередь попытаться предотвратить неправильную конфигурацию, следуя лучшим отраслевым практикам создания и реализации изменений конфигурации, особенно на граничных маршрутизаторах сильно загруженной сети.
Вчера мы видели, что могло случиться иначе.
Предоставлено: Честный сетевик.
Да, и если вы все еще не подписались на нашу ленту Twitter — лучше сделайте это до следующего массового сбоя!