工作中我们必须使用Dell的SonicWall NetExtender软件来连接公司的VPN。有些人使用 Windows 和承包商(比如我自己),使用任何东西,在我的例子中是 Manjaro(基于 Arch 的)Linux。问题是我似乎是唯一无法通过客户端或 CLI 连接的人。发生的情况是连接永远挂在Connecting to tunnel
。
诊断输出:
netExtender log
:
08/31/2017 10:01:32.792 [connect warn 4847] SSL_get_peer_certificate: err= (success?) self signed certificate in certificate chain
08/31/2017 10:01:32.793 [general notice 4847] Connected.
08/31/2017 10:01:32.793 [general notice 4847] Logging in...
08/31/2017 10:01:32.886 [general notice 4847] Login successful.
08/31/2017 10:01:32.928 [general error 4847] Version header not found
08/31/2017 10:01:32.928 [epc info 4847] Server don't support EPC check. Just pass EPC check
08/31/2017 10:01:33.047 [general notice 4847] SSL Connection is ready
08/31/2017 10:01:34.049 [general info 4847] Using new PPP frame encoding mechanism
08/31/2017 10:01:34.050 [general info 4847] Using PPP async mode (chosen by server)
08/31/2017 10:01:34.050 [general info 4847] Connecting tunnel...
无论我让它运行多久,它都会保持这种状态,没有错误或超时。
journalctl -u NetworkManager
似乎没有ppp
或任何相关的有用输出。
journalctl -b --no-pager | grep pppd
:
aug 31 10:01:34 daniel-pc pppd[4893]: pppd 2.4.7 started by daniel, uid 1000
aug 31 10:01:34 daniel-pc pppd[4893]: Using interface ppp0
aug 31 10:01:34 daniel-pc pppd[4893]: Connect: ppp0 <--> /dev/pts/1
aug 31 10:01:34 daniel-pc pppd[4893]: Cannot determine ethernet address for proxy ARP
aug 31 10:01:34 daniel-pc pppd[4893]: local IP address <local ip>
aug 31 10:01:34 daniel-pc pppd[4893]: remote IP address <remote ip>
aug 31 10:19:46 daniel-pc pppd[4893]: Modem hangup
aug 31 10:19:46 daniel-pc pppd[4893]: Connect time 18.2 minutes.
aug 31 10:19:46 daniel-pc pppd[4893]: Sent 80 bytes, received 0 bytes.
aug 31 10:19:46 daniel-pc pppd[4893]: Connection terminated.
aug 31 10:19:46 daniel-pc pppd[4893]: Exit.
一旦我终止netExtender
进程就会发生这种情况。相同的过程之前也适用于相同操作系统和 Windows 的前一部分,这就是为什么我怀疑其他地方存在问题。
输出uname -a
:Linux daniel-pc 4.9.44-1-MANJARO #1 SMP PREEMPT Thu Aug 17 08:23:52 UTC 2017 x86_64 GNU/Linux
答案1
在尝试了几种不同的修复方法后,都没有效果,我终于在 Gentoo 论坛上看到了一篇关于同一问题的论坛帖子。问题似乎在于某些文件的命名不正确,因此需要创建符号链接才能成功连接。链接到线程。
要创建符号链接以成功连接 NetExtender,您需要:
cd /etc/ppp/ip-up.d
ln -s sslvpnroute sslvpnroute.sh
这应该可以让你通过这一Connecting to tunnel...
部分。连接后,NetExtender 将创建一个名为sslvpnroutecleanup
.您还需要链接此文件,因此
cd /etc/ppp/ip-down.d
ln -s sslvpnroutecleanup sslvpnroutecleanup.sh
请注意,只有成功连接到路线后才能执行此操作。这些步骤为我解决了这个问题。
答案2
安装 NetExtender 后,它会修补 ppp 配置文件。这些补丁是特定于发行版的。当发行版更新 ppp 时,将恢复原始配置。此后,NetExtender 将完全停止处理这些症状(停止于Connecting tunnel...
)。解决方案是重新安装 NetExtender。