使用带有 OPNSense KVM 的 veth 接口时无法看到来自外部机器的 docker 端口

使用带有 OPNSense KVM 的 veth 接口时无法看到来自外部机器的 docker 端口

设置简要概述:

  • 具有 4 个网络端口的 Ubuntu Server 20.04
  • 在 libvirt KVM 中运行的 OPNsense 路由器
  • 一个端口为 WAN,三个端口为 LAN(桥接)
  • 路由器很好用
  • 服务器(运行 OPNsense 的同一台服务器)通过 LAN 桥接器通过 VETH 访问 LAN 和互联网
  • 服务在服务器上的各个端口上运行,外部机器可以访问它们
  • 问题:如果在 Docker 中运行服务,服务器可以看到服务端口,但 LAN 上的其他机器看不到(nmap 将它们显示为“已过滤”)
  • 通过将 Docker 容器设置为在“主机”模式下运行来解决此问题,这显然不是最优的,因为不再可能进行端口映射

为什么在此设置中外部机器看不到 docker 公开的端口?我知道这是一个复杂的网络设置,docker VLAN 和 VETH 桥之间可能缺少一些路由,但我检查的所有内容看起来都很好。Docker 守护程序似乎已配置为监听所有接口。我很困惑。

相关内容