網路隔離和安全性

適用于: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 全部。 執行這些舊版的使用者可以使用 (埠轉送) 來建立輸入 ALLOW 規則 docker run -p

Hyper-V 隔離

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

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

具有防火牆的 Hyper-V 隔離

Kubernetes Pod

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

Kubernetes Pod 網路功能

自訂預設連接埠 ACL

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

注意

針對透明和 NAT 模式中的 Hyper-V 隔離,目前您無法重新設定預設埠 ACL,下表中的 「X」 會反映此埠 ACL:

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