SPEC — Architecture B: Rede Privada Proxmox BIG (vmbr0/vmbr1/vmbr2)
Data: 2026-07-08
Responsável: Roger / iTecnologys
Host: Dell R630 BIG — big-itecnologys-wardrobe
Status: Implementado (fase 1)
1. Objetivo
Proteger infraestrutura de servidores no BIG sem alterar o Sagemcom (.254):
- Rede casa (
192.168.1.0/24) — gestão e uplink
- Rede privada (
10.10.10.0/24) — VMs, Traefik, Tunnel, Wazuh, mail
- pfSense VM 100 — firewall entre zonas
- Cloudflare Tunnel — acesso externo sem expor IP (fase 2)
Não objetivo: firewall de toda a casa (TV, telemóveis, PCs no Sagemcom).
2. Topologia física
Internet
│
Sagemcom (.254) ← inalterado (DHCP, firewall ISP)
├── Smart TV, PCs, IoT
└── R8000 (.115) → R7000 DD-WRT (.1) → eno3 (1 cabo)
│
Dell R630 BIG
| Regra física |
Detalhe |
| 1 cabo |
eno3 → porta LAN R7000 |
| eno4 DOWN |
Evitar loop L2 (STP off no DD-WRT) |
| Sem VLAN no R8000 |
Stock não faz trunk — isolamento é virtual no Proxmox |
3. Switches virtuais (Proxmox bridges)
| Bridge |
Rede |
Porta física |
Função |
| vmbr0 |
192.168.1.0/24 |
eno3 |
Casa — host .137, uplink internet |
| vmbr1 |
10.10.10.0/24 |
nenhuma |
Privada — VMs serviços |
| vmbr2 |
10.0.0.0/30 |
nenhuma |
Link interno host ↔ pfSense WAN |
Host BIG
| Campo |
Valor |
| IP gestão (vmbr0) |
192.168.1.137/24 |
| Gateway |
192.168.1.254 |
| IP privado (vmbr1) |
10.10.10.1/24 |
| pfSense WAN (vmbr2) |
10.0.0.1/30 → pfSense 10.0.0.2 |
| Tailscale |
100.90.196.58 |
| SSH remoto |
tailscale ssh root@big-itecnologys-wardrobe |
| Proxmox GUI |
https://192.168.1.137:8006 |
4. pfSense VM 100 (pfsense-firewall)
| NIC |
Bridge |
Função |
| net0 |
vmbr1 |
LAN privada 10.10.10.0/24 |
| net1 |
vmbr2 |
WAN interna 10.0.0.0/30 |
| net2 |
vmbr0 |
Interface casa (opcional/gestão) |
Configuração pfSense (GUI)
| Interface |
IP |
Notas |
| LAN (vmbr1) |
10.10.10.1/24 |
DHCP 10.10.10.100-200 |
| WAN (vmbr2) |
10.0.0.2/30 |
Gateway 10.0.0.1 |
| DNS |
192.168.1.254 ou 1.1.1.1 |
Via NAT host |
Regras firewall essenciais
| Regra |
Ação |
| LAN → Internet |
ALLOW |
LAN → 192.168.1.0/24 |
BLOCK (isolamento) |
| Casa → LAN |
ALLOW só portas gestão necessárias |
| Inbound WAN casa → VMs |
BLOCK (usar Cloudflare Tunnel) |
5. VMs e serviços por bridge
| VMID |
Nome |
Bridge |
IP típico |
| 100 |
pfsense-firewall |
vmbr1+vmbr2+vmbr0 |
10.10.10.1 |
| 120 (LXC) |
web-traefik |
vmbr1 |
10.10.10.120 |
| 101-108, 500, 600, 700 |
serviços |
vmbr1 |
10.10.10.x |
Regra: VMs sensíveis (Traefik, Tunnel, Wazuh, mail) só em vmbr1.
6. Isolamento host (iptables)
Já aplicado em /etc/network/interfaces (vmbr1 post-up):
FORWARD: DROP 10.10.10.0/24 → !10.10.10.0/24
FORWARD: ACCEPT 10.10.10.0/24 → UDP/53 (DNS)
Persistência: /etc/network/interfaces.d/99-arch-b-private
7. Nginx reverse proxy (host BIG)
Domínios *.myvexx.com no host nginx (:80 / 192.168.1.137:443):
server.myvexx.com → proxy_pass http://10.10.10.120:80 (Traefik CT120)
| Ficheiro |
Função |
myvexx-proxy |
HTTP :80 → Traefik |
myvexx-landing-https |
HTTPS server/mycloud → Traefik |
myvexx-proxmox |
proxmox.myvexx.com → :8006 |
8. Cloudflare Tunnel (fase 2)
| Item |
Valor |
| Objetivo |
Acesso externo sem port forward |
| Instalar em |
LXC/VM só em vmbr1 |
| DNS |
Cloudflare zone myvexx.com |
| Token |
Configurar em CT120 ou VM dedicada |
9. Equipamentos LAN
| Device |
IP |
Doc |
| Sagemcom |
.254 |
Gateway casa |
| R8000 |
.115 |
SPEC_R8000_CREDENTIALS.md |
| R7000 DD-WRT |
.1 |
SPEC_R7000_DDWRT_CREDENTIALS.md |
| BIG |
.137 |
Este documento |
10. Validação
# No BIG (via Tailscale)
ip addr show vmbr1 | grep 10.10.10.1
ip link show eno4 | grep DOWN
ping -c2 10.10.10.120
ping -c2 8.8.8.8
qm list | grep pfsense
iptables -L FORWARD -n | grep 10.10.10
# Teste local nginx
curl -sI -H 'Host: server.myvexx.com' http://127.0.0.1/
11. Fases de implementação
| Fase |
Estado |
Conteúdo |
| 1 |
✅ Feito |
vmbr1 10.10.10.1, eno4 down, iptables, persistência |
| 2 |
Pendente |
pfSense GUI — DHCP LAN, regras finais |
| 3 |
Pendente |
Cloudflare Tunnel (substituir port forward) |
| 4 |
Opcional |
Proxmox :8006 só via Tailscale/vmbr1 |
| 5 |
Opcional |
VLAN física se R8000 DD-WRT no futuro |
12. Troubleshooting
| Sintoma |
Causa provável |
Ação |
| Rede cai ao ligar 2º cabo |
Loop L2 eno3+eno4 |
eno4 DOWN, 1 cabo |
| SSH LAN falha |
Tailscale SSH ativo |
tailscale set --ssh=false |
| server.myvexx.com fora |
DNS → IP casa + port forward |
Ver secção DNS abaixo |
| VMs sem internet |
pfSense WAN/LAN |
Verificar VM100 |
13. DNS server.myvexx.com
| Campo |
Valor |
| DNS público |
server.myvexx.com → 51.171.219.218 (IP casa) |
| myvexx.com |
→ 95.216.14.146 (Hetzner) |
| Backend local |
nginx → 10.10.10.120 (OK internamente) |
| Acesso externo |
Requer port forward Sagemcom :80/:443 → .137 |
Documento gerado automaticamente — Architecture B BIG Proxmox