К вашему сведению, я думаю, что сейчас я в правильном сообществе. Начат в StackOverflow, поскольку он связан с моим приложением, но больше относится к стороне сервера.
Как бы то ни было, у меня был настроен Strongswan VPN (Ubuntu 18.04) для внутреннего бизнес-приложения iOS. VPN обрабатывалась программно. С бета-версией iOS 14 перестало работать. Это был мой ipsec.conf:
# ipsec.conf - strongSwan IPsec configuration file
# basic configuration
config setup
charondebug="ike 1, knl 1, cfg 0"
uniqueids=no
conn ikev2-vpn
auto=add
compress=no
type=tunnel
keyexchange=ikev2
fragmentation=yes
forceencaps=yes
ike=aes256-sha1-modp1024,3des-sha1-modp1024!
esp=aes256-sha1,3des-sha1!
dpdaction=clear
dpddelay=300s
rekey=no
left=%any
leftid=<MY_IP>
leftsubnet=0.0.0.0/0
right=%any
rightid=%any
rightdns=8.8.8.8,8.8.4.4
rightsourceip=10.10.10.0/24
authby=secret
Поскольку он продолжал работать на устройствах iOS 13, я подумал, что это ошибка.Но после отправки проблемы в приложении Feedback они сказали мне, что поддерживаемые типы шифров были обновлены в iOS 14 (конечно, полностью недокументированы). Публикация на форуме разработчиков ( https://developer.apple.com/forums/thread/659209 ), наконец, привела меня к следующим новым поддерживаемым шифрам:
ENCR_AES_CBC
PRF_HMAC_SHA2_256
AUTH_HMAC_SHA2_256_128
2048 bit MODP Group / Diffie-Hellman Group (D-H)
Но как мне реализовать это в моем ipsec .conf? Я пробовал следующее, но все равно не работает:
# ipsec.conf - strongSwan IPsec configuration file
# basic configuration
config setup
charondebug="ike 1, knl 1, cfg 0"
uniqueids=no
conn ikev2-vpn
auto=add
compress=no
type=tunnel
keyexchange=ikev2
fragmentation=yes
forceencaps=yes
ike=aes256-sha2_256-modp2048!
esp=aes256-prfsha256-modp2048!
dpdaction=clear
dpddelay=300s
rekey=no
left=%any
leftid=<MY_IP>
leftsubnet=0.0.0.0/0
right=%any
rightid=%any
rightdns=8.8.8.8,8.8.4.4
rightsourceip=10.10.10.0/24
authby=secret
Я считаю, что настройки ike предназначены для обмена ключами и, следовательно, должны отражать «AUTH» в поддерживаемых выше шифрах. Я ухожу? Что я могу прочитать, чтобы лучше все это понять?
Попробуйте эту настройку в ipsec.conf
########################################################
# ipsec.conf - strongSwan IPsec configuration file
# basic configuration
config setup
charondebug="ike 1, knl 1, cfg 0"
uniqueids=no
conn ikev2-vpn
auto=add
compress=no
type=tunnel
keyexchange=ikev2
fragmentation=yes
forceencaps=yes
ike=aes256-sha2_256-modp2048!
esp=aes256-prfsha256-modp2048!
dpdaction=clear
dpddelay=300s
rekey=no
left=%any
leftid=<MY_IP>
leftsubnet=0.0.0.0/0
right=%any
rightid=%any
rightdns=8.8.8.8,8.8.4.4
rightsourceip=10.10.10.0/24
conn IOS-VPN
also="ikev2-vpn"
leftauth=psk
rightauth=eap-mschapv2
rightsendcert=never