<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Em 24/07/2020 01:25, Carvalho escreveu:<br>
    </p>
    <blockquote type="cite"
cite="mid:CAPcOPvEj_aCUvi0zWBEEW3d7eQc3G0HRj8TZKx0_p2VVGpBWfg@mail.gmail.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div dir="auto">
        <div>André Bolzan, a questão do lucro é o que eu estou mirando
          quando digo que "juntos" conseguiremos dar força ao IPv6. Não
          adianta eu, que sou um provedor pequeno, dizer para um cliente
          que ele deve reclamar com a publisher do jogo dele que não
          está funcionando bem ou nem funcionado que isso é falta de
          suporte ao IPv6. Ele argumentar que irá para o concorrente. E
          eu poderia simplesmente falar que ele pode ir para qualquer
          concorrente que o problema é o jogo. Ais ele vai para o
          Twitter reclamar e irá encontrar tantos outros clientes
          reclamando a vão pressionar quem desenvolve o jogo. Onde você
          acha que vai bater isso? Na "mão" de quem não dá suporte ao
          IPv6. </div>
        <div dir="auto"><br>
        </div>
        <div dir="auto">Novamente, pra mim, dispender esforços para
          contornar os problemas do NAT é querer manter nos aparelhos um
          paciente com morte cerebral decretada. É só paliativo e não
          querer encarar a realidade... <br>
          <br>
          <div class="gmail_quote" dir="auto">
            <div dir="ltr" class="gmail_attr">Em qui, 23 de jul de 2020
              21:14, Andre Bolzan <<a
                href="mailto:andre.bolzan@fixfibra.com.br"
                moz-do-not-send="true">andre.bolzan@fixfibra.com.br</a>>
              escreveu:<br>
            </div>
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">
              <div dir="ltr">
                <div>
                  <div>
                    <div>
                      <div>Tardes !<br>
                      </div>
                      <div><br>
                      </div>
                      <div>Sem tietar, que me chamou atenção foi o campo
                        "<b>From:" </b>com valor<b> "Douglas Fischer</b>"
                        :)<br>
                        <br>
                      </div>
                      Estou atrás desta "opção" desde que vi a live do
                      Marcelo Gondim no canal do Debina Brasil...<br>
                      <br>
                    </div>
                    Como provedor não é quintal da minha casa, estava
                    procurando maneira "segura" de testar essa estrutura
                    sem afetar clientes, pois um CGNAT "grande" é
                    complexo de se testar. <br>
                    Pensei em uma "farm" de clientes doker "discando"
                    PPPoE e simulados acesso a listas de sites,
                    downloads, etcs, para dar "carga" de trabalho e
                    "pessoas" com navegação, jogos para poder ter
                    certeza que está indo tudo bem ...<br>
                    <br>
                  </div>
                  Estou dentro e sei que juntos somos mais forte rsrs <br>
                  <br>
                  Sozinho eu levaria muito mais tempo para conseguir
                  alguma coisa "substancial"...<br>
                  <br>
                </div>
                Sobre forçar o IPv6 para as grandes provedores de
                conteúdo "gamers", acho "difícil", porque tudo se resume
                a lucro e quanto mais lucro melhor... Ninguém vai
                "desperdiçar" dinheiro com IPv6...<br>
                <br>
              </div>
              <br>
              <div class="gmail_quote">
                <div dir="ltr" class="gmail_attr">Em qui., 23 de jul. de
                  2020 às 14:56, Douglas Fischer <<a
                    href="mailto:fischerdouglas@gmail.com"
                    target="_blank" rel="noreferrer"
                    moz-do-not-send="true">fischerdouglas@gmail.com</a>>
                  escreveu:<br>
                </div>
                <blockquote class="gmail_quote" style="margin:0px 0px
                  0px 0.8ex;border-left:1px solid
                  rgb(204,204,204);padding-left:1ex">Eu escrevi essa
                  montoeira de siglas ali em cima...<br>
                  Mas tenho certeza que o que chamou atenção dos
                  coleguinhas foi a parte do<br>
                  "Morte às mensagens de NAT tipo 3".<br>
                   -> 3 vivas para os tickets de suporte que os
                  usuários de PSN e XBOX abrem<br>
                  por causa das mensagens de NAT Tipo 3, não é mesmo?<br>
                  <br>
                  TL;DR:<br>
                  Se você manja bem dos paranauê de linux, nat/iptables
                  e similares, e está<br>
                  disposto a fazer uma tentativa uma ferramenta
                  opensource que promete<br>
                  resolver muitos problemas que o CGNAT trás, eu
                  gostaria de contar com sua<br>
                  ajuda! Arranje um servidor BOM(não bom venha com
                  velharia) e "bora si<br>
                  ajudá" a parar de passar raiva com CGNAT.<br>
                  <br>
                  A importancia do CGNAT para ISPs no dia de Hoje<br>
                  -----------------------------------------------<br>
                  Se você está no mercado atual de ISPs e nunca ouviu
                  falar de CGNAT, PARE O<br>
                  QUE ESTÁ FAZENDO E VÁ PROCURAR SABER SOBRE CGNAT!<br>
                  Pois existe um grande risco de você estar fazendo as
                  coisas de um jeito<br>
                  errado, e logo-logo ter problemas legais por conta
                  disso.<br>
                  <br>
                  Se você já ouviu falar CGNAT, deve saber que existem
                  basicamente 2 tipos de<br>
                  CGNAT.<br>
                  (vou ser muito muito muito conciso nessa descrição)<br>
                   - Determinístico(ou Predefined) - Onde ranges de
                  portas UDP e TCP de IPs<br>
                  Públicos/Válidos são préviamente alocadas para as
                  conexões saintes de cada<br>
                  um dos IPs de uso reservado do CGNAT.<br>
                     A principal vantagem desse modelo é (se ele for
                  implementado<br>
                  corretamente) não precisar da guarda de LOGs.<br>
                   - BPA - Bulk Port Allocation - Onde as portas vão
                  sendo alocadas de<br>
                  Tanto-em-Tanto para os   IPs de uso reservado do CGNAT
                  conforme ele vai<br>
                  precisando, e cada vez quem um grupo de portas é
                  alocado, o mecanismo de<br>
                  CGNAT deve fazer um LOG disso, e esse log deve
                  armazenado adequadamente.<br>
                     A principal vantagem desse modelo é o excelente
                  nível de relação entre<br>
                  IPs Válidos/Públicos e os IPs reservados do CGNAT.<br>
                  <br>
                  Os dois modelos tem vantagens, os dois modelos tem
                  desvantagens...<br>
                  Sinceramente sou adepto do BPA, pois apesar de exigir
                  recursos extras de<br>
                  Log, tem uma melhor utilização das portas dos IPs
                  públicos, e a alocação<br>
                  dinâmica reduz a dor de cabeça com usuários que usam
                  muitas portas.<br>
                  <br>
                  P.S.: Alerta de problemas jurídicos!<br>
                  Uma coisa que tenho visto muito por aí é uma galerinha
                  que tá fazendo uns<br>
                  mapeamento maroto sem uma lógica reversível e sem
                  fazer log.<br>
                  Quando chegar uma ordem judicial especificando<br>
                  IPDeOrigem/PortaDeOrigem/DataeHora, e você não
                  conseguir fazer a<br>
                  identificação INEQUÍVOCA responsável do contrato
                  daquele assinante...<br>
                  A coisa tente a ficar feia pro seu lado... CUIDADO!<br>
                  <br>
                  <br>
                  Aonde está a maior parte das dores que o CGNAT trás?<br>
                  ----------------------------------------------------<br>
                  CONEXÕES ENTRANTES AUXILIARES formadas para
                  comunicação Peer-to-Peer.<br>
                  Geralmente esses mapeamento de conexões auxiliares
                  entrantes são feitos<br>
                  ALGorítimos que ficam escutando as comunicações nas
                  portas determinadas e<br>
                  "preparam uma regrinha dinâmica" para conexão
                  entrante...<br>
                  Os protocolos mais comuns de ver isso são:<br>
                   - SIP/H323<br>
                   - FTP ativo/passivo<br>
                   - DCCP(que é o que a maioria dos games usa)<br>
                  Porém para esses ALGs funcionarem, além de o
                  equipamento de NAT tem que ter<br>
                  todos os ALGs habilitados, e a comunicação nesse
                  protocolo de controle não<br>
                  pode ser criptografada.<br>
                   -> Para exemplificar, SIP-ALG não vai funcionar se
                  for SIP over TLS<br>
                      (a não ser que ele abra a criptografia do TLS).<br>
                  <br>
                  Para contornar essa complexidade que esse ALGs trazem
                  para fazer<br>
                  funcionar o P2P com regras de firewall e CGNAT foram
                  criados padrões e<br>
                  protocolos como PCP/UPnP, EIM/EIF (antes era o
                  NAT-PMP).<br>
                  <br>
                  <br>
                  A ESPERANÇA<br>
                  -----------<br>
                  Já tem muito tempo que eu venho buscando uma solução
                  OpenSource para CGNAT<br>
                  que concorresse com a soluções proprietárias como
                  "A10/F5/Hillstone" para<br>
                  ambientes de CGNAT com suporte a BPA e PCP.<br>
                  Inclusive eu e mais alguns amigos chegamos a propor um
                  vakinha on-line para<br>
                  comprar o desenvolvimento disso no formato OpenSource.<br>
                  <br>
                  Bom... Felizmente acredito que tenhamos achado a
                  solução OpenSource que eu<br>
                  procurava...<br>
                  <a
