PoC - Quebra do TCP em DNS Anycast Balanceado
Introdução
Na palestra do meu amigo Elizandro Pacheco, que ocorreu na 12ª Semana de Infraestrutura da Internet no Brasil em 25 de outubro de 2022, foi questionado por um participante se em um ambiente onde tivéssemos 2 servidores de DNS Recursivo Anycast sendo consultados e respondendo queries de forma balanceada, poderia ocorrer uma quebra nas consultas de DNS (53/TCP), já que imaginamos que um cliente no estabelecimento de uma sessão TCP (Three-way Handshake), poderia ocorrer de um pacote SYN ir para o servidor de DNS Recursivo A, retornando um SYN+ACK como resposta para o cliente e este acabar enviando o ACK para o servidor de DNS Recursivo B, o que quebraria a conexão forçando uma retransmissão. O mesmo resultado poderia também ocorrer após a sessão TCP estabelecida. Esse comportamento seria esperado porque no ambiente Anycast as consultas de DNS são para o mesmo IP sendo utilizado por mais de um servidor.