Portgrid Docs v0.1.36

Configurações recomendadas#

Aplicar o perfil recomendado#

O arquivo /opt/cgnat/bin/recommended-tuning.set reúne as opções que dependem do servidor:

configure
load merge /opt/cgnat/bin/recommended-tuning.set
compare
commit

Ele define governador de CPU performance, THP never e max-cstate 1; o restante é opcional (comentado no arquivo). Boa parte do ajuste já é automática (sysctl pelo hardware, filas/anéis/IRQs das NICs, conntrack desligado no tráfego encaminhado).

Proteções do dataplane (política)#

Campo Padrão Recomendação
packet_sanity ligado Manter
max_new_flows_per_second 5000 Reduzir (ex. 3000) se há clientes infectados frequentes; 0 desliga
max_sessions_per_subscriber 32768 Ajustar ao perfil do assinante; 0 desliga
host_protection ligado Manter; host_syn_pps 200, host_udp_pps 2000, host_icmp_pps 100
udp_eim desligado Ligar se há reclamação de jogos/chamadas/P2P
udp_full_cone desligado Só se necessário (NAT aberto para consoles); menos seguro
max_blocks_per_subscriber do pool 1–16; comece baixo e aumente por necessidade
fast-forward desligado Habilite por assinante para testar, depois geral; exige XDP nativo

NICs#

  • Uma fila por CPU do nó NUMA da placa (automático; CGNAT_NIC_QUEUES vazio).
  • Anel: CGNAT_NIC_RING_SIZE=4096 por padrão; meça antes de reduzir (anel maior tolera rajada; o custo é só memória, pouco relevante).
  • Perfil throughput (padrão) vs latency (set cgnat dataplane nic-profile latency).
  • Mesma placa/VLANs: um único CGNAT_NIC_INTERFACES com subinterfaces na política.

CPU e memória#

  • Servidor com 8+ CPUs: considere housekeeping-cpus 0-1 e isolated-cpus para as filas.
  • SMT: set system tuning smt disable se a latência previsível importa mais que as CPUs lógicas.
  • Reiniciar após mudar parâmetros de boot (isolcpus, max_cstate, nosmt).

Sistema#

  • Kernel 6.12 do Debian 13; não use o do backports. Firmware do stable é suficiente.
  • Não use TuneD (conflita com o tuning próprio).
  • Retenção do audit: 1 ano (mínimo legal e padrão). Mantenha backup externo de /var/lib/cgnat.
  • Firewall de entrada com default-action drop, liberando só as redes de gerência e established/related (veja Segurança).
  • commit-confirm sempre que mexer em interface/firewall por SSH.
  • Troque a senha operador no primeiro login (o sistema obriga) e crie contas individuais.
  • Ative a exportação remota de eventos (syslog) para um servidor de log separado.
  • Monitore com Prometheus (deploy/cgnat-alerts.yml) e a barra de alertas do painel.
Portgrid v0.1.36 · gerado em 04/10/2026 17:50 · © Portgrid · Documentação do produto.