href="https://danosproject.atlassian.net/wiki/spaces/DAN/pages/421101573/CGNAT+and+PCP"
                    rel="noreferrer noreferrer" target="_blank"
                    moz-do-not-send="true">https://danosproject.atlassian.net/wiki/spaces/DAN/pages/421101573/CGNAT+and+PCP</a><br>
                  <br>
                  Ainda estou preparando um ambiente de testes dessa
                  ferramenta.<br>
                  Mas estou bastante otimista com o que pude ver dela.<br>
                  <br>
                  Dentre a diversas coisas boas que posso falar sobre
                  esse projeto, é que<br>
                  mesmo sendo opensource ele tem uns empurrõezinhos de
                  grandes ISPS e<br>
                  carriers como a AT&T.<br>
                  <br>
                  O PEDIDO DE AJUDA<br>
                  -----------------<br>
                  No momento, a melhor maneira que eu encontrei de
                  ajudar esse projeto<br>
                  OpenSource é fazer um apelo aos colegas brasileiros
                  que tenham expertise<br>
                  para manter um ambiente de NAT em Linux, que mantenham
                  redes de ISP que<br>
                  usem CGNAT, e que queiram ajudar a validar se essa
                  ferramenta é realmente<br>
                  tão PORRETA, colocando ele para rodar em algum
                  ambiente de teste e<br>
                  compartilhando com o pessoal do projeto o resultado.<br>
                  <<a
