[GTER] Morte às mensagens de NAT tipo 3 - DANOS - CGNAT OpenSource com BPA EIM/EIF e UPnP/PCP
Rafael Ramos
rafael.ramos at newtelecom.net.br
Mon Sep 14 10:48:16 -03 2020
Alguém poderia me passar a ISO do Danos 2005 os links do source estão
quebrados a 10 dias por um problema deles com a Amazon.
Eles estão resolvendo mas gostaria de fazer algum teste. Alguém poderia
disponibilizar ?
Obrigado.
Em seg., 14 de set. de 2020 às 09:53, Márcio Elias Hahn do Nascimento <
marcio at sulonline.net> escreveu:
> Em 2020-09-11 16:15, Gondim escreveu:
>
> > Em 23/07/2020 14:56, Douglas Fischer escreveu:
> >
> >> Eu escrevi essa montoeira de siglas ali em cima...
> >> Mas tenho certeza que o que chamou atenção dos coleguinhas foi a parte
> do
> >> "Morte às mensagens de NAT tipo 3".
> >> -> 3 vivas para os tickets de suporte que os usuários de PSN e XBOX
> abrem
> >> por causa das mensagens de NAT Tipo 3, não é mesmo?
> >>
> >> TL;DR:
> >> Se você manja bem dos paranauê de linux, nat/iptables e similares, e
> está
> >> disposto a fazer uma tentativa uma ferramenta opensource que promete
> >> resolver muitos problemas que o CGNAT trás, eu gostaria de contar com
> sua
> >> ajuda! Arranje um servidor BOM(não bom venha com velharia) e "bora si
> >> ajudá" a parar de passar raiva com CGNAT.
> >>
> >> A importancia do CGNAT para ISPs no dia de Hoje
> >> -----------------------------------------------
> >> Se você está no mercado atual de ISPs e nunca ouviu falar de CGNAT,
> PARE O
> >> QUE ESTÁ FAZENDO E VÁ PROCURAR SABER SOBRE CGNAT!
> >> Pois existe um grande risco de você estar fazendo as coisas de um jeito
> >> errado, e logo-logo ter problemas legais por conta disso.
> >>
> >> Se você já ouviu falar CGNAT, deve saber que existem basicamente 2
> tipos de
> >> CGNAT.
> >> (vou ser muito muito muito conciso nessa descrição)
> >> - Determinístico(ou Predefined) - Onde ranges de portas UDP e TCP de IPs
> >> Públicos/Válidos são préviamente alocadas para as conexões saintes de
> cada
> >> um dos IPs de uso reservado do CGNAT.
> >> A principal vantagem desse modelo é (se ele for implementado
> >> corretamente) não precisar da guarda de LOGs.
> >> - BPA - Bulk Port Allocation - Onde as portas vão sendo alocadas de
> >> Tanto-em-Tanto para os IPs de uso reservado do CGNAT conforme ele vai
> >> precisando, e cada vez quem um grupo de portas é alocado, o mecanismo de
> >> CGNAT deve fazer um LOG disso, e esse log deve armazenado adequadamente.
> >> A principal vantagem desse modelo é o excelente nível de relação entre
> >> IPs Válidos/Públicos e os IPs reservados do CGNAT.
> >>
> >> Os dois modelos tem vantagens, os dois modelos tem desvantagens...
> >> Sinceramente sou adepto do BPA, pois apesar de exigir recursos extras de
> >> Log, tem uma melhor utilização das portas dos IPs públicos, e a alocação
> >> dinâmica reduz a dor de cabeça com usuários que usam muitas portas.
> >>
> >> P.S.: Alerta de problemas jurídicos!
> >> Uma coisa que tenho visto muito por aí é uma galerinha que tá fazendo
> uns
> >> mapeamento maroto sem uma lógica reversível e sem fazer log.
> >> Quando chegar uma ordem judicial especificando
> >> IPDeOrigem/PortaDeOrigem/DataeHora, e você não conseguir fazer a
> >> identificação INEQUÍVOCA responsável do contrato daquele assinante...
> >> A coisa tente a ficar feia pro seu lado... CUIDADO!
> >>
> >> Aonde está a maior parte das dores que o CGNAT trás?
> >> ----------------------------------------------------
> >> CONEXÕES ENTRANTES AUXILIARES formadas para comunicação Peer-to-Peer.
> >> Geralmente esses mapeamento de conexões auxiliares entrantes são feitos
> >> ALGorítimos que ficam escutando as comunicações nas portas determinadas
> e
> >> "preparam uma regrinha dinâmica" para conexão entrante...
> >> Os protocolos mais comuns de ver isso são:
> >> - SIP/H323
> >> - FTP ativo/passivo
> >> - DCCP(que é o que a maioria dos games usa)
> >> Porém para esses ALGs funcionarem, além de o equipamento de NAT tem que
> ter
> >> todos os ALGs habilitados, e a comunicação nesse protocolo de controle
> não
> >> pode ser criptografada.
> >> -> Para exemplificar, SIP-ALG não vai funcionar se for SIP over TLS
> >> (a não ser que ele abra a criptografia do TLS).
> >>
> >> Para contornar essa complexidade que esse ALGs trazem para fazer
> >> funcionar o P2P com regras de firewall e CGNAT foram criados padrões e
> >> protocolos como PCP/UPnP, EIM/EIF (antes era o NAT-PMP).
> >>
> >> A ESPERANÇA
> >> -----------
> >> Já tem muito tempo que eu venho buscando uma solução OpenSource para
> CGNAT
> >> que concorresse com a soluções proprietárias como "A10/F5/Hillstone"
> para
> >> ambientes de CGNAT com suporte a BPA e PCP.
> >> Inclusive eu e mais alguns amigos chegamos a propor um vakinha on-line
> para
> >> comprar o desenvolvimento disso no formato OpenSource.
> >>
> >> Bom... Felizmente acredito que tenhamos achado a solução OpenSource que
> eu
> >> procurava...
> >>
> https://danosproject.atlassian.net/wiki/spaces/DAN/pages/421101573/CGNAT+and+PCP
> >>
> >> Ainda estou preparando um ambiente de testes dessa ferramenta.
> >> Mas estou bastante otimista com o que pude ver dela.
> >>
> >> Dentre a diversas coisas boas que posso falar sobre esse projeto, é que
> >> mesmo sendo opensource ele tem uns empurrõezinhos de grandes ISPS e
> >> carriers como a AT&T.
> >>
> >> O PEDIDO DE AJUDA
> >> -----------------
> >> No momento, a melhor maneira que eu encontrei de ajudar esse projeto
> >> OpenSource é fazer um apelo aos colegas brasileiros que tenham expertise
> >> para manter um ambiente de NAT em Linux, que mantenham redes de ISP que
> >> usem CGNAT, e que queiram ajudar a validar se essa ferramenta é
> realmente
> >> tão PORRETA, colocando ele para rodar em algum ambiente de teste e
> >> compartilhando com o pessoal do projeto o resultado.
> >> <
> https://danosproject.atlassian.net/wiki/spaces/DAN/pages/421101573/CGNAT+and+PCP
> >
> >>
> >> NÃO É UMA TELA DO WINBOX
> >> ------------------------
> >> Minha sugestão sobre a quem seria indicado embarcar nesses testes.
> >>
> >> P.S.: Antes que venham me achincalahar de metido... Já adianto:
> >> Estou pedindo a colaboração aqui na lista porque, sendo sicero, tenho
> >> dúvidas se eu tenho conhecimento técnico suficiente para segurar esse
> rojão.
> >> E também porque sei que temos vários colegas aqui na lista que tem um
> nível
> >> Master-Pica-Jedi e que conseguiriam lidar com os prossíveis problemas
> que
> >> surgirão com se estivessem descascando amendoim.
> >>
> >> - Se for querer usar um hardware velharia/lixo, com mais de 10-12
> anos...
> >> Fora da lista de compatibilidade do projeto.
> >> ou
> >> - Se você não tem um bom conhecimento para conseguir fazer
> troubleshooting
> >> em ambientes mais elaborados de Fowarding, NAT, e Firewall de Linux.
> >>
> >> -> NÃO SE META!
> >> Você vai passar raiva...
> >> Depois vai pedir ajuda...
> >> Vai fazer os coleguinhas passarem raiva,
> >> que irão usar palavras pesadas com você...
> >> E depois você vai sair falando baoseiras sobre o projeto!
> >>
> >> Ao meu entender o projeto é bastante robusto e maduro!
> >> Mas nesse momento ainda não é algo que esteja mastigadinho no nível
> >> "tutorial do underlinux ou do vivaolinux" que seja só copiar e colar...
> > Boa tarde meus amigos e amigas,
> >
> > Estamos testando esse projeto DANOS [1 [1]] como caixa CGNAT e estamos
> gostando bastante. Abaixo algumas informações interessantes sobre ele:
> >
> > Prós:
> >
> > - Primeiro que a interface é toda Vyatta e toda a configuração feita por
> ela. Achei bem legal o conceito e quem já mexe com juniper vai sentir
> algumas familiaridades interessantes.
> > - O sistema trabalha com commit, commit-confirm e rollback. Olha o
> Juniper aí rsrsrs
> > - O show configuration dele pode ser exibido tanto no formato de blocos
> com chaves como no Juniper, como também em comandos set como no Juniper
> (show | display set).
> > - Possui implementado o DPDK [2 [2]] que nos permite muito mais poder de
> tráfego com menos processamento.
> > - O bichinho faz CGNAT BPA (Bulk Port Allocation), o que nos dá uma
> ótima economia de IPv4 público. Mas lembre-se da Seleção Natural de Darwin,
> nunca use somente CGNAT, sem IPv6. Você pode morrer lá na frente quando
> acabar o IPv4 público pra por no CGNAT.
> > - Possui FRR 7.3.1 [3 [3]].
> > - Sistema base é GNU/Linux Debian 10 (Buster) [4 [4]], um sistema Linux
> muito estável. Mas não se enganem se acham que vão conseguir fazer uso do
> apt/apt-get pois são desativados para não quebrar o sistema. A atualização
> é feita através de um comando específico
> > pra instalação da .ISO, que for lançada no site.
> > - Você pode criar regras/filtros de firewall parecidos com o PROTECT-RE
> que usamos no Juniper e depois aplicá-los somente para proteção da caixa,
> sem interferência com as demais interfaces.
> > - Possui diversos comandos para exibir informações do CGNAT como IPs
> públicos usados e portas tcp/udp usadas, IPs usados nos assinantes,
> sumário, etc.
> > - Na documentação já se encontra exemplos de configuração de CGNAT
> perfeitamente funcionais.
> > - Ferramentas para monitorar o tráfego das interfaces, htop, top e
> muitas outras.
> > - Suporte por meio de tickets. Pessoal responde rápido e são muito
> atenciosos.
> >
> > Contras:
> >
> > - O sistema por usar DPDK não suporta todas as interfaces de rede do
> mercado mas as melhores já são suportadas. A lista está aqui [5 [5]].
> > - Gera mais logs que o modelo determinístico mas ao meu ver vale à pena.
> Você pode configurar o DANOS pra enviar os logs para um servidor syslog
> tipo o GrayLog [6 [6]], tratar os logs e jogá-los para uma base de dados
> sua.
> > - Consome mais memória que um sistema comum. Aqui estamos testando com
> tráfego de 5Gbps (pico), 12 prefixos de CGNAT, 12 prefixos públicos /27 e o
> sistema já ocupa 5.82G de ram.
> > - Pouca documentação. Mas suprida pelas ajudas do suporte deles e também
> com documentações sobre Vyatta/VyOS encontradas pela Internet. Obrigado
> Google por isso. rsrsrsrs
> >
> > Sinceramente esses contras nem foram tão ruins e acredito que o projeto
> valha o estudo. Também pode ser usado para outros projetos como até mesmo
> montagem de SoftRouters e dessa vez com o poder o DPDK em suas mãos. rsrsrs
> >
> > Agora uma outra dica minha para te ajudar com os logs. Não habilite
> todos os logs pois isso além de diminuir a performance da caixa, vai te
> gerar logs descomunais com volumes absurdos e vai por mim, você não vai
> querer isso. Habilite apenas esse cara:
> >
> > set service nat cgnat log event port-block-allocation
> >
> > Ele já vai te gerar simplificado quem usou qual IPv4 público e que bloco
> de portas com data/hora inicial e final. Para isso deixe a configuração de
> alocação de portas como sequencial e não randômica.
> >
> > Bem espero ter contribuído de alguma forma e quem sabe mais pra frente
> faço algum artigo no BPF [7 [7]] sobre o DANOS.
> >
> > [1]
> https://danosproject.atlassian.net/wiki/spaces/DAN/pages/2556033/About+DANOS
> > [2] https://www.dpdk.org/
> > [3] https://frrouting.org/
> > [4] https://www.debian.org/
> > [5]
> https://danosproject.atlassian.net/wiki/spaces/DAN/pages/121143308/Frequently+Asked+Questions#Supported-NICs
> > [6] https://www.graylog.org/products/open-source
> > [7] https://wiki.brasilpeeringforum.org/w/P%C3%A1gina_principal
>
> Interessante, poderia nos dar mais detalhes sobre o hardware usado para
> passar os 5Gbps e a carga atual dele com essa demanda?
>
> --
> Att
>
> Márcio Elias Hahn do Nascimento
> [8]
>
> Links:
> ------
> [1]
>
> https://danosproject.atlassian.net/wiki/spaces/DAN/pages/2556033/About+DANOS
> [2] https://www.dpdk.org/
> [3] https://frrouting.org/
> [4] https://www.debian.org/
> [5]
>
> https://danosproject.atlassian.net/wiki/spaces/DAN/pages/121143308/Frequently+Asked+Questions#Supported-NICs
> [6] https://www.graylog.org/products/open-source
> [7] https://wiki.brasilpeeringforum.org/w/P%C3%A1gina_principal
> [8] http://www.sulinternet.net
> --
> gter list https://eng.registro.br/mailman/listinfo/gter
>
More information about the gter
mailing list