无法从Linux(Ubuntu)连接到SonicWall VPN

我试图从Linux(Ubuntu)使用StrongSwan连接到SonicWall VPN。 我可以使用使用共享密钥的SonicWall全球VPN客户端从Windows计算机进行连接。 以下是使用该客户端进行连接的说明: 新建连接向导 预共享密钥配置 连接属性 MC21-哥伦比亚

在Linux中,我会使用StrongSwan:

local> ipsec --version Linux strongSwan U5.3.5/K4.4.0-72-generic Institute for Internet Technologies and Applications University of Applied Sciences Rapperswil, Switzerland 

我的/etc/ipsec.conf如下

 conn name-for-connection right=201.xxx.yyy.zzz,201.aaa.bbb.ccc rightsubnet=172.16.0.0/12 rightid=@place_id left=%any xauth_identity=myuser keyexchange=ikev2 authby=psk ike=aes256-sha1-modp2048 esp=aes256-sha1-modp2048 auto=start 

/etc/ipsec.secret有条目:

 @place_id : PSK "Sh4r3d53cr37" myuser : XAUTH "mYp455w0rd" 

当运行命令sudo ipsec up name-for-connection我得到以下输出:

 initiating IKE_SA name-for-connection[3] to 201.xxx.yyy.zzz generating IKE_SA_INIT request 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) N(HASH_ALG) ] sending packet: from 192.168.0.eee[500] to 201.xxx.yyy.zzz[500] (1460 bytes) received packet: from 201.xxx.yyy.zzz[500] to 192.168.0.eee[500] (38 bytes) parsed IKE_SA_INIT response 0 [ N(INVAL_KE) ] peer didn't accept DH group MODP_2048, it requested MODP_1024 initiating IKE_SA name-for-connection[3] to 201.xxx.yyy.zzz generating IKE_SA_INIT request 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) N(HASH_ALG) ] sending packet: from 192.168.0.eee[500] to 201.xxx.yyy.zzz[500] (1332 bytes) received packet: from 201.xxx.yyy.zzz[500] to 192.168.0.eee[500] (317 bytes) parsed IKE_SA_INIT response 0 [ SA KE No CERTREQ N(NATD_S_IP) N(NATD_D_IP) V ] local host is behind NAT, sending keep alives sending cert request for "C=NL, O=Example Company, CN=strongSwan Root CA" no IDi configured, fall back on IP address authentication of '192.168.0.eee' (myself) with pre-shared key establishing CHILD_SA name-for-connection generating IKE_AUTH request 1 [ IDi N(INIT_CONTACT) CERTREQ IDr AUTH SA TSi TSr N(MOBIKE_SUP) N(ADD_4_ADDR) N(EAP_ONLY) ] sending packet: from 192.168.0.eee[4500] to 201.xxx.yyy.zzz[4500] (372 bytes) retransmit 1 of request with message ID 1 sending packet: from 192.168.0.eee[4500] to 201.xxx.yyy.zzz[4500] (372 bytes) retransmit 2 of request with message ID 1 sending packet: from 192.168.0.eee[4500] to 201.xxx.yyy.zzz[4500] (372 bytes) retransmit 3 of request with message ID 1 sending packet: from 192.168.0.eee[4500] to 201.xxx.yyy.zzz[4500] (372 bytes) sending keep alive to 201.xxx.yyy.zzz[4500] retransmit 4 of request with message ID 1 sending packet: from 192.168.0.eee[4500] to 201.xxx.yyy.zzz[4500] (372 bytes) sending keep alive to 201.xxx.yyy.zzz[4500] sending keep alive to 201.xxx.yyy.zzz[4500] retransmit 5 of request with message ID 1 sending packet: from 192.168.0.eee[4500] to 201.xxx.yyy.zzz[4500] (372 bytes) sending keep alive to 201.xxx.yyy.zzz[4500] sending keep alive to 201.xxx.yyy.zzz[4500] sending keep alive to 201.xxx.yyy.zzz[4500] giving up after 5 retransmits peer not responding, trying again (2/3) establishing connection 'name-to-connection' failed 

那么,我该如何debugging这个连接或者如何build立呢?

首先,您的IKE设置不匹配。 您要求modp2048,这是DH组14,但SonicWall请求modp1024,这是DH组2。

您可能还会受到以下错误的影响。 StrongSwan 5.3.5不适用于SonicWALL IKEv1 / XAuth防火墙:

https://wiki.strongswan.org/issues/1434

https://bugs.launchpad.net/ubuntu/+source/strongswan/+bug/1608302

虽然这个错误是针对IKEv1的,但是由于您使用的是XAUTH,所以也可能会影响到您。 问题是由于在请求用户名之后但在请求密码之前由防火墙发送的消息。 这个bug在StrongSwan 5.5.0中得到修复。 不幸的是,如果你使用的是Ubuntu 16.04 LTS,那么我知道没有为Ubuntu 16.04构build的5.5.0版本。 有一个报告,你可以find谷歌search有人报告说,他们已经成功地在Ubuntu 16.04build设5.5.​​x成功。

另一种方法是使用VirtualBox,设置Windows来宾,在来宾中安装SonicWall GVPN客户端,并将SonicWall VPN适配器连接共享回您的Ubuntu主机。 我现在正在这样做。 设置是棘手的,但一旦解决,直接做,它的作品。 如果有兴趣,我可以发表我的方法。