FortiClient连接问题

本文介绍SSL VPN以特定百分比停止协商的常见错误原因与解决办法。

10%断开连接

这种情况下FortiClient通常会弹出“Unable to establish the VPN connection. The VPN server may be unreachable.”的提示信息,通常是由于网络连接问题引起的。

  1. 请检查FortiClient到FortiGate的SSL VPN端口的网络联通性(不只是使用Ping测试,而是需要确保FortiClient和FortiGate之间TCP的SSL VPN端口是否正常连通)。
  2. 检查FortiClient是否配置了正确的SSL VPN IP和端口号。
  3. 检查FortiGate是否配置了服务器证书。
  4. 检查FortiGate是否配置了以ssl.<vdom_name>为入接口的防火墙策略。

31%断开连接

通常FortiClient会弹出“Unable to establish the VPN connection. The VPN server may be unreachable or your identity certificate is not trusted. (-5029)”的提示信息。这是由于TLS版本协商失败导致,请检查FortiGate配置的SSL VPN TLS版本是否被FortiClient所在的PC使用。

  1. 检查FortiGate配置的SSL VPN TLS版本,如下所示,SSL VPN使用的TLS版本最大为1.3(ssl-max-proto-ver),最小为1.2(ssl-min-proto-ver),也就是只接受TLS 1.2 ~ 1.3的版本(如果开启了DTLS,需要参考dtls-max-proto-ver和dtls-min-proto-ver):

    FortiGate # config vpn ssl settings
    FortiGate (settings) # show full-configuration | grep proto
        set ssl-max-proto-ver tls1-3
        set ssl-min-proto-ver tls1-2
        set dtls-max-proto-ver dtls1-2
        set dtls-min-proto-ver dtls1-0
    
  2. 可以根据实际情况修改FortiGate的TLS设置:

    FortiGate # config vpn ssl setting
    FortiGate (settings) # set ssl-max-proto-ver ?
    tls1-0    TLS version 1.0.
    tls1-1    TLS version 1.1.
    tls1-2    TLS version 1.2.
    tls1-3    TLS version 1.3.
    
    FortiGate (settings) # set ssl-min-proto-ver ?
    tls1-0 TLS version 1.0.
    tls1-1 TLS version 1.1.
    tls1-2 TLS version 1.2.
    tls1-3 TLS version 1.3.
    
  3. 检查FortiClient所在PC的TLS版本设置,这里以Windows为例,打开“Internet选项”,进入高级选项卡,在“安全”部分中找到TLS版本相关选项,如下图所示,选取的TLS版本为1.2和1.3,可根据FortiGate端的配置进行修改。

    image-20240130112027256

40%断开连接

  1. 可能是由于FortiClient在连接时弹出了是否希望继续使用非受信任的TLS/SSL证书的弹窗,但用户未选择或选择了取消(有时候这个弹窗没有弹出,需要在任务栏点开)。

    image-20240130113456027

  2. 与31%中断类似,FortiClient会弹出“Unable to establish the VPN connection. The VPN server may be unreachable or your identity certificate is not trusted. (-5)”的提示信息,这由TLS版本协商失败导致。可参考31%中断的解决方法。

  3. 可能是由于FortiClient所在PC安装的某些安全应用阻断了FortiClient与FortiGate的SSL协商,或是外部安全设备进行了阻断。

48%断开连接

  1. 可能是由于双因子(two-factor)认证失败导致断开,检查双因子认证的配置与Token信息输入是否正确。

  2. 如果FortiClient弹出提示“Credential or SSL VPN configuration is wrong (-7200)”,在FortiClient连接过程中通过Debug信息来判断问题原因:

    • 如果Debug信息中提示error:0A000126:SSL routines::unexpected eof while reading

      diagnose debug application sslvpn -1
      diagnose debug application fnbamd -1
      diagnose debug enable
      
      [2612:root:1b]deconstruct_session_id:716 decode session id ok, user=[guest], group=[],authserver=[],portal=[full-access],host[10.200.20.10],realm=[],csrf_token=[D3D4129C5AB9CB25CDCE01CCF8E40],idx=0,auth=1,sid=2d772154,login=1686904099,access=1686904099,saml_logout_url=no,pip=no,grp_info=[4xAcoJ],rmt_grp_info=[]
      [2612:root:1b]rmt_web_auth_info_parser_common:557 authentication required
      [2612:root:1b]rmt_web_access_check:776 access failed, uri=[/remote/logout],ret=4103,
      [2612:root:1b]SSL state:fatal decode error (10.200.20.10)
      [2612:root:0]ap_read,105, error=1, errno=0 ssl 0x7f3bb1bb6000 Success. error:0A000126:SSL routines::unexpected eof while reading
      //[2612:root:1b]sslvpn_read_request_common,684, ret=-1 error=-1, sconn=0x7f3bb2854800.//
      [2612:root:1b]Destroy sconn 0x7f3bb2854800, connSize=0. (root)
      
      • 首先确认FortiClient使用的用户名和密码完全正确。

      • 也可能是由于PC的Internet选项中的安全等级设置为“高”导致,通过调整Internet选项中的安全等级为“中-高”或“中”可以修复此问题。

        image-20240130144316984

    • 如果Debug信息中提示failed [sslvpn_login_cert_checked_error]

      diagnose debug application sslvpn -1
      diagnose debug enable
      
      2023-11-02 14:15:59 [11178:root:34]req: /remote/logincheck
      2023-11-02 14:15:59 [11178:root:34]rmt_web_auth_info_parser_common:470 no session id in auth info
      2023-11-02 14:15:59 [11178:root:34]rmt_web_access_check:723 access failed, uri=[/remote/logincheck],ret=4103,
      2023-11-02 14:15:59 [11178:root:34]User Agent: FortiSSLVPN (Windows NT; SV1 [SV{v=02.01; f=07;}])
      2023-11-02 14:15:59 [11178:root:34]rmt_logincheck_cb_handler:1189 user 'test15' has a matched local entry.
      //2023-11-02 14:15:59 [11178:root:34]login_failed:384 user[test15],auth_type=32768 failed [sslvpn_login_cert_checked_error]//
      2023-11-02 14:15:59 [11178:root:0]dump_one_blocklist:84 status=1;host=15.15.15.15;fails=1;logintime=1698730139
      
      • 这可能是由于误开启了FortiGate SSL VPN的“需要客户端证书”功能,而实际不需要证书认证客户端证书。需要手动关闭该功能。

        image-20240130151623589

        config vpn ssl settings
            set reqclientcert disable
        end
        

