ligbox-ops-platform/specs/028-openpanel-ce-ligbox-reengineering/DNS53_OPENPANEL_PORTA53.md
Ligbox Spec Hub c1881f58e6 chore: sync Console SSO, DNS viewer, specs e infra docs pendentes
Inclui console handoff Desk↔Console (Spec 019), melhorias DNS Viewer (037),
OpenPanel/Nextcloud/VM116 deploy notes, contracts stack e sidebar actualizado.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-25 20:10:17 +00:00

7.8 KiB
Raw Blame History

OpenPanel VM123 — DNS público porta 53 (BIND)

Spec: 028 — OpenPanel CE Ligbox Re-engenharia
Data incidente/resolução: 2026-06-22
Solicitante: Roger
Status: Resolvido e persistido
VM: VM123 (10.10.10.123) · IP DNS público: 95.216.14.162:53

Relatório operacional completo: ../../exec-reports/EXEC_DNS53_PROXMOX_20260622_v3_FINAL.md
Runbook rede Proxmox: ../../docs/network/ORIENTACAO_DNS53_PROXMOX_20260622.md


1. Papel do OpenPanel / BIND na VM123

O OpenPanel gere zonas DNS autoritativas dos clientes Ligbox. O serviço público corre em Docker:

Item Valor
Container openpanel_dns
Imagem ubuntu/bind9:latest
Porta host 0.0.0.0:53 (UDP/TCP) via docker-proxy
IP LAN 10.10.10.123
Rede Docker root_openpanel_network · container 172.20.0.2
Tipo Autoritativo (não recursivo)

Zonas validadas (exemplos):

Zona Teste Resultado
betinplace.com dig @10.10.10.123 betinplace.com MX 10 mail.betinplace.com.
diarissima.com dig @10.10.10.123 diarissima.com MX 0 diarissima.com.
ligbox.com.br dig @10.10.10.123 ligbox.com.br NS registos autoritativos OK
google.com dig @10.10.10.123 google.com REFUSED (esperado)

Glue Cloudflare (delegação Ligbox):

NS A
ns1.ligbox.com.br 95.216.14.162
ns2.ligbox.com.br 95.216.14.162

2. Arquitectura end-to-end (OpenPanel + Proxmox)

Cliente / Internet
       │
       ▼
95.216.14.162:53  ← IP público (Proxmox big1, glue DNS)
       │  PREROUTING DNAT (Proxmox vmbr0)
       ▼
10.10.10.123:53   ← VM123 openpanel_dns (BIND Docker)
       │  resposta para 10.10.10.254 (SNAT ida Proxmox)
       ▼
reverse NAT → cliente recebe resposta de 95.216.14.162 ✅

OpenPanel UI (:2083) ──► gere zonas ──► openpanel_dns (:53)
pfSense VM100 WAN 95.216.14.146 — NÃO é origem correcta do DNS público

Importante para OpenPanel: o painel e o BIND partilham a VM123, mas o acesso público à porta 53 é terminado no Proxmox (DNAT + SNAT). Problemas de timeout externo são quase sempre rede/NAT, não configuração de zona no OpenPanel.


3. Sintoma (2026-06-22)

Observação Detalhe
Externo nslookup betinplace.com 95.216.14.162timeout (Windows Roger)
LAN directo BIND dig @10.10.10.123OK
OpenPanel / zonas Correctas no BIND
Causa Resposta DNS saía com IP 95.216.14.146 (pfSense) em vez de 95.216.14.162

4. Tentativas incorrectas (não repetir)

Tentativa Impacto OpenPanel/DNS
DNAT Proxmox → 10.0.0.2:53 Timeout — WAN pfSense legada inactiva
DNAT → 10.10.10.1:53 Respostas Unbound LAN, não BIND OpenPanel
DNAT directo + MASQUERADE -d 10.10.10.123:53 Timeout — retorno quebrado
DNAT → 95.216.14.146:53 (pfSense) Resposta com src 146, cliente descarta
Policy routing VM123 (Docker) Ineficaz — tráfego BIND passa pela bridge Docker

5. Solução final (activa)

5.1 Proxmox (/etc/network/interfaces)

# Entrada :53 → VM123 OpenPanel BIND
iptables -t nat -A PREROUTING -i vmbr0 -d 95.216.14.162 -p udp --dport 53 \
  -j DNAT --to-destination 10.10.10.123:53
iptables -t nat -A PREROUTING -i vmbr0 -d 95.216.14.162 -p tcp --dport 53 \
  -j DNAT --to-destination 10.10.10.123:53

# SNAT ida — permite retorno como 95.216.14.162
iptables -t nat -A POSTROUTING -d 10.10.10.123 -p udp --dport 53 ! -s 10.10.10.0/24 \
  -j SNAT --to-source 10.10.10.254
