环境:
# uname -a
Linux shrimpwagon 3.16.0-4-amd64 #1 SMP Debian 3.16.39-1+deb8u1 (2017-02-22) x86_64 GNU/Linux
我已经安装了:
# apt-get install strongswan xl2tpd
我正在尝试连接到 Meraki VPN。我与 Meraki 技术人员交谈,他说它看起来没有进行身份验证,但没有给我更多细节:
# ipsec up L2TP-PSK
generating QUICK_MODE request 2711688330 [ HASH SA No ID ID NAT-OA NAT-OA ]
sending packet: from 10.0.0.4[4500] to 50.123.152.194[4500] (252 bytes)
received packet: from 50.123.152.194[4500] to 10.0.0.4[4500] (68 bytes)
parsed INFORMATIONAL_V1 request 2555305796 [ HASH N(NO_PROP) ]
received NO_PROPOSAL_CHOSEN error notify
establishing connection 'L2TP-PSK' failed
ipsec.conf:
config setup
virtual_private=%v4:10.0.0.0/8
# nat_traversal=yes
protostack=auto
oe=off
plutoopts="--interface=eth0"
conn L2TP-PSK
keyexchange=ikev1
ike=aes128-sha1-modp1024,3des-sha1-modp1024!
phase2=ah
phase2alg=aes128-sha1-modp1024,3des-sha1-modp1024!
authby=secret
aggrmode=yes
pfs=no
auto=add
keyingtries=2
# dpddelay=30
# dpdtimeout=120
# dpdaction=clear
# rekey=yes
ikelifetime=8h
keylife=1h
type=transport
left=%defaultroute
# leftnexthop=%defaultroute
# leftprotoport=udp/l2tp
right=50.123.152.194
rightsubnet=10.2.150.0/24
ipsec.秘密:
%any %any : PSK "****"
xl2tpd.conf:
[lac vpn-connection]
lns = 50.123.152.194
;refuse chap = yes
;refuse pap = no
;require authentication = yes
;name = vpn-server
ppp debug = yes
pppoptfile = /etc/ppp/options.l2tpd.client
length bit = yes
选项.l2tpd.client:
ipcp-accept-local
ipcp-accept-remote
refuse-eap
require-mschap-v2
noccp
noauth
idle 1800
mtu 1410
mru 1410
defaultroute
usepeerdns
debug
lock
connect-delay 5000
name swelch
password ****
我的大部分说明都是从这个网站获得的:
https://www.elastichosts.com/blog/linux-l2tpipsec-vpn-client/
我确实必须将其置于积极模式,指定 ikev1 并设置 ike 算法。完成此操作后,我就可以开始与 MX 通信。但我现在收到了这个错误,我完全不知所措。
提前致谢!
答案1
作为 Meraki 客户端 VPN 进行连接时,它仅支持已从 Strongswan 默认协议协商列表中删除的协议(因为 SWEET32 生日攻击可能针对其中某些协议),因此您必须明确指定它们(如您所言)。
如果您ike-scan
在 Meraki“服务器”上安装并运行它,sudo ipsec stop; sudo service xl2tpd stop; sudo ike-scan YOUR.SERVER.IP
您可以看到默认协议是什么。我相当有信心它3des-sha1-modp1024
就像你上面一样,尽管在我的(NetworkManager)生成的 ipsec.conf 中我没有phase2
和phase2alg
行,但是有一个esp
.
这是我的工作配置中的协议片段:
keyexchange=ikev1
ike=3des-sha1-modp1024!
esp=3des-sha1!
旁注:这可能对你来说并不重要,因为你使用的是 CLI,但我使用 PPA 作为 L2TP 的 NM 插件,ppa:nm-l2tp/network-manager-l2tp
在我的 NetworkManager GUI 中它引用了Phase 1
和Phase 2
,但在生成的 ipsec 配置中,这些映射到ike
以上esp
。我用过这个博客文章
答案2
当我上次这样做时,NO_PROPOSAL_CHOSEN
我必须确保MTU
上面显示的设置符合我的系统的预期。我在系统日志中的其他错误行中发现了它。