O Facebook é muito inteligente com o esquema de endereços IPv6, mas me fez pensar em ACLs e é possível escrever uma ACL Cisco IOS IPv6 que corresponda? No IPv4, você pode corresponder a um octeto do meio, como 10.xxx.10.xxx, para atingir qualquer 'x' com 'não se importa'. Eu não acho que isso seja possível no IPv6, pelo menos não no IOS 15.1.
No caso do meu exemplo, como o Facebook é inteligente, facilita a correspondência no FACE: B00C, se você puder. De certa forma, isso simplifica porque, sem procurar qual bloco foi atribuído, posso apenas corresponder nesse intervalo.
2A03: 2880: F000: [0000-FFFF]: FACE: B00C :: / 96
A maneira óbvia e normal é combinar em 2A03: 2880: F000 :: / 48, mas infelizmente não tenho certeza se o FB tem um alcance maior (provavelmente). Portanto, nesse caso em particular, se eu pudesse corresponder apenas à parte FACE: B00C, poderia corresponder a tudo o que eles estão usando, supondo que eles não passem para o FACE: B00D
Como não consigo inserir uma máscara curinga no IOS e no IPv6 ACL, não acho que você possa fazer isso, mas estou curioso para saber se alguém tem uma solução alternativa interessante. Eu acho que seria útil saber disso porque, em algum momento, talvez eu precise filtrar um sub-bloco apenas por causa de DDoS ou tráfego agressivo, sem querer bloquear um / 32 inteiro para algum grande provedor.
Além disso, isso pode permitir o redirecionamento ou a priorização de tráfego baseado em políticas. Se eu perceber que os anúncios estão em um bloco diferente, eu poderia fazer o QoS de maneira diferente, por exemplo, um bom recurso para baixa largura de banda e links de satélite congestionados.
EDIT: Para esclarecer um pouco. Pode haver casos em que eu precise bloquear ou permitir determinados intervalos em um bloco grande como um / 32. Elas podem ser um pouco contíguas e, em vez de centenas de entradas, um curinga pode corresponder a grandes partes delas. Isso também poderia ser usado para a engenharia de tráfego da maneira que eu poderia rotear todos os blocos 10.x.10.0, onde x é ímpar, ele vai uma rota vs mesmo para outra rota.
Outro exemplo é um DDoS em que o IP de origem do IPv6 está sendo falsificado com um padrão que indica o nome do grupo dos hackers. Isso acontecerá pelo menos uma vez, seria bom poder filtrá-lo.
Uma ACL compacta é mais limpa, mas nem sempre é mais gerenciável. Essas coisas podem ser boas ou más idéias / práticas, e não aqui para argumentar que, apenas tentando entender quais ferramentas eu tenho versus quais ferramentas eu posso ter que criar.
...:face:b00c:0:1
que sua abordagem não adotaria.Respostas:
Infelizmente, a Cisco eliminou as máscaras curinga no IPv6. Isso é principalmente uma coisa boa, EXCETO neste caso particular. Para que sua idéia funcione, você deve confiar no Facebook, que é "inteligente" e consistente, o que provavelmente é mais do que se pode esperar.
Mas se você quiser processar o tráfego do Facebook de maneira diferente do outro tráfego, basta filtrar o bloco de endereços atribuído. O que você mencionou na sua pergunta é realmente atribuído ao Facebook Ireland: 2a03: 2880 :: / 32.
Mas é igualmente fácil procurar outras pessoas nos registros.
fonte
/32
é grande o suficiente para que você possa dividi-lo em muitas sub-redes e encaminhá-las para todo o mundo. São tantas sub-redes quanto os endereços IP IPv4! O registro whois é quase irrelevante nesse ponto. E a geolocalização ainda não é muito boa para endereços IPv6.Eu estava brincando com o FPM e acho que pode fazer o que você está procurando:
Eu tive que rolar meu próprio arquivo ipv6.phdf para este:
Infelizmente, quando eu faço uma "interface de controle de acesso fa0 / 1 do tipo mapa de políticas", não encontro correspondências no ethertype:
Suspeito que meus pings para o endereço IPv6 do Facebook não estejam sendo executados corretamente pelo CEF (as Perguntas frequentes do FPM dizem que é necessário) ou estou perdendo alguma coisa. Ainda assim, estou divulgando isso para quem quiser mastigar.
fonte