Calico 网络支持 WireGuard 加密
Calico 支持对 IPv4 和 IPv6 流量进行 WireGuard 加密,可以通过 FelixConfiguration 资源中的参数独立启用。
目录
安装状态
默认安装
非默认安装
术语
注意事项
-
使用 Calico 网络插件时,请确保
natOutgoing参数设置为true,以支持 WireGuard 加密。默认情况下,创建集群时该参数已正确配置,无需额外配置。 -
WireGuard 支持对 IPv4 和 IPv6 流量进行加密;如果需要对两种类型的流量进行加密,则必须分别进行配置。有关详细的参数配置,请参阅 Felix 配置文档,配置
wireguardEnabled和wireguardEnabledV6两个参数。 -
如果 WireGuard 未默认安装,请参阅 WireGuard 安装指南 进行手动安装,尽管在某些情况下可能会出现 WireGuard 模块的手动安装失败。
-
跨节点的容器间流量将被加密,包括从一个主机到另一个主机的网络流量;但是,在同一节点的 Pods 之间及 Pod 与其宿主节点之间的通信将不会被加密。
先决条件
- 必须事先在集群中的所有节点上安装 WireGuard。有关详情,请参阅 WireGuard 安装文档。未安装 WireGuard 的节点不支持加密。
操作步骤
-
启用或禁用 IPv4 和 IPv6 加密。
注意:以下命令必须在节点所在的 Master 节点的 CLI 工具中执行。
-
仅启用 IPv4 加密
-
仅启用 IPv6 加密
-
启用 IPv4 和 IPv6 加密
-
同时禁用 IPv4 和 IPv6 加密
-
方法 1:在 CLI 工具中执行命令以禁用加密。
-
方法 2:修改 felixconfiguration 配置文件以禁用加密。
-
执行以下命令以打开 felixconfiguration 配置文件。
-
将
wireguardEnabled和wireguardEnabledV6参数设置为 false 以禁用 WireGuard 加密。
-
-
-
-
完成 Calico WireGuard 加密配置后,执行以下命令确认 WireGuard 加密状态。如果 IPv4 和 IPv6 加密均已启用,
Status字段下存在wireguardPublicKey或wireguardPublicKeyV6表示成功激活;如果 IPv4 和 IPv6 加密均已禁用,则这些字段不会包含wireguardPublicKey或wireguardPublicKeyV6,表示成功停用。输出:
结果验证
本文使用 IPv4 流量验证作为示例;IPv6 流量验证与 IPv4 类似,此处不再重复。
IPv4 流量验证
-
配置 WireGuard 加密后,检查路由信息,节点之间的流量优先使用 wireguard.cali 接口进行消息转发。
-
在节点上捕获数据包以观察跨节点流量。
-
测试表明 IPv4 类型流量通过 wireguard.cali 接口转发。