80%断开连接

  1. 如果弹出提示“Unable to log on to the server. Your username or password may not be configured properly for this connection. (-14)”,检查FortiClient输入的用户名和密码是否与FortiGate上配置的一致。

  2. 在FortiGate检查用户和用户组的关系,可能是用户未加入正确的用户组。

  3. 检查是否配置了对应用户/用户组的防火墙策略。

  4. 检查FortiGate中SSL VPN设置的“认证/门户配置(Authentication/Portal Mapping)”配置中的用户/用户组是否与防火墙策略中SSL VPN相关策略中引用的用户/用户组完全一致,如果不一致,FortiClient会出现以下提示(英文系统下会提示“Unable to log on to the server. Your username or password may not be configured properly for this connection. (-14)”):

    image-20240130162446250

    特别注意:

    • 如果SSL VPN设置的“认证/门户配置”选择了用户组,那么防火墙策略中也要引用用户组,不要引用该用户组中的用户成员。
    • 如果SSL VPN设置的“认证/门户配置”选择了用户,那么防火墙策略中也要引用用户,不要引用该用户所属的用户组。
    • 如果有多条SSL VPN相关的防火墙策略,无论策略的顺序如何,只要有策略中配置了“认证/门户配置”中不一致的用户/用户组,都可能导致这个问题的出现。
    • 如果不按照上述规则配置,会出现FortiClient连接SSL VPN时,无法匹配自定义配置的“认证/门户配置(Authentication/Portal Mapping)”,而匹配到默认的Portal Mapping时:
      - 如果默认的Portal Mapping为“web-access”(只开启了Web模式的访问,没有开启Tunnel模式的访问),那么就会连接失败。
      - 即使默认的Portal Mapping选择了开启Tunnel模式的Portal,FortiClient可以成功连接SSL VPN,但也有可能匹配到非用户预期的Portal,所以还是要按照上述规则进行配置。

    image-20240130154421636

  5. 检查用户/用户组是否匹配了正确的门户(Portal)。

  6. 如果在SSL VPN设置中为用户/用户组配置了域(Realm),请检查FortiClient是否连接了正确的域(Realm)。

  7. 如果FortiGate上用户/用户组所属的门户(Portal)开启了OS版本检查,请确认客户端的OS类型与版本是否满足FortiGate上配置。

    image-20240130160458311

    config vpn ssl web portal
        edit "full-access"
            set os-check enable
            config os-check-list "windows-7"
                set action deny
            end
            config os-check-list "windows-8.1"
                set action deny
            end
            config os-check-list "windows-10"
            end
            config os-check-list "windows-11"
            end
            config os-check-list "macos-mojave-10.14"
            end
            config os-check-list "macos-catalina-10.15"
            end
            config os-check-list "macos-bigsur-11"
            end
            config os-check-list "macos-monterey-12"
            end
            config os-check-list "macos-ventura-13"
            end
        next
    end
    
  8. 如果FortiGate上用户/用户组所属的门户(Portal)开启了主机检查,请确认客户端的主机是否通过了AV/防火墙/MAC地址检查。

    image-20240130161000766

    config vpn ssl web portal
        edit "full-access"
            set host-check av
            set mac-addr-check enable
            config mac-addr-check-rule
                edit "BingBai"
                    set mac-addr-list 0c:37:96:06:d7:5d
                next
            end
        next
    end
    

98%断开连接

这种情况下通常是由于FortiClient所在主机的OS问题导致。

  1. 尝试在主机上重装FortiClient程序(先卸载现有FortiClient程序,根据提示信息重启后再重装)。
  2. 检查FortiClient、FortiGate、EMS Server之间的版本兼容性。请参考FortiClient EMS Compatibility Chart

其他百分比断开连接

请参考FortiClient 维护手册

Copyright © 2024 Fortinet Inc. All rights reserved. Powered by Fortinet TAC Team.
📲扫描下方二维码分享此页面👇
该页面修订于: 2024-02-02 10:29:01

results matching ""

    No results matching ""