如果有人能给我提示就好了。
介绍
所以我想用我的 Kubuntu 18.04.5 客户端(NetworkManager - Strongswan/Charon)连接到我的 IPsec-IKEv2(pfsense)服务器,它可以工作,但一段时间后 VPN 连接丢失,我必须重新连接。
细节
这很可能是第 2 阶段服务器端设置 PFS 密钥组的结果,我将其设置为 20(nist ecp384)。
charon-nm: 09[ENC] parsed CREATE_CHILD_SA request 160 [ N(REKEY_SA) N(ESP_TFC_PAD_N) SA No KE TSi TSr ]
charon-nm: 09[IKE] received ESP_TFC_PADDING_NOT_SUPPORTED, not using ESPv3 TFC padding
charon-nm: 09[CFG] received proposals: ESP:AES_CBC_256/HMAC_SHA2_256_128/ECP_384/NO_EXT_SEQ, ESP:AES_CBC_256/HMAC_SHA2_384_192/ECP_384/NO_EXT_SEQ, ESP:AES_CBC_256/HMAC_SHA2_512_256/ECP_384/NO_EXT_SEQ, ESP:AES_CBC_256/AES_XCBC_96/ECP_384/NO_EXT_SEQ, ESP:AES_GCM_16_128/ECP_384/NO_EXT_SEQ, ESP:AES_GCM_16_256/ECP_384/NO_EXT_SEQ
charon-nm: 09[CFG] configured proposals: ESP:AES_CBC_128/AES_CBC_192/AES_CBC_256/HMAC_SHA2_256_128/HMAC_SHA2_384_192/HMAC_SHA2_512_256/HMAC_SHA1_96/AES_XCBC_96/NO_EXT_SEQ
charon-nm: 09[IKE] no acceptable proposal found
charon-nm: 09[IKE] failed to establish CHILD_SA, keeping IKE_SA
charon-nm: 09[ENC] generating CREATE_CHILD_SA response 160 [ N(NO_PROP) ]
因此根据我的理解,在这 160创建子 SA请求 - 服务器发送,但客户端拒绝 - 服务器将终止连接。
因此,由于 vpn/隧道在服务器端取消,NetworkManager 将关闭连接。
charon-nm: 01[ENC] parsed INFORMATIONAL request 161 [ D ]
charon-nm: 01[IKE] received DELETE for ESP CHILD_SA with SPI c20484b4
charon-nm: 01[IKE] closing CHILD_SA VPN_NAME{287} with SPIs cb865a87_i (47815624 bytes) c20484b4_o (6028589 bytes) and TS 10.1.3.1/32 === 0.0.0.0/0
charon-nm: 01[IKE] sending DELETE for ESP CHILD_SA with SPI cb865a87
charon-nm: 01[IKE] CHILD_SA closed
charon-nm: 01[ENC] generating INFORMATIONAL response 161 [ D ]
charon-nm: 01[NET] sending packet: from <clientIP>[49309] to <serverIP>[4500] (69 bytes)
charon-nm: 12[IKE] deleting IKE_SA VPN[3] between <clientIP>[<username>]...<serverIP>[<servername>]
charon-nm: 12[IKE] sending DELETE for IKE_SA VPN_NAME[3]
charon-nm: 12[ENC] generating INFORMATIONAL request 6 [ D ]
NetworkManager[947]: <warn> [1607267447.9875] vpn-connection[0x55fd637ce510,45f0ac29-9f8f-46d6-adbe-e9e10e0ec5e3,"VPN_NAME",0]: VPN plugin: failed: connect-failed (1)
charon-nm: 12[NET] sending packet: from <clientIP>[49309] to <serverIP>[4500] (65 bytes)
NetworkManager[947]: <info> [1607267447.9875] vpn-connection[0x55fd637ce510,45f0ac29-9f8f-46d6-adbe-e9e10e0ec5e3,"VPN_NAME",0]: VPN plugin: state changed: stopping (5)
NetworkManager[947]: <info> [1607267447.9876] vpn-connection[0x55fd637ce510,45f0ac29-9f8f-46d6-adbe-e9e10e0ec5e3,"VPN_NAME",0]: VPN plugin: state changed: stopped (6)
由于有许多相互交织的部分,我不确定应该在哪里启用这个 PFS 组。
据我了解NetworkManager 或多或少是 GUI 与底层操作系统/软件包之间的接口又名。strongswan 负责 IPsec和charon 负责 IKEv2 密钥。
- 网络管理器将其连接特定信息存储在/etc/NetworkManager/system-connections/VPN 名称
- 斯特朗斯旺使用以下设置的配置:
- /etc/ipsec.conf和
- 从 4.2.1 版本开始在/etc/strongswan.conf
- 从 5.1.2 版本开始,它还使用 *配置文件目录中的文件/etc/strongswan.d/
- 和卡戎使用以下设置的配置:
- /etc/strongswan/charon*.conf
- /etc/strongswan/charon/*.conf
所以也许你在 DH/PFS 组中遇到了类似的问题,并且可以告诉我(困惑的人)我应该把哪个配置放在哪里。
更新:
根据@ecdsa 的提议我把配置改成了[vpn]
文件的部分/etc/NetworkManager/system-connections/VPN 名称:
proposal=yes
ike=aes256-sha256-ecp384
esp=aes256-sha256-ecp384
它似乎运行良好(一段时间内):
charon-nm: 06[ENC] parsed INFORMATIONAL request 19
charon-nm: 06[ENC] generating INFORMATIONAL response 19
但不幸的是,过了一会儿它就停止工作了,并且前面提到的序列再次出现,导致连接中断。
charon-nm: 14[ENC] parsed CREATE_CHILD_SA request 20 [ N(REKEY_SA) N(ESP_TFC_PAD_N) SA No KE TSi TSr ]
charon-nm: 14[IKE] received ESP_TFC_PADDING_NOT_SUPPORTED, not using ESPv3 TFC padding
charon-nm: 14[CFG] received proposals: ESP:AES_CBC_256/HMAC_SHA2_256_128/ECP_384/NO_EXT_SEQ, ESP:AES_CBC_256/HMAC_SHA2_384_192/ECP_384/NO_EXT_SEQ, ESP:AES_CBC_256/HMAC_SHA2_512_256/ECP_384/NO_EXT_SEQ, ESP:AES_CBC_256/AES_XCBC_96/ECP_384/NO_EXT_SEQ, ESP:AES_GCM_16_128/ECP_384/NO_EXT_SEQ, ESP:AES_GCM_16_256/ECP_384/NO_EXT_SEQ
charon-nm: 14[CFG] configured proposals: ESP:AES_CBC_128/AES_CBC_192/AES_CBC_256/HMAC_SHA2_256_128/HMAC_SHA2_384_192/HMAC_SHA2_512_256/HMAC_SHA1_96/AES_XCBC_96/NO_EXT_SEQ
charon-nm: 14[IKE] no acceptable proposal found
charon-nm: 14[IKE] failed to establish CHILD_SA, keeping IKE_SA
charon-nm: 14[ENC] generating CREATE_CHILD_SA response 20 [ N(NO_PROP) ]
总结
在利用 NetworkManager 的 Kubuntu 客户端中,在哪里为 IPSec IKEv2 配置 DH/PFS 组?
答案1
如果您确实想在 CHILD_SA 重新密钥期间使用 DH 组,则必须在客户端上更改提议。在 strongSwan 的 GNOME NetworkManager 插件(上游开发)中有一个选项。不确定 Plasma GUI(不是上游开发的)是否也提供了一个。如果没有,您可以尝试在 NM 配置文件中手动配置提议(设置proposal=yes
和esp=<proposal>
,例如esp=aes256-sha256-ecp384
)。
modpnone
您还可以通过配置不带 DH 组的提案或添加到现有提案,使 DH 交换在服务器上成为可选项。