7.12. 在绑定中配置 ESP 硬件卸载以加快 IPsec 连接
将封装安全负载(ESP)卸载到硬件可加速 IPsec 连接。如果出于故障转移原因而使用网络绑定,配置 ESP 硬件卸载的要求和流程与使用常规以太网设备的要求和流程不同。例如,在这种情况下,您可以对绑定启用卸载支持,内核会将设置应用到绑定的端口。
先决条件
- 
						绑定中的所有网卡都支持 ESP 硬件卸载。使用 ethtool -k <interface_name> | grep "esp-hw-offload"命令验证每个绑定端口是否都支持此功能。
- 绑定已配置且可以正常工作。
- 
						该绑定使用 active-backup模式。绑定驱动程序不支持此功能的任何其他模式。
- IPsec 连接已配置且可以正常工作。
流程
- 对网络绑定启用 ESP 硬件卸载支持: - nmcli connection modify bond0 ethtool.feature-esp-hw-offload on - # nmcli connection modify bond0 ethtool.feature-esp-hw-offload on- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 这个命令在对 - bond0连接启用 ESP 硬件卸载支持。
- 重新激活 - bond0连接:- nmcli connection up bond0 - # nmcli connection up bond0- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 编辑应使用 ESP 硬件卸载的连接的 - /etc/ipsec.d/目录中的 Libreswan 配置文件,并将- nic-offload=yes语句附加到连接条目:- conn example ... nic-offload=yes- conn example ... nic-offload=yes- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 重启 - ipsec服务:- systemctl restart ipsec - # systemctl restart ipsec- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
验证
验证方法取决于各种方面,如内核版本和驱动程序。例如,某些驱动程序提供计数器,但它们的名称可能会有所不同。详情请查看您的网络驱动程序的文档。
				以下验证步骤适用于 Red Hat Enterprise Linux 8 上的 ixgbe 驱动程序:
			
- 显示绑定的活动端口: - grep "Currently Active Slave" /proc/net/bonding/bond0 - # grep "Currently Active Slave" /proc/net/bonding/bond0 Currently Active Slave: enp1s0- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 显示活动端口的 - tx_ipsec和- rx_ipsec计数器:- ethtool -S enp1s0 | grep -E "_ipsec" - # ethtool -S enp1s0 | grep -E "_ipsec" tx_ipsec: 10 rx_ipsec: 10- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 通过 IPsec 隧道发送流量。例如,ping 远程 IP 地址: - ping -c 5 remote_ip_address - # ping -c 5 remote_ip_address- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 再次显示活动端口的 - tx_ipsec和- rx_ipsec计数器:- ethtool -S enp1s0 | grep -E "_ipsec" - # ethtool -S enp1s0 | grep -E "_ipsec" tx_ipsec: 15 rx_ipsec: 15- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 如果计数器值增加了,ESP 硬件卸载正常工作。