Não é possível ver portas docker de máquinas externas ao usar uma interface veth com um OPNSense KVM

Não é possível ver portas docker de máquinas externas ao usar uma interface veth com um OPNSense KVM

Resumo rápido da configuração:

  • Ubuntu Server 20.04 com 4 portas de rede
  • Roteador OPNsense rodando em libvirt KVM
  • Uma porta é WAN, três portas são LAN (em ponte)
  • Roteador funciona muito bem
  • Servidor (o mesmo que executa o OPNsense) obtém acesso à LAN e à Internet por VETH através da ponte LAN
  • Os serviços são executados em várias portas do servidor e máquinas externas podem acessá-los
  • PROBLEMA: Se estiver executando um serviço no Docker, as portas de serviço podem ser vistas pelo servidor, mas não por outras máquinas na LAN (o nmap as mostra como "filtradas")
  • Isso é resolvido configurando o contêiner docker para ser executado no modo "host", o que obviamente é abaixo do ideal, já que o mapeamento de portas não é mais possível

Por que máquinas externas não conseguem ver as portas expostas pelo docker nesta configuração? Entendo que é uma configuração de rede complicada e provavelmente há alguma rota faltando entre as VLANs do docker e a ponte VETH, mas tudo que verifiquei parece bom. O daemon do Docker parece estar configurado para escutar em todas as interfaces. Estou perdido.

informação relacionada