自主排查SSL-VPN连接问题

使用SSL-VPN连接的过程中,如果SSL-VPN连接异常,您可以根据客户端的日志信息、VPN网关管理控制台SSL-VPN连接的日志信息自主排查问题。

背景信息

本文汇总了SSL-VPN连接常见错误及排查方法,您可以通过客户端的日志信息和VPN网关管理控制台SSL-VPN连接的日志信息,对照本文的汇总表自主排查,帮助您快速解决SSL-VPN连接的问题。

SSL-VPN客户端日志目录汇总

下表列举了不同VPN软件安装在不同操作系统的客户端后,SSL-VPN连接日志文件的位置。您可以在对应位置下查看客户端的日志信息。

说明

如果您在安装VPN软件时自定义了日志文件的位置,请您在相应位置下查看日志信息。

客户端

SSL-VPN连接日志文件默认路径

Linux客户端(安装OpenVPN软件)

/var/log/openvpn.log

Windows客户端(安装OpenVPN软件)

日志信息默认会存储在OpenVPN软件安装目录下的log文件夹下

例如C:\Users\User\OpenVPN\log

macOS客户端(安装Tunnelblick软件)

/Library/Application Support/Tunnelblick/Logs

macOS客户端(安装OpenVPN软件)

/Library/Application Support/OpenVPN/log/connection_name.log

SSL-VPN连接常见错误及排查方法汇总

在您获取SSL-VPN连接的日志信息后,您可以在下表中通过匹配日志关键字查看对应的排查方法。

错误原因分类

错误原因

日志关键字

排查办法

网络不可达

网络不可达,网络互通有问题

  • network is unreachable

  • TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)

  • TLS Error: TLS handshake failed

  1. 请在客户端中使用pingmtr命令访问VPN网关的公网IP地址以探测公网链路质量情况。

    • 如果探测到公网链路质量不佳(延时高或丢包率高等)可联系运营商协助进行故障排查。

    • 如果探测到可以正常连通,请确认在SSL服务端的日志信息中是否可以查询到客户端的连接信息。

      如果未能查询到客户端的连接信息,请尝试修改SSL服务端使用的端口,然后重新下载SSL客户端证书并安装到客户端。

  2. 请将SSL服务端的协议修改为TCP(可靠性更好)。

    如果您使用SSL-VPN连接进行长距离通信(例如美国(硅谷)到新加坡),在将SSL服务端的协议修改为TCP后,仍出现本问题,建议您使用云企业网智能接入网关产品将客户端连接至VPC。

  3. 如果您的客户端上存在多个VPN软件,建议仅使用一个VPN软件建立SSL-VPN连接。

  4. 尝试重启客户端或者在客户端上重新安装VPN软件。

协议类型或端口号不匹配

客户端与SSL服务端的协议类型或端口号不一致

  • MANAGEMENT: >STATE:1676379239,TCP_CONNECT,,,,,,

  • TCP: connect to [AF_INET]*.*.*.*:1194 failed: Unknown error

请尝试修改SSL服务端使用的协议端口,然后重新下载SSL客户端证书并安装到客户端。

连接数超限

SSL客户端连接数已达规格上限

MANAGEMENT: >STATE:1676370715,WAIT,,,,,

  1. 在VPN网关实例下查看已连接的客户端数量,确认客户端数量是否超限。

    • 如果客户端数量超限,您可以提升SSL服务端的连接数规格。

    • 如果客户端数量超限,您不想提升SSL服务端的连接数规格,您可以将不需要的客户端断开连接释放资源。客户端断开连接后,系统大约5分钟后会释放资源。

  2. 修改SSL服务端使用的协议TCP,然后重新下载、安装SSL客户端证书。

    使用UDP协议存在不可靠连接占用连接数的情况,使用TCP协议可以规避该问题,且TCP协议可靠性更好。

证书过期

证书过期

VERIFY ERROR: certificate has expired

  1. 请排查SSL客户端证书的有效性。

    SSL客户端证书默认有效期为3年。

  2. 请删除现有的SSL客户端证书及所有配置,然后重新下载、安装SSL客户端证书。

    开启和关闭双因子认证功能、修改SSL服务端的配置,均需要重新下载、安装SSL客户端证书。

证书配置错误

证书配置错误

  • Options error: --ca fails with 'ca.crt': No such file or directory (errno=2)

  • Options error: --cert fails with 'vsc-****.crt': No such file or directory (errno=2)

  • WARNING: cannot stat file 'vsc-****.key': No such file or directory (errno=2)

  • Options error: --key fails with 'vsc-****.key'

  • Options error: Please correct these errors.

请删除现有的SSL客户端证书及配置,然后重新下载、安装SSL客户端证书。

客户端VPN软件版本不兼容

客户端使用的VPN软件版本与阿里云SSL服务端不兼容

  • Data Channel Offload doesn't support DATA_V1 packets

  • Upgrade your server to

  • suggesting an upgrade to the server version

在客户端删除现有VPN软件,然后参见VPN文档下载安装VPN软件。

IP地址不足

SSL服务端下配置的客户端网段过小导致IP地址不足

OpenVPN needs a gateway parameter for a -- route option and no default was specified by either --route-gateway or --ifconfig options

请确保您指定的客户端网段所包含的IP地址个数是SSL-VPN连接数的4倍及以上。更多信息,请参见创建和管理SSL服务端

