セットアップの簡単な概要:
- 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 デーモンは、すべてのインターフェースでリッスンするように設定されているようです。困惑しています。