href="https://danosproject.atlassian.net/wiki/spaces/DAN/pages/421101573/CGNAT+and+PCP"
                    rel="noreferrer noreferrer" target="_blank"
                    moz-do-not-send="true">https://danosproject.atlassian.net/wiki/spaces/DAN/pages/421101573/CGNAT+and+PCP</a>><br>
                  <br>
                  <br>
                  NÃO É UMA TELA DO WINBOX<br>
                  ------------------------<br>
                  Minha sugestão sobre a quem seria indicado embarcar
                  nesses testes.<br>
                  <br>
                  P.S.: Antes que venham me achincalahar de metido... Já
                  adianto:<br>
                  Estou pedindo a colaboração aqui na lista porque,
                  sendo sicero, tenho<br>
                  dúvidas se eu tenho conhecimento técnico suficiente
                  para segurar esse rojão.<br>
                  E também porque sei que temos vários colegas aqui na
                  lista que tem um nível<br>
                  Master-Pica-Jedi e que conseguiriam lidar com os
                  prossíveis problemas que<br>
                  surgirão com se estivessem descascando amendoim.<br>
                  <br>
                  - Se for querer usar um hardware velharia/lixo, com
                  mais de 10-12 anos...<br>
                  Fora da lista de compatibilidade do projeto.<br>
                    ou<br>
                  - Se você não tem um bom conhecimento para conseguir
                  fazer troubleshooting<br>
                  em ambientes mais elaborados de Fowarding, NAT, e
                  Firewall de Linux.<br>
                  <br>
                  -> NÃO SE META!<br>
                     Você vai passar raiva...<br>
                     Depois vai pedir ajuda...<br>
                     Vai fazer os coleguinhas passarem raiva,<br>
                     que irão usar palavras pesadas com você...<br>
                     E depois você vai sair falando baoseiras sobre o
                  projeto!<br>
                  <br>
                  Ao meu entender o projeto é bastante robusto e maduro!<br>
                  Mas nesse momento ainda não é algo que esteja
                  mastigadinho no nível<br>
                  "tutorial do underlinux ou do vivaolinux" que seja só
                  copiar e colar...<br>
                  <br>
                  <br>
                  -- <br>
                  Douglas Fernando Fischer<br>
                  Engº de Controle e Automação<br>
                  --<br>
                  gter list    <a
                    href="https://eng.registro.br/mailman/listinfo/gter"
                    rel="noreferrer noreferrer" target="_blank"
                    moz-do-not-send="true">https://eng.registro.br/mailman/listinfo/gter</a><br>
                </blockquote>
              </div>
              <br clear="all">
              <br>
              -- <br>
              <div dir="ltr">
                <div dir="ltr">
                  <div>
                    <div dir="ltr">
                      <div><br>
                      </div>
                      <div><font size="4"><b>André Bolzan Saar</b></font></div>
                      <b><span><span style="color:rgb(204,204,204)"></span></span></b>
                      <div><b><span><span style="color:rgb(204,204,204)"><span>
                                <div><b><span
                                      style="color:rgb(204,204,204)"><a
