Registro de Endereçamento de Rede — fonte autoritativa de toda VLAN & subnet¶
Read in your language: English · Português · Español
Esta é a única fonte de verdade para endereçamento de rede. Onde qualquer outro documento (ARCHITECTURE, README, uma ADR, um comentário de manifest) discordar deste registro, este registro vence e o outro documento está stale. Ele foi criado (audit-v6 DOCS-ARCH) para encerrar o desacordo de três vias sobre o plano de management (
100.127.252.0/24VXLAN vs100.127.252.0/22VLAN 2777 vs10.254.254.0/24VLAN 99). Última verificação contra os manifests em v4.0.0.
1. Resumo dos planos¶
| Plano | Propósito | Portador | Subnet(s) | NetworkPolicy se aplica? |
|---|---|---|---|---|
| eth0 (OOBI/controle) | K8s flannel, dashboard, scrape do Prometheus, controle | NIC do node | cluster CIDR | sim |
| Data plane (net1) | Tráfego sob teste agente → NGFW → persona | Multus macvlan | ver tabela de VLANs | não (macvlan bypassa NetworkPolicy por design) |
| SNMP / DUT-management | Polling SNMP das interfaces mgmt do NGFW + Nexus | VLAN 99 | 10.254.254.0/24 |
sim (lado eth0) |
| Fabric OOBI | Orquestração Out-Of-Band Infrastructure entre MÓDULOs | VLAN 2777 | 100.127.252.0/24 + IPv6 ULA |
sim |
2. Registro de VLANs¶
| VLAN | Função | Subnet (IPv4) | IPv6 | Gateway | Notas |
|---|---|---|---|---|---|
| 20 | Agentes Playwright (dados) | 172.16.0.0/16 |
— | NGFW | Leg de carga browser-real |
| 30 | Agentes k6 (dados) | 172.17.0.0/16 |
— | NGFW | Leg de carga de volume |
| 40 | Egress ISP do Cloner | DHCP do roteador upstream | — | roteador ISP upstream | Único caminho para a Internet pública (k8s/80-cloner-nad.yaml) |
| 99 | SNMP / DUT-management | 10.254.254.0/24 |
— | 10.254.254.1 |
.2 Nexus MGMT0 · .3 NGFW mgmt · .10–.49 infra SNMP · .50–.82 orquestração de MÓDULOs |
| 101–120 | Personas — uma VLAN por país | /24 público por país (ver abaixo) |
dual-stack conforme ADR 0058 | VyOS-ISP (.1 por country LAN) |
5 personas por VLAN × 20 = 100 (61 baked-in + 39 cloned) |
| 1982 | Módulo peer OSPF (voltado ao DUT) | 200.130.0.8/30 |
2001:db8:0:1982::/126 |
— | k8s/dut/42-vlan1982-ospf-peer-nad.yaml |
| 2001 | Enlace outside do NGFW (edge) | 200.130.0.0/30 |
— | — | NGFW-outside .1 ↔ VyOS-inside .2; a única interface do NGFW no lado das personas em v4.3 (edge_link em platform/network/public-ip-pool.yaml) |
| 2777 | Fabric OOBI (controle) | 100.127.252.0/24 |
fd5a:7c5e:a72::/64 (ULA) |
fabric | 802.1Q puro — sem VXLAN (ADR 0043 supersedeu o modelo VXLAN da ADR 0019) |
| 2809 | Módulo peer BGP (voltado ao DUT) | 200.130.0.12/30 |
2001:db8:0:2809::/126 |
— | Feed eBGP full-table sintético para o NGFW (k8s/dut/41-vlan2809-bgp-peer-nad.yaml); nunca origina prefixos do pool |
2.1 Endereçamento superseded (NÃO usar)¶
- ❌ VXLAN VNI
254254sobre UDP/4789 — o overlay OOBI foi removido pela ADR 0043. A fabric OOBI agora é uma VLAN 802.1Q pura (2777). Qualquer doc ainda descrevendo VXLAN para OOBI está stale. - ❌
100.127.252.0/24na "VLAN 99" — a VLAN 99 agora é SNMP/DUT-management (10.254.254.0/24). A subnet OOBI100.127.252.0/24mudou para a VLAN 2777. - ❌ Subnets RFC1918 de persona
10.1.x.0/27/10.2.x.0/27(VLANs 200–209) — o modelo v4.2. Substituído por/24público por país (ADR 0007 / schema v4.3). Nunca use RFC1918 para personas.
3. Pool de IPs públicos das personas (VLANs 101–120)¶
As personas carregam /24s públicos reais, um país por VLAN, alocados de
platform/network/public-ip-pool.yaml
e validados em pre-flight por tools/validate-ip-pool.sh
(invariante BGP no-announce + WHOIS/GeoIP/DNSBL). Exemplos:
| País | VLAN | Prefixo (exemplo) |
|---|---|---|
| US | 101 | 198.32.10.0/24 |
| CN | 102 | 202.112.10.0/24 |
| NG | … | 196.32.0.0/24 |
| … (20 países no total) | 101–120 | ver public-ip-pool.yaml |
O módulo de gateway BGP (VyOS + FRR) é o default gateway das personas; ele mantém um invariante de no-announce para que o espaço público emprestado nunca seja anunciado fora do lab.
Alocação de hosts por país (como gerada): .1 = gateway VyOS-ISP; a persona
i (0-based, ordem do personas.yaml dentro do país) possui o bloco IPAM
disjunto .{10+10i}–.{19+10i} do /24 do seu país — bloco 0 = .10–.19
(ex.: shop em 198.32.10.10), bloco 4 = .50–.59 (ver qualquer
personas/_generated/<name>/network-attachment.yaml). O primeiro endereço do
bloco é o IP primário do pod; o resto é headroom de réplicas, e o certificado
de cada persona carrega IP SANs apenas do seu próprio bloco. Blocos disjuntos
são o que mantém os alocadores host-local por-persona livres de colisão —
antes do fix, todo NAD de persona de um país compartilhava um range .2–.30
com alocador independente, então dois pods na mesma VLAN de país podiam
receber o mesmo IP. .60–.254 fica reservado para crescimento futuro
(allocation_convention no public-ip-pool.yaml).
4. Como manter este registro correto¶
- Quando um manifest mudar uma subnet/VLAN, atualize a linha aqui no mesmo PR.
- ADRs que mudam endereçamento (0007, 0043, 0058) devem apontar de volta para este registro.
- Um check de doc-drift deve grepar pelos valores superseded da §2.1 e falhar se eles reaparecerem fora deste arquivo.