共用方式為


網路隔離和安全性

適用於:Windows Server 2022、Windows Server 2019、Windows Server 2016

使用網路命名空間隔離

每個容器端點都會放在它自己的 網路命名空間中,。 管理主機虛擬網路適配器和主機網路堆疊位於預設網路命名空間中。 若要在相同主機上的容器之間強制執行網路隔離,系統會為每個 Windows Server 容器建立網路命名空間,並在容器的網路適配器安裝所在的 Hyper-V 隔離下執行。 Windows Server 容器會使用主機虛擬網路適配器來連結至虛擬交換器。 Hyper-V 隔離會使用合成 VM 網路配接器(未暴露於工具程式 VM)來連接至虛擬交換器。

使用綜合 VM 網路適配器的 Hyper-V 隔離

執行下列 Powershell Cmdlet 以取得通訊協定堆疊中的所有網路區間:

Get-NetCompartment

網路安全性

根據所使用的容器和網路驅動程式而定,埠 ACL 會由 Windows 防火牆和 Azure 虛擬篩選平臺 (VFP)的組合強制執行。

Windows Server 容器

下列值會使用 Windows 主機的防火牆(結合網路命名空間運作)以及 VFP:

  • 默認輸出:允許全部
  • 默認輸入:允許全部(TCP、UDP、ICMP、IGMP)不請求的網路流量
    • 拒絕所有未來自這些通訊協定的其他網路流量

注意

在 Windows Server 版本 1709 和 Windows 10 Fall Creators Update 之前,預設輸入規則為 DENY 全部。 執行這些舊版的使用者可以使用 docker run -p 建立輸入 ALLOW 規則(埠轉送)。

Hyper-V 隔離

在 Hyper-V 隔離中執行的容器有自己的隔離核心,因此,使用下列組態執行自己的 Windows 防火牆實例:

  • 在 Windows 防火牆(執行於公用程式 VM)和 VFP 中,預設設置為 ALLOW ALL。

進行 Hyper-V 隔離,並使用防火牆

Kubernetes Pods

Kubernetes Pod中,會先建立基礎結構容器,以連結端點。 屬於相同 Pod 的容器,包括基礎結構容器和工作容器,共享相同的網路命名空間(例如相同的 IP 和埠空間)。

Kubernetes Pod 網路功能

自定義預設埠 ACL

如果您想要修改預設埠 ACL,請先檢閱 主機網路服務 主題,再變更埠。 您必須在下列元件內更新原則:

注意

針對透明和 NAT 模式中的 Hyper-V 隔離,您目前無法重新設定預設的埠 ACL,這在下表中以「X」顯示出來。

網路驅動程式 Windows Server 容器 Hyper-V 隔離
透明 Windows 防火牆 X
NAT Windows 防火牆 X
L2Bridge 兩者 VFP
L2Tunnel 兩者 VFP
覆蓋 兩者 VFP