После обновления с UDM Base 1.8.3 до 1.8.4 (а потом до 1.8.5) мои Chromebook перестали подключаться к настроенному L2TP VPN. (Андроид-устройства работают отлично.) Я пробовал удалить и заново добавить VPN-конфигурацию — безуспешно.
Я зашел в свой UDM и посмотрел логи strongswan во время попытки подключения с Chromebook:
# swanctl --log
07[NET] получен пакет: от 192.168.xxx.xxx[500] до xxx.xxx.xxx.xxx[500] (340 байт)
07[ENC] разобран запрос ID_PROT 0 [ SA V V V V V ]
07[IKE] получен XAuth vendor ID
07[IKE] получен DPD vendor ID
07[IKE] получен FRAGMENTATION vendor ID
07[IKE] получен NAT-T (RFC 3947) vendor ID
07[IKE] получен draft-ietf-ipsec-nat-t-ike-02\n vendor ID
07[IKE] 192.168.xxx.xxx инициирует Main Mode IKE_SA
07[CFG] выбрано предложение: IKE:AES_CBC_128/HMAC_SHA2_256_128/PRF_HMAC_SHA2_256/ECP_256
07[ENC] создается ответ ID_PROT 0 [ SA V V V V ]
07[NET] отправлен пакет: от xxx.xxx.xxx.xxx[500] до 192.168.xxx.xxx[500] (160 байт)
14[NET] получен пакет: от 192.168.xxx.xxx[500] до xxx.xxx.xxx.xxx[500] (204 байт)
14[ENC] разобран запрос ID_PROT 0 [ KE No NAT-D NAT-D ]
14[IKE] выбранная DH-группа не поддерживается
14[ENC] создается запрос INFORMATIONAL_V1 2005817844 [ N(INVAL_KE) ]
14[NET] отправлен пакет: от xxx.xxx.xxx.xxx[500] до 192.168.xxx.xxx[500] (56 байт)
Похоже, выбранное предложение IKE AES_CBC_128/HMAC_SHA2_256_128/PRF_HMAC_SHA2_256/ECP_256 использует неподдерживаемую DH-группу (ECP_256).
Я проверил загруженные алгоритмы strongswan и не нашел среди них алгоритмов Elliptic Curve modulo a Prime (ECP):
# swanctl --list-algs
[...]
dh:
MODP_3072[gmp]
MODP_4096[gmp]
MODP_6144[gmp]
MODP_8192[gmp]
MODP_2048[gmp]
MODP_2048_224[gmp]
MODP_2048_256[gmp]
MODP_1536[gmp]
MODP_1024[gmp]
MODP_1024_160[gmp]
MODP_768[gmp]
MODP_CUSTOM[gmp]
CURVE_25519[curve25519]
[...]
Я решил отредактировать файл /run/strongswan/ipsec.d/tunnels/l2tpServer-ipsec.ipsec.l2tp.config. Удалил предложение aes128-sha256-ecp256 из строк конфигурации ike= и esp=, затем перезагрузил конфигурацию (ipsec reload).
После этого Chromebook снова подключаются к VPN:
# swanctl --log
12[NET] получен пакет: от 192.168.xxx.xxx[500] до xxx.xxx.xxx.xxx[500] (340 байт)
12[ENC] разобран запрос ID_PROT 0 [ SA V V V V V ]
12[IKE] получен XAuth vendor ID
12[IKE] получен DPD vendor ID
12[IKE] получен FRAGMENTATION vendor ID
12[IKE] получен NAT-T (RFC 3947) vendor ID
12[IKE] получен draft-ietf-ipsec-nat-t-ike-02\n vendor ID
12[IKE] 192.168.xxx.xxx инициирует Main Mode IKE_SA
12[CFG] выбрано предложение: IKE:AES_CBC_128/HMAC_SHA1_96/PRF_HMAC_SHA1/MODP_2048
12[ENC] создается ответ ID_PROT 0 [ SA V V V V ]
12[NET] отправлен пакет: от xxx.xxx.xxx.xxx[500] до 192.168.xxx.xxx[500] (160 байт)
14[NET] получен пакет: от 192.168.xxx.xxx[500] до xxx.xxx.xxx.xxx[500] (372 байт)
14[ENC] разобран запрос ID_PROT 0 [ KE No NAT-D NAT-D ]
14[ENC] создается ответ ID_PROT 0 [ KE No NAT-D NAT-D ]
14[NET] отправлен пакет: от xxx.xxx.xxx.xxx[500] до 192.168.xxx.xxx[500] (372 байт)
11[NET] получен пакет: от 192.168.xxx.xxx[500] до xxx.xxx.xxx.xxx[500] (76 байт)
11[ENC] разобран запрос ID_PROT 0 [ ID HASH ]
11[CFG] найден pre-shared ключ для peer config, совпадающего с xxx.xxx.xxx.xxx...192.168.xxx.xxx[192.168.xxx.xxx]
11[CFG] выбрана конфигурация peer "l2tpServer-ipsec"
11[IKE] IKE_SA l2tpServer-ipsec[3] установлено между xxx.xxx.xxx.xxx[xxx.xxx.xxx.xxx]...192.168.xxx.xxx[192.168.xxx.xxx]
11[IKE] запланирована повторная аутентификация через 2614s
11[IKE] максимальный срок жизни IKE_SA — 3154s
11[ENC] создается ответ ID_PROT 0 [ ID HASH ]
11[NET] отправлен пакет: от xxx.xxx.xxx.xxx[500] до 192.168.xxx.xxx[500] (76 байт)
15[NET] получен пакет: от 192.168.xxx.xxx[500] до xxx.xxx.xxx.xxx[500] (332 байт)
15[ENC] разобран запрос QUICK_MODE 1146646700 [ HASH SA No ID ID ]
15[CFG] выбрано предложение: ESP:AES_CBC_128/HMAC_SHA2_256_128/NO_EXT_SEQ
15[ENC] создается ответ QUICK_MODE 1146646700 [ HASH SA No ID ID ]
15[NET] отправлен пакет: от xxx.xxx.xxx.xxx[500] до 192.168.xxx.xxx[500] (172 байт)
06[NET] получен пакет: от 192.168.xxx.xxx[500] до xxx.xxx.xxx.xxx[500] (60 байт)
06[ENC] разобран запрос QUICK_MODE 1146646700 [ HASH ]
06[IKE] CHILD_SA l2tpServer-ipsec{1} установлено с SPI c0f3c7cf_i ca8a66ca_o и TS xxx.xxx.xxx.xxx/32[udp/1701] === 192.168.xxx.xxx/32[udp/1701]
06[CHD] updown:
06[CHD] updown: без ответа
05[KNL] 10.255.255.0 появилось на ppp100000
10[KNL] 10.255.255.0 исчезло с ppp100000
14[KNL] 10.255.255.0 появилось на ppp100000
10[KNL] интерфейс l2tp0 активирован
Теперь Chromebook проходя фазу IKE используют AES_CBC_128/HMAC_SHA1_96/PRF_HMAC_SHA1/MODP_2048.
Похоже, что в новой версии что-то поменяли, и ubios-udapi-server стал генерировать конфигурацию с предложениями шифрования, которые strongswan в 1.8.4 не поддерживает. Так как файл конфигурации генерируется автоматически, иногда приходится повторять редактирование и перезагрузку, чтобы восстановить доступ к VPN. Не нашел способа сохранить мои изменения в системной конфигурации.
Есть ли способ сделать изменения постоянными или обновить набор предложений, которые генерирует API-сервер?
Заранее спасибо!
Я зашел в свой UDM и посмотрел логи strongswan во время попытки подключения с Chromebook:
# swanctl --log
07[NET] получен пакет: от 192.168.xxx.xxx[500] до xxx.xxx.xxx.xxx[500] (340 байт)
07[ENC] разобран запрос ID_PROT 0 [ SA V V V V V ]
07[IKE] получен XAuth vendor ID
07[IKE] получен DPD vendor ID
07[IKE] получен FRAGMENTATION vendor ID
07[IKE] получен NAT-T (RFC 3947) vendor ID
07[IKE] получен draft-ietf-ipsec-nat-t-ike-02\n vendor ID
07[IKE] 192.168.xxx.xxx инициирует Main Mode IKE_SA
07[CFG] выбрано предложение: IKE:AES_CBC_128/HMAC_SHA2_256_128/PRF_HMAC_SHA2_256/ECP_256
07[ENC] создается ответ ID_PROT 0 [ SA V V V V ]
07[NET] отправлен пакет: от xxx.xxx.xxx.xxx[500] до 192.168.xxx.xxx[500] (160 байт)
14[NET] получен пакет: от 192.168.xxx.xxx[500] до xxx.xxx.xxx.xxx[500] (204 байт)
14[ENC] разобран запрос ID_PROT 0 [ KE No NAT-D NAT-D ]
14[IKE] выбранная DH-группа не поддерживается
14[ENC] создается запрос INFORMATIONAL_V1 2005817844 [ N(INVAL_KE) ]
14[NET] отправлен пакет: от xxx.xxx.xxx.xxx[500] до 192.168.xxx.xxx[500] (56 байт)
Похоже, выбранное предложение IKE AES_CBC_128/HMAC_SHA2_256_128/PRF_HMAC_SHA2_256/ECP_256 использует неподдерживаемую DH-группу (ECP_256).
Я проверил загруженные алгоритмы strongswan и не нашел среди них алгоритмов Elliptic Curve modulo a Prime (ECP):
# swanctl --list-algs
[...]
dh:
MODP_3072[gmp]
MODP_4096[gmp]
MODP_6144[gmp]
MODP_8192[gmp]
MODP_2048[gmp]
MODP_2048_224[gmp]
MODP_2048_256[gmp]
MODP_1536[gmp]
MODP_1024[gmp]
MODP_1024_160[gmp]
MODP_768[gmp]
MODP_CUSTOM[gmp]
CURVE_25519[curve25519]
[...]
Я решил отредактировать файл /run/strongswan/ipsec.d/tunnels/l2tpServer-ipsec.ipsec.l2tp.config. Удалил предложение aes128-sha256-ecp256 из строк конфигурации ike= и esp=, затем перезагрузил конфигурацию (ipsec reload).
После этого Chromebook снова подключаются к VPN:
# swanctl --log
12[NET] получен пакет: от 192.168.xxx.xxx[500] до xxx.xxx.xxx.xxx[500] (340 байт)
12[ENC] разобран запрос ID_PROT 0 [ SA V V V V V ]
12[IKE] получен XAuth vendor ID
12[IKE] получен DPD vendor ID
12[IKE] получен FRAGMENTATION vendor ID
12[IKE] получен NAT-T (RFC 3947) vendor ID
12[IKE] получен draft-ietf-ipsec-nat-t-ike-02\n vendor ID
12[IKE] 192.168.xxx.xxx инициирует Main Mode IKE_SA
12[CFG] выбрано предложение: IKE:AES_CBC_128/HMAC_SHA1_96/PRF_HMAC_SHA1/MODP_2048
12[ENC] создается ответ ID_PROT 0 [ SA V V V V ]
12[NET] отправлен пакет: от xxx.xxx.xxx.xxx[500] до 192.168.xxx.xxx[500] (160 байт)
14[NET] получен пакет: от 192.168.xxx.xxx[500] до xxx.xxx.xxx.xxx[500] (372 байт)
14[ENC] разобран запрос ID_PROT 0 [ KE No NAT-D NAT-D ]
14[ENC] создается ответ ID_PROT 0 [ KE No NAT-D NAT-D ]
14[NET] отправлен пакет: от xxx.xxx.xxx.xxx[500] до 192.168.xxx.xxx[500] (372 байт)
11[NET] получен пакет: от 192.168.xxx.xxx[500] до xxx.xxx.xxx.xxx[500] (76 байт)
11[ENC] разобран запрос ID_PROT 0 [ ID HASH ]
11[CFG] найден pre-shared ключ для peer config, совпадающего с xxx.xxx.xxx.xxx...192.168.xxx.xxx[192.168.xxx.xxx]
11[CFG] выбрана конфигурация peer "l2tpServer-ipsec"
11[IKE] IKE_SA l2tpServer-ipsec[3] установлено между xxx.xxx.xxx.xxx[xxx.xxx.xxx.xxx]...192.168.xxx.xxx[192.168.xxx.xxx]
11[IKE] запланирована повторная аутентификация через 2614s
11[IKE] максимальный срок жизни IKE_SA — 3154s
11[ENC] создается ответ ID_PROT 0 [ ID HASH ]
11[NET] отправлен пакет: от xxx.xxx.xxx.xxx[500] до 192.168.xxx.xxx[500] (76 байт)
15[NET] получен пакет: от 192.168.xxx.xxx[500] до xxx.xxx.xxx.xxx[500] (332 байт)
15[ENC] разобран запрос QUICK_MODE 1146646700 [ HASH SA No ID ID ]
15[CFG] выбрано предложение: ESP:AES_CBC_128/HMAC_SHA2_256_128/NO_EXT_SEQ
15[ENC] создается ответ QUICK_MODE 1146646700 [ HASH SA No ID ID ]
15[NET] отправлен пакет: от xxx.xxx.xxx.xxx[500] до 192.168.xxx.xxx[500] (172 байт)
06[NET] получен пакет: от 192.168.xxx.xxx[500] до xxx.xxx.xxx.xxx[500] (60 байт)
06[ENC] разобран запрос QUICK_MODE 1146646700 [ HASH ]
06[IKE] CHILD_SA l2tpServer-ipsec{1} установлено с SPI c0f3c7cf_i ca8a66ca_o и TS xxx.xxx.xxx.xxx/32[udp/1701] === 192.168.xxx.xxx/32[udp/1701]
06[CHD] updown:
06[CHD] updown: без ответа
05[KNL] 10.255.255.0 появилось на ppp100000
10[KNL] 10.255.255.0 исчезло с ppp100000
14[KNL] 10.255.255.0 появилось на ppp100000
10[KNL] интерфейс l2tp0 активирован
Теперь Chromebook проходя фазу IKE используют AES_CBC_128/HMAC_SHA1_96/PRF_HMAC_SHA1/MODP_2048.
Похоже, что в новой версии что-то поменяли, и ubios-udapi-server стал генерировать конфигурацию с предложениями шифрования, которые strongswan в 1.8.4 не поддерживает. Так как файл конфигурации генерируется автоматически, иногда приходится повторять редактирование и перезагрузку, чтобы восстановить доступ к VPN. Не нашел способа сохранить мои изменения в системной конфигурации.
Есть ли способ сделать изменения постоянными или обновить набор предложений, которые генерирует API-сервер?
Заранее спасибо!