href="mailto:Andre.Bolzan@FIXFIBRA.com.br" target="_blank"
                                        rel="noreferrer"
                                        moz-do-not-send="true">Andre.Bolzan@FIXFIBRA.com.br</a></span></b></div>
                              </span></span></span></b><b><span><span
                              style="color:rgb(204,204,204)"></span></span></b><b><span><span
                              style="color:rgb(204,204,204)"></span></span></b><b><span><span
                              style="color:rgb(204,204,204)"><span>
                                <div><b><span><span
                                        style="color:rgb(204,204,204)"></span></span></b></div>
                              </span></span></span></b><b><span><span
                              style="color:rgb(204,204,204)">*55 11
                              98205-7742</span></span></b></div>
                    </div>
                  </div>
                </div>
              </div>
              _______________________________________________<br>
              bpf mailing list<br>
              <a href="mailto:bpf@listas.brasilpeeringforum.org"
                target="_blank" rel="noreferrer" moz-do-not-send="true">bpf@listas.brasilpeeringforum.org</a><br>
              <a
                href="https://listas.brasilpeeringforum.org/mailman/listinfo/bpf"
                rel="noreferrer noreferrer" target="_blank"
                moz-do-not-send="true">https://listas.brasilpeeringforum.org/mailman/listinfo/bpf</a><br>
            </blockquote>
          </div>
        </div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
</pre>
    </blockquote>
    <pre class="moz-signature" cols="72">
Boa tarde meus amigos e amigas,

Estamos testando esse projeto DANOS [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] 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].
- Sistema base é GNU/Linux Debian 10 (Buster) [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].
- 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], 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] sobre o DANOS.


[1] <a class="moz-txt-link-freetext" href="https://danosproject.atlassian.net/wiki/spaces/DAN/pages/2556033/About+DANOS">https://danosproject.atlassian.net/wiki/spaces/DAN/pages/2556033/About+DANOS</a>
[2] <a class="moz-txt-link-freetext" href="https://www.dpdk.org/">https://www.dpdk.org/</a>
[3] <a class="moz-txt-link-freetext" href="https://frrouting.org/">https://frrouting.org/</a>
[4] <a class="moz-txt-link-freetext" href="https://www.debian.org/">https://www.debian.org/</a>
[5] <a class="moz-txt-link-freetext" href="https://danosproject.atlassian.net/wiki/spaces/DAN/pages/121143308/Frequently+Asked+Questions#Supported-NICs">https://danosproject.atlassian.net/wiki/spaces/DAN/pages/121143308/Frequently+Asked+Questions#Supported-NICs</a>
[6] <a class="moz-txt-link-freetext" href="https://www.graylog.org/products/open-source">https://www.graylog.org/products/open-source</a>
[7] <a class="moz-txt-link-freetext" href="https://wiki.brasilpeeringforum.org/w/P%C3%A1gina_principal">https://wiki.brasilpeeringforum.org/w/P%C3%A1gina_principal</a>

-- 
  ⢀⣴⠾⠻⢶⣦⠀  Marcelo Gondim 
  ⣾⠁⢠⠒⠀⣿⡁  Sysadmin - <a class="moz-txt-link-freetext" href="https://www.linuxinfo.com.br">https://www.linuxinfo.com.br</a>
  ⢿⡄⠘⠷⠚⠋   DA04 922E 78B3 44A5 3C8D 23D0 8DB5 571E E151 4E19
  ⠈⠳⣄⠀⠀⠀⠀  Logic will get you from A to B. Imagination will take you everywhere. (Albert Einstein)</pre>
  </body>
</html>