網路隔離和安全性
適用于:Windows Server 2022、Windows Server 2019、Windows Server 2016
使用網路命名空間隔離
每個容器端點會放在自己的網路命名空間中。 管理主機虛擬網路介面卡和主機網路堆疊位於預設網路命名空間中。 若要在相同主機上強制執行容器之間的網路隔離,系統會為每個 Windows Server 容器建立網路命名空間,並在安裝容器網路介面卡的 Hyper-V 隔離下執行容器。 Windows Server 容器會使用主機虛擬網路介面卡連結至虛擬交換器。 Hyper-V 隔離會使用綜合 VM 網路介面卡 (未公開至公用程式 VM) 以連結至虛擬交換器。
執行下列 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。
Kubernetes Pod
在 Kubernetes Pod中,會先建立要連結端點的基礎結構容器。 屬於相同 Pod 的容器,包括基礎結構和背景工作容器,會共用常見的網路命名空間 (,例如相同的 IP 和埠空間) 。
自訂預設連接埠 ACL
如果您想要修改預設埠 ACL,請先檢閱 主機網路服務 主題,再變更埠。 您必須更新下列元件內的原則:
注意
針對透明和 NAT 模式中的 Hyper-V 隔離,目前您無法重新設定預設埠 ACL,下表中的 「X」 會反映此埠 ACL:
網路驅動程式 | Windows Server 容器 | Hyper-V 隔離 |
---|---|---|
透明 | Windows 防火牆 | X |
NAT | Windows 防火牆 | X |
L2Bridge | 兩者 | VFP |
L2Tunnel | 兩者 | VFP |
重疊 | 兩者 | VFP |