iptables -t nat -A POSTROUTING -d 10.10.10.123 -p tcp --dport 53 ! -s 10.10.10.0/24 \
  -j SNAT --to-source 10.10.10.254

# FORWARD retorno BIND → Internet
iptables -I FORWARD 4 -s 10.10.10.123 -p udp --sport 53 ! -d 10.10.10.0/24 -j ACCEPT
iptables -I FORWARD 5 -s 10.10.10.123 -p tcp --sport 53 ! -d 10.10.10.0/24 -j ACCEPT

5.2 Regra removida (crítica)

Em /etc/iptables/rules.v4não reactivar:

#-A POSTROUTING -o vmbr4000 -j MASQUERADE

5.3 VM123 — sem alteração permanente necessária

O container openpanel_dns mantém-se standard. Default gateway VM123 = 10.10.10.1 (pfSense) para tráfego geral; o retorno DNS público é tratado pelo conntrack Proxmox após SNAT ida 10.10.10.254.


6. Validação (pós-fix)

# Directo BIND OpenPanel
dig @10.10.10.123 betinplace.com MX +short

# Via IP público (como cliente externo)
dig @95.216.14.162 betinplace.com MX +short
dig @95.216.14.162 diarissima.com MX +short

# Windows
nslookup betinplace.com 95.216.14.162
nslookup -type=mx diarissima.com 95.216.14.162

Resultado Roger (Windows 2026-06-22): respostas recebidas.


7. Diagnóstico rápido (OpenPanel / porta 53)

# 1. Container BIND activo?
ssh root@10.10.10.123 "docker ps --filter name=openpanel_dns"

# 2. BIND responde local?
ssh root@10.10.10.123 "dig @127.0.0.1 betinplace.com MX +short"

# 3. Tráfego externo chega?
ssh root@10.10.10.123 "timeout 10 tcpdump -ni eth0 udp port 53 -c 5"

# 4. SNAT Proxmox activo?
iptables -t nat -L POSTROUTING -n -v | grep "10.10.10.123.*53"

# 5. Resposta sai de 162 (não 146)?
tcpdump -ni vmbr4000 udp port 53 and host 10.10.10.123
Sintoma Provável causa Acção
@10.10.10.123 OK, @162 timeout NAT Proxmox Rever DNAT + SNAT ida
Container down OpenPanel stack docker restart openpanel_dns
Zona wrong OpenPanel DNS UI Rever zona no painel, não NAT
REFUSED google.com Normal BIND autoritativo only

8. Pendências OpenPanel / delegação

Item Estado Acção
Glue ns1/ns2.ligbox.com.br → 162 Cloudflare
betinplace.com NS no registrador ⚠️ Pendente Apontar para ns1/ns2.ligbox.com.br
pfSense port forward WAN :53 → 123 Redundante Limpeza opcional (IDs 6366)
Documentação Spec 028 Este ficheiro

9. Impacto no fluxo OpenPanel

Fluxo Porta 53
Cliente consulta site via DNS público Depende de @95.216.14.162
OpenPanel domains-add / gestão zona Escreve no BIND local (openpanel_dns)
FOSSBilling → bridge → hosting Não afectado directamente
Email / MX records Servidos pelo mesmo BIND — validar MX após fix

Ao provisionar novo domínio no OpenPanel:

  1. Criar zona no painel (comportamento normal OpenPanel)
  2. Validar: dig @10.10.10.123 novo-dominio.com MX
  3. Validar público: dig @95.216.14.162 novo-dominio.com MX
  4. No registrador: NS → ns1.ligbox.com.br / ns2.ligbox.com.br

10. Referências Spec 028

Documento Conteúdo
spec.md OpenPanel CE re-engenharia geral
DNS53_OPENPANEL_PORTA53.md Este documento
CONFIRMACAO-TESTE-API.md Teste API multidomínio
../../exec-reports/EXEC_DNS53_PROXMOX_20260622_v3_FINAL.md Incidente completo Proxmox
../../docs/network/ORIENTACAO_DNS53_PROXMOX_20260622.md Runbook rede
Spec 037 DNS multi-conta Cloudflare (orquestração)

11. Regras de ouro (OpenPanel + DNS53)

  1. DNS público Ligbox/OpenPanel = 95.216.14.162:53 → VM123 BIND
  2. Nunca assumir pfSense WAN 10.0.0.2 — usar 95.216.14.146 (vmbr0)
  3. SNAT ida 10.10.10.254 no Proxmox é obrigatório
  4. Não usar MASQUERADE -o vmbr4000 nem MASQUERADE -d 10.10.10.123:53
  5. Testar zonas autoritativas do OpenPanel, não domínios recursivos
  6. Alterar /etc/network/interfaces Proxmox só com backup + aprovação Roger

Spec 028 · VM130 spec-hub · OpenPanel DNS porta 53 · 2026-06-22