DTLS

默认配置下,SSL VPN使用TCP来封装TLS,当SSL VPN封装的业务数据为TCP时,就形成了TCP-in-TCP流量。这种情况下性能可能比预期的要慢。

Datagram Transport Layer Security (DTLS) 允许SSL VPN使用TLS加密流量,并使用 UDP 作为传输层,而不是TCP。DTLS具有与SSL相同的安全性,但使用UDP而不是TCP。这可以显著提高性能,避免了在TCP-in-TCP中可能发生的重传问题。

配置步骤

FortiGate

通过如下CLI开启SSL VPN的DTLS。

config vpn ssl settings
    set dtls-tunnel enable
end

FortiClient

对应的FortiClient也需要开启DTLS功能。

注意:如果FortiClient连接到了EMS Server,这里的配置是无法修改的,需要管理员在EMS Server端进行修改。如果FortiClient未连接EMS Server,或使用的是FortiClient VPN only版本,需要点击FortiClient界面左下角的🔒图标解锁后,才可以继续配置。

image-20231025100733151

  • 开启“Preferred DTLS Tunnel”:FortiClient将在FortiGate上启用并成功建立隧道时使用DTLS。如果在FortiGate上未启用或隧道建立不成功,则使用TLS。DTLS隧道使用UDP而不是TCP,可以提高VPN的吞吐量。
  • 关闭“Preferred DTLS Tunnel”:当禁用时,FortiClient将使用TLS,即使在FortiGate上启用了DTLS。

结果验证

  1. FortiClient连接FortiGate的SSL VPN服务,查看FortiGate的sslvpnd进程debug信息,可以看到SSL VPN连接使用DTLS建立。

    [321:root:5]DTLS established: DTLSv1 ECDHE-RSA-AES256-GCM-SHA384 from 192.168.100.110
    
  2. 抓包查看SSL VPN协商与业务流量,可以看到SSL VPN协商与后续业务流量均使用DTLS封装。

    image-20231025101925850

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

results matching ""

    No results matching ""