A empresa Cloudflare, uma rede de entrega de conteúdo para 27 milhões de recursos na internet e gerenciando 13% do tráfego dos 1000 maiores sites, detalhes do incidente que resultou em uma interrupção de 27 minutos em muitos segmentos da rede Cloudflare, incluindo aqueles responsáveis pela entrega de tráfego em Londres, Chicago, Los Angeles, Washington, Amsterdã, Paris, Moscou e São Petersburgo. O problema foi causado por uma mudança de configuração incorreta em um roteador em Atlanta. Durante o incidente, que ocorreu em 17 de julho, das 21:12 às 21:39 (UTC), o volume total de tráfego na rede Cloudflare caiu aproximadamente 50%.
Durante as operações técnicas, ao tentar desviar parte do tráfego de um dos backbones, os engenheiros deletaram uma linha no bloco de configurações que definia a lista de rotas aceitas através do backbone, filtradas de acordo com a lista de prefixos especificada. O correto teria sido desativar todo o bloco, mas, por engano, apenas a linha com a lista de prefixos foi removida.
{master}[edit]
atl01# show | compare
[edit policy-options policy-statement 6-BBONE-OUT term 6-SITE-LOCAL from]
! inactive: prefix-list 6-SITE-LOCAL { … }
Conteúdo do bloco:
from {
prefix-list 6-SITE-LOCAL;
}
then {
local-preference 200;
community add SITE-LOCAL-ROUTE;
community add ATL01;
community add NORTH-AMERICA;
accept;
}
Devido à remoção do vínculo com a lista de prefixos, a parte restante do bloco começou a ser aplicada a todos os prefixos e o roteador começou a enviar todas as suas rotas BGP para outros backbones. Por acaso, as novas rotas tinham uma prioridade mais alta (local-preference 200) em comparação com a prioridade (100) atribuída a outras rotas pelo sistema automático de otimização de tráfego. Como resultado, em vez de remover a roteirização do backbone, ocorreu um vazamento de rotas BGP de maior prioridade, levando o tráfego dirigido a outros backbones a ser redirecionado para Atlanta, o que resultou em sobrecarga do roteador e colapso de parte da rede.
Para evitar a ocorrência de incidentes semelhantes no futuro, serão feitas algumas alterações nas configurações dos backbones do Cloudflare na segunda-feira. Um limite máximo de prefixos (maximum-prefix) será adicionado nas sessões BGP, que bloqueará um backbone problemático caso ele direcione um número excessivo de prefixos. Se esse limite tivesse sido implementado anteriormente, o problema em questão teria levado à desconexão do backbone em Atlanta, mas não teria afetado o funcionamento de toda a rede, já que a rede Cloudflare é projetada para suportar a falha de backbones individuais. Entre as alterações já implementadas, destaca-se a revisão das prioridades (local-preference) para rotas locais, que impedirá que um roteador afete o tráfego em outras partes da rede.
Fonte: opennet.ru