例如:您指定的客户端网段为192.168.0.0/24,系统在为客户端分配IP地址时,会先从192.168.0.0/24网段中划分出一个子网掩码为30的子网段,例如192.168.0.4/30,然后从192.168.0.4/30中分配一个IP地址供客户端使用,剩余三个IP地址会被系统占用以保证网络通信,此时一个客户端会耗费4个IP地址。因此,为保证您的客户端均能分配到IP地址,请确保您指定的客户端网段所包含的IP地址个数是SSL-VPN连接数的4倍及以上。

无相同加密算法

SSL服务端没有与客户端相同的TLS密码套件,无相同加密算法可用

  • TLS error: The server has no TLS ciphersuites in common with the client. Your --tls-cipher setting might be too restrictive.

  • OpenSSL: error:1408A0C1:SSL routines:ssl3_get_client_hello:no shared cipher

请在客户端中安装VPN网关产品推荐使用的VPN软件。更多信息,请参见配置客户端

加密算法不一致

SSL服务端与客户端加密算法配置不一致

Authenticate/Decrypt packet error: cipher final failed

请确认客户端安装的SSL客户端证书的加密算法是否与SSL服务端的加密算法一致。

如果不一致,请删除现有的SSL客户端证书及所有配置,然后重新下载SSL客户端证书并安装到客户端。

  • SSL客户端证书的加密算法为config.ovpn文件cipher字段对应的值。

  • 您可以在SSL服务端页面,找到目标SSL服务端实例,然后在操作列单击详情,在SSL服务端实例详情页面,查看SSL服务端的加密算法。

数据包ID冲突

网络连接不稳定或SSL服务端加密算法配置为none

Authenticate/Decrypt packet error: bad packet ID (may be a replay)

  1. 修改SSL服务端的协议TCP(可靠性更好)。

  2. 请确认SSL服务端的加密算法是否为none。若是,建议修改SSL服务端的加密算法为AES加密算法(AES-128-CBCAES-192-CBCAES-256-CBC)。

  3. 修改SSL服务端的配置后,请删除现有的SSL客户端证书及所有配置,然后重新下载SSL客户端证书并安装到客户端。

时间不同步

SSL校验不通过或者是客户端的时间与服务器的时间相差太大

  • OpenSSL: error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed

  • TLS_ERROR: BIO read tls_read_plaintext error

  • TLS Error: TLS object -> incoming plaintext read error

  • TLS Error: TLS handshake failed

  1. 客户端与SSL服务端的时间偏差不能超10分钟,建议调整客户端的时间与标准时间一致。

  2. 请排查SSL客户端证书的有效性。

    SSL客户端证书默认有效期为3年。

证书校验不通过

SSL证书校验不通过

No server certificate verification method has been enabled

  1. 请排查SSL客户端证书的有效性。

    SSL客户端证书默认有效期为3年。

  2. 请删除现有的SSL客户端证书及所有配置,然后重新下载、安装SSL客户端证书。

    开启和关闭双因子认证功能、修改SSL服务端的配置,均需要重新下载、安装SSL客户端证书。

双因子认证失败

双因子认证失败

  • AUTH: Received control message: AUTH_FAILED

  • TCP/UDP: Closing socket

  • SIGUSR1[soft,auth-failure] received, process restarting

  • MANAGEMENT: >STATE:1676381342,RECONNECTING,auth-failure,,,,,

  1. 请确认您输入的用户名和密码是否正确。

  2. 请在IDaaS实例侧排查是否已配置了该账户、IDaaS实例是否已将该账户禁用、IDaaS实例是否已过期。更多信息,请参见什么是 IDaaS?

    如果IDaaS实例侧配置没有问题,请尝试重新添加一个账户进行连接。

  3. 请删除现有的SSL客户端证书及所有配置,然后重新下载、安装SSL客户端证书。

    开启和关闭双因子认证功能、修改SSL服务端的配置,均需要重新下载、安装SSL客户端证书。

缺失TAP口

客户端缺失TAP虚拟以太网适配器,需重新创建

  • There are no TAP-Windows adapters on this system. You should be able to create a TAP

  • CreateFile failed on TAP device

  • All TAP-Win32 adapters on this system are currently in use

  1. 请确认您在安装OpenVPN软件时是否已选中TAP Virtual Ethernet Adapter选项。

    如果您在安装OpenVPN软件时并未选中上述选项,您可以手动创建虚拟以太网适配器或者重新安装OpenVPN软件。

  2. 退出OpenVPN软件,尝试以管理员权限再次运行OpenVPN软件。

ovpnagent没有运行

macOS操作系统的客户端下ovpnagent程序没有运行

Transport Error: socket_protect error

  1. 请在客户端的命令行界面通过以下命令手动启动ovpnagent程序。

    /Library/Frameworks/OpenVPNConnect.framework/Versions/Current/usr/sbin/ovpnagent
  2. 建议macOS操作系统的客户端优先使用Tunnelblick软件建立SSL-VPN连接。

客户端频繁重新连接

客户端主动或自动重新连接

  • Connection reset, restarting [-1]SIGUSR1[soft,connection-reset] received, client-instance restarting

  • TCP/UDP: Closing socket

  1. 请排查客户端在日志显示的时间节点是否有重启或重新连接。

  2. 请排查SSL客户端证书的有效性。

    SSL客户端证书默认有效期为3年。

  3. 请排查客户端使用的时间。

    客户端与SSL服务端的时间偏差不能超10分钟,建议调整客户端的时间与标准时间一致。

相关操作

以下为您提供排查SSL-VPN连接问题时可能会用到的操作文档及相关说明:

说明

在排查SSL-VPN连接问题的过程中,如果您需要修改客户端的配置,请参见客户端操作指南手册。