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>
7.8 KiB
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.162 → timeout (Windows Roger) |
| LAN directo BIND | dig @10.10.10.123 → OK |
| 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.v4 — nã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 63–66) |
| 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:
- Criar zona no painel (comportamento normal OpenPanel)
- Validar:
dig @10.10.10.123 novo-dominio.com MX - Validar público:
dig @95.216.14.162 novo-dominio.com MX - 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)
- DNS público Ligbox/OpenPanel =
95.216.14.162:53→ VM123 BIND - Nunca assumir pfSense WAN
10.0.0.2— usar95.216.14.146(vmbr0) - SNAT ida
10.10.10.254no Proxmox é obrigatório - Não usar
MASQUERADE -o vmbr4000nemMASQUERADE -d 10.10.10.123:53 - Testar zonas autoritativas do OpenPanel, não domínios recursivos
- Alterar
/etc/network/interfacesProxmox só com backup + aprovação Roger
Spec 028 · VM130 spec-hub · OpenPanel DNS porta 53 · 2026-06-22