設定的快速摘要:
- 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 守護程式似乎配置為偵聽所有介面。我不知所措。