OpenConnect 只能工作一次

OpenConnect 只能工作一次

我正在使用开放连接来创建拆分 VPN 连接。效果很好...第一次。如果 openconnect 进程终止,后续尝试似乎会成功,但让我无法实际访问 VPN 后面的任何内容。暂时重新启动可以让 openconnect 再次工作,但我希望能够打开和关闭 VPN,而不必每次都重新启动。

我认为问题与 VPN 连接的关闭/清理不当有关,但这超出了我的深度,我不知道我在做什么。发生了什么以及如何修复它或设置一个允许我多次启动和停止 VPN 连接而无需重新启动的系统。当 VPN 工作和不工作时,route 都会产生相同的输出。

这是我用来连接的脚本:

sudo openvpn --mktun --dev tun1 && \
sudo ifconfig tun1 up && \
sudo /usr/sbin/openconnect -s $VPNSCRIPT $VPNURL --user=$VPNUSER --authgroup=$VPNGRP --interface=tun1
sudo ifconfig tun1 down
openvpn --rmtun --dev tun1

其中$VPNSCRIPT是默认 vpnc 脚本的包装器,用于设置分割 VPN 的环境:

#!/bin/sh

# 将一个IP添加到分割隧道列表中
添加 IP ()
{
    导出 CISCO_SPLIT_INC_${CISCO_SPLIT_INC}_ADDR=$1
    导出 CISCO_SPLIT_INC_${CISCO_SPLIT_INC}_MASK=255.255.255.255
    导出 CISCO_SPLIT_INC_${CISCO_SPLIT_INC}_MASKLEN=32
    导出 CISCO_SPLIT_INC=$(($CISCO_SPLIT_INC + 1))
}

# 初始化空分割隧道列表
导出 CISCO_SPLIT_INC=0

# 删除VPN服务器提供的DNS信息以使用互联网DNS
# 注释以下行以在 VPN 隧道之外使用 DNS
取消设置 INTERNAL_IP4_DNS

# VPN 隧道之外的 IP 列表
add_ip --已编辑--

# 执行默认脚本
。 /usr/share/vpnc-scripts/vpnc-script

# 脚本结束

这一切都发生在 Ubuntu 14.04 VPS 上


结果route -n

没有连接尝试:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         0.0.0.0         0.0.0.0         U     0      0        0 venet0

已连接并正在工作

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
<HostA>         0.0.0.0         255.255.255.255 UH    0      0        0 tun1
<VPN>           0.0.0.0         255.255.255.255 UH    0      0        0 venet0
<HostB>         0.0.0.0         255.255.255.255 UH    0      0        0 tun1
<VPN DHCP>      0.0.0.0         255.255.254.0   U     0      0        0 tun1
0.0.0.0         0.0.0.0         0.0.0.0         U     0      0        0 venet0

据说已连接,但无法正常工作

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
<HostA>         0.0.0.0         255.255.255.255 UH    0      0        0 tun1
<VPN>           0.0.0.0         255.255.255.255 UH    0      0        0 venet0
<HostB>         0.0.0.0         255.255.255.255 UH    0      0        0 tun1
<VPN DHCP>      0.0.0.0         255.255.254.0   U     0      0        0 tun1
0.0.0.0         0.0.0.0         0.0.0.0         U     0      0        0 venet0

其中Host*是分割 VPN 配置中的条目。

相关内容