更新时间:2024-07-29 GMT+08:00

加密传输

概述

加密传输功能可以通过TLS协议保护你的客户端与SFS Turbo服务之间网络传输链路上的数据安全。

加密传输涉及加解密流程,性能相比非加密传输会有部分下降。

加密挂载教程-Linux

  1. 安装stunnel
    stunnel是一个开源网络中继。stunnel会监听本地端口,并将发到其上的流量加密转发到SFS Turbo文件系统,要使用加密传输功能需要先安装stunnel。请执行以下命令进行安装:
    • ubuntu或Debian操作系统安装命令
    sudo apt update
    sudo apt-get install stunnel
    • CentOS,EulerOS或HCE OS操作系统安装命令
    sudo yum install stunnel

    推荐使用Stunnel版本为5.56或以上。

  2. 选取未被占用的端口作为本地监听端口。
    如下示例,执行如下命令查看本地已被占用的端口:
    netstat -anp | grep 127.0.0.1
    图1 本地已被占用端口

    由于20049已被占用,所以需要在20050到21049之间选择一个未被占用的端口作为本地监听端口。

  3. 配置stunnel配置文件

    在/etc/stunnel路径下新建stunnel_[本地监听端口].conf文件,在此文件中写入:

    client = yes
    sslVersion = TLSv1.2
    [nfs]
    ciphers = ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256
    accept = 127.0.0.1:[本地监听端口]
    connect = [dns name]:2052
  4. 执行如下命令拉起stunnel进程
    stunnel /etc/stunnel/stunnel_[本地监听端口].conf
  5. 执行如下挂载命令
    mount -t nfs -o vers=3,nolock,tcp,port=[本地监听端口],mountport=[本地监听端口] 127.0.0.1:/ [挂载点]

    加密挂载完成后,在此挂载点上的所有文件操作与非加密场景的文件操作一致。

    如果stunnel进程异常退出会导致文件操作卡住,可以利用crontab等linux能力,保证stunnel进程退出后自动拉起

依赖组件

stunnel,crontab

FAQ

  • stunnel进程为什么会拉不起来?
    stunnel拉不起来原因可能是端口已被占用,如果端口已经被占用,拉起stunnel进程时会显示如下错误:
    Binding service [nfs] to 127.0.0.1:(被占用端口): Address already in use