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.