OPNSense KVM で veth インターフェースを使用すると、外部マシンから Docker ポートが表示されない

OPNSense KVM で veth インターフェースを使用すると、外部マシンから Docker ポートが表示されない

セットアップの簡単な概要:

  • 4 つのネットワーク ポートを備えた Ubuntu Server 20.04
  • libvirt KVM で動作する OPNsense ルーター
  • 1 つのポートは WAN、3 つのポートは LAN (ブリッジ)
  • ルーターはうまく機能する
  • サーバー(OPNsenseを実行しているものと同じ)は、LANブリッジを介してVETHによってLANとインターネットにアクセスします。
  • サービスはサーバー上のさまざまなポートで実行され、外部のマシンからアクセスできます。
  • 問題: Docker でサービスを実行している場合、サービス ポートはサーバーからは見えますが、LAN 上の他のマシンからは見えません (nmap では「フィルター済み」として表示されます)
  • これは、dockerコンテナを「ホスト」モードで実行するように設定することで解決されますが、ポートマッピングができなくなるため、明らかに最適ではありません。

この設定では、なぜ外部マシンは docker によって公開されたポートを見ることができないのでしょうか? 複雑なネットワーク設定であることは理解しており、docker VLAN と VETH ブリッジ間のルートがいくつか欠落している可能性がありますが、私が確認した限りでは問題はありません。Docker デーモンは、すべてのインターフェースでリッスンするように設定されているようです。困惑しています。

関連情報