將 veth 介面與 OPNSense KVM 結合使用時,無法從外部電腦看到 docker 端口

將 veth 介面與 OPNSense KVM 結合使用時,無法從外部電腦看到 docker 端口

設定的快速摘要:

  • Ubuntu Server 20.04,附 4 個網路連接埠
  • 在 libvirt KVM 中執行的 OPNsense 路由器
  • 1 個連接埠為 WAN,3 個連接埠為 LAN(橋接)
  • 路由器效果很好
  • 伺服器(同一台運行 OPNsense 的伺服器)透過 LAN 橋接器透過 VETH 存取 LAN 和互聯網
  • 服務運行在伺服器的各個連接埠上,外部機器可以存取它們
  • 問題:如果在 Docker 中執行服務,服務連接埠可以被伺服器看到,但不能從 LAN 上的其他機器看到(nmap 將它們顯示為「已過濾」)
  • 這是透過將 docker 容器設定為在「主機」模式下運行來解決的,這顯然是次優的,因為連接埠映射不再可能

為什麼在此設定中外部機器看不到 docker 公開的連接埠?我知道這是一個複雜的網路設置,而且 docker VLAN 和 VETH 橋之間可能缺少一些路由,但我檢查過的所有內容看起來都很好。 Docker 守護程式似乎配置為偵聽所有介面。我不知所措。

相關內容