Branch Office Simulation — runbook do operador¶
Outras línguas: English · Português · Español
Status do escopo (pós-congelamento de escopo 2026-05-10) — Ver ARCHITECTURE.md para os 37 MÓDULOs canônicos + 7 Test Kinds + arquitetura de safety DOM/CPOS/PIE-PA. ADRs 0014, 0019-0025 cobrem adições pós-Freeze.
Resumo¶
Branch Office Simulation (BO) permite rodar os test plans existentes Q1-Q4 sob restrições reais de banda WAN — 100 Mbps cabo, 50/10 DSL, 1 Gbps fibra, qualquer coisa que o cliente tenha. O shaper fica no roteador VyOS-ISP e aplica rate limits bidirecionais e assimétricos no edge da operadora simulada, expondo o comportamento do NGFW sob condições reais de ISP.
Para o design completo, ver ADR 0008.
O que faz¶
Quando BO é habilitado num test plan, o test-run engine:
- Chama
scripts/bo-shape.sh --down-mbps N --up-mbps MANTES dos agentes - O script faz
kubectl execno pod VyOS e aplica VyOS QoS: - Shaper de egress em
eth1capando saída em--down-mbps - Shaper de ingress em
eth1(viaifb0) capando entrada em--up-mbps - Roda
scripts/bo-verify.shpra confirmar shaper aplicado E medir capacidade real vs solicitada (baseline iperf3 de 5s) - Lança os agentes (browser-engine/synthetic-load) — eles batem no teto da banda
- No cleanup, chama
scripts/bo-unshape.shpra remover o shaping - Annex J no relatório atesta a taxa solicitada vs medida + contadores por direção
Quando usar¶
- Pré-venda: cliente diz "minhas filiais têm 100 Mbps fibra, NGFW vai aguentar?"
- Capacity planning: provar que NGFW funciona na velocidade real do link
- Regressão: pegar bugs de buffer/queueing que só aparecem sob pressão de banda
- Rigor metodológico: cliente exige baseline RFC-2544/6349 sob a banda real
Input de banda¶
Free-form — sem presets fixos. Operador digita o valor exato que o ISP entrega.
| Cenário | Down | Up |
|---|---|---|
| DSL rural / home office | 25 Mbps | 5 Mbps |
| Cabo SMB | 100 Mbps | 30 Mbps |
| MPLS mid-market | 200 Mbps | 200 Mbps |
| Fibra de filial | 500 Mbps | 500 Mbps |
| HQ regional dedicado | 1 Gbps | 1 Gbps |
| Datacenter peering | 10 Gbps | 10 Gbps |
Apenas digite o que o cliente tem — sem mapeamento pra preset.
Como usar pelo dashboard¶
- Escolha um quadrante normalmente (Q1, Q2, Q3, Q4)
- No novo seletor Environment:
Environment: ○ Datacenter (sem shaping, default atual) ● Branch Office Simulation Down: [_____] [Mbps▾] Up: [_____] [Mbps▾] - Digite os valores de down + up
- Clique Run Test Plan
Dashboard valida (range, tipo), passa ao engine, engine cuida do resto.
CLI¶
scripts/bo-shape.sh --down-mbps 100 --up-mbps 30
scripts/bo-verify.sh
# Output:
# Layer J — Branch Office Simulation: PASS
# Configurado: down=100Mbps up=30Mbps
# Medido : down=98.7Mbps up=29.4Mbps (delta dentro de 5%)
scripts/bo-unshape.sh
O que NÃO está incluso¶
Por design, BO faz apenas bandwidth shaping. NÃO inclui no v4.4:
- Injeção de latência — mascararia comportamento de latência do NGFW sob queueing com latência artificial. Trabalho futuro.
- Injeção de packet loss — confundiria perda do ISP com buffer overrun do NGFW. Trabalho futuro.
- Jitter — mesma razão. Trabalho futuro.
- Per-flow shaping — shaper único global por direção.
- AQM (fq_codel, cake) — usa HTB + bfifo plain pra expor o comportamento de buffer do NGFW, não inteligência de queue do VyOS.
Workflow do operador¶
Após cada test plan com BO¶
- Run completa OK → Annex J populado, sem ação necessária.
- Run aborta no verifier → checar dashboard preflight panel. Causas comuns:
- VyOS pod não acessível
- Taxa configurada acima da capacidade do NIC físico
- Verifier mediu >10% off (gating production bloqueia; observational avisa)
Bypass emergencial¶
export BO_GATING=observational
# Ou no UI: selecionar "Datacenter (no shaping)"
Default é production (bloqueia em falha). Override só quando entender PORQUÊ.
Composição com o resto da bancada¶
- Q1-Q4 — ortogonal. Qualquer quadrante × qualquer banda.
- Inspection Profile (v4.5) — ortogonal.
- Annex G layer 5 (L2 BPDU) — independente.
- NetFlow/IPFIX (v4.7) — compõe (BO + NetFlow mostra flow records sob banda).
- SDWAN+Cloud On-Ramp (v4.8) — compõe profundamente (túnel SD-WAN pela mesma WAN shapeada).
Referências¶
- ADR 0008 —
docs/ADR/0008-branch-office-simulation.md - VyOS QoS docs — https://docs.vyos.io/en/latest/configuration/trafficpolicy/
- Scripts —
scripts/bo-shape.sh,bo-verify.sh,bo-unshape.sh(PR-B) - Annex J template —
dashboard/templates/annex-j-branch-office.md.tmpl(PR-D)