Stunnel客户端安装和配置

声明:本文并非原创,转自华为云帮助中心的分布式缓存服务(Redis)的用户指南。

本文以公网访问华为云分布式缓存服务的Redis缓存为示例,介绍Stunnel客户端在各操作系统下的安装和配置。

Stunnel客户端安装配置(Windows版)

  1. 查看并获取待连接Redis缓存实例的弹性IP地址和端口。

        具体步骤请参见查看缓存信息。

  2. 下载Stunnel安装包。从http://www.stunnel.org/downloads.html下载最新版本的Windows版Stunnel安装包(以exe结尾的安装包,例如,stunnel-5.44-win32-installer.exe)到本地Windows设备。
  3. 运行Stunnel安装程序,安装Stunnel客户端。
  4. 配置Stunnel客户端。在任务栏单击图标右键,选择“Edit Configration”,新增如下配置内容,然后保存退出。

    [redis-client]
    client = yes
    CAfile = D:\tmp\dcs\dcs-ca.cer
    accept = 8000
    connect = {弹性IP地址}:{端口}
    以下参数需要根据说明修改,其他参数不用修改:
    • client值固定填yes,表示为Stunnel客户端。
    • CAfile为CA证书,可选。如果需要,请根据查看缓存信息,进入到缓存实例详情页面下载该证书;如果不需要,可不配置,删除此参数。
    • accept为Stunnel监听端口,可以自定义。Redis客户端访问缓存实例时填写此端口。
    • connect为服务端连接地址,此处填Redis缓存实例的IP地址与端口,即分别替换为步骤1获取的弹性IP地址和端口。

  5. 在任务栏单击图标右键,选择“Reload Configration”。
  6. 打开命令提示符工具cmd.exe,执行以下命令,查看127.0.0.1:8000是否已经被监听。

    netstat -an |find "8000"

    假设客户端的监听端口配置为“8000”。

    返回列表行中显示有“127.0.0.1:8000”,状态为“LISTENING”,表示stunnel客户端正常运行。

Stunnel客户端安装配置(Linux版)

  1. 查看并获取待连接Redis缓存实例的弹性IP地址和端口。

    具体步骤请参见查看缓存信息

  2. 登录本地Linux设备。
  3. 安装stunnel客户端

    这里主要介绍Stunnel客户端的几种常见安装方法。

     说明:

    推荐使用apt和yum两种安装方式,常见Linux系统,一般至少支持其中一种。

    其他常见系统下的Stunnel客户端安装请参考:

    “Mac下的Stunnel客户端安装”。

    1. apt-get方式安装。apt-get管理deb格式的软件包,适用于Debian类操作系统,如Ubuntu。命令如下:

      apt install stunnel 或apt-get install stunnel

      如果命令执行后提示找不到Stunnel,可以尝试执行apt update,更新配置后再安装Stunnel。

    2. yum方式安装。管理rpm格式的软件包,适用于Fedora、CentOS、Red Hat等操作系统。

      yum install stunnel

    3. 其他通用方式安装。Unix系统还可以直接下载Stunnel安装包,编译后安装。前提是需要安装gcc编译环境,以及openssl-devel工具。安装如遇到困难,可参考Stunnel官方网站的帮助。

      下载并解压Stunnel后,进入解压目录,执行以下命令编译和安装:

      ./configure;

      make && make install;

  4. 安装成功后,编辑/etc/default/stunnel4,将参数ENABLED设置为1。
     说明:

    不同的Linux系统版本,配置文件名称可能有差异,可在/etc/default/路径下查找该文件。

    ... 
    ENABLED=1
    ...

  5. 打开配置文件。

    stunnel配置文件名为:stunnel.conf。配置文件可以存储在任何路径,在Stunnel启动的时候指定改配置文件即可。

    也可以按照Stunnel默认的方式新增配置文件:

    1. apt-get方式

      路径为/etc/stunnel/stunnel.conf,如果路径不存在或者路径下无配置文件,可新增。

    2. yum方式

      默认路径为/usr/local/stunnel/stunnel.conf,如果路径不存在或者路径下无配置文件,可新增。

    3. 其他通用方式

      路径为/usr/local/stunnel/stunnel.conf,如果路径不存在或者路径下无配置文件,可新增。

     说明:

    如果不确定配置文件应该存储在哪,可以在安装后直接输入stunnel命令,获取文件路径提示。

  6. 在配置文件中新增如下内容,然后保存退出。
    debug = 4
    output = /var/log/stunnel.log
    sslVersion = all
    [redis-client]
    client = yes
    accept = 8000
    connect = {弹性IP地址}:{端口}
    CAfile = /etc/stunnel/dcs-ca.cer
    以下参数需要根据说明修改,其他参数不用修改:
    • client值固定填yes,表示为Stunnel客户端。
    • CAfile为CA证书,可选。如果需要,请根据查看缓存信息,进入到缓存实例详情页面下载该证书;如果不需要,此参数请删除。
    • accept为Stunnel监听端口,可以自定义。Redis客户端访问缓存实例时填写此端口。
    • connect为Stunnel转发地址与端口,此处填Redis缓存实例的IP地址与端口,即分别替换为步骤1获取的弹性IP地址和端口。
  7. 启动stunnel服务。
    1. 使用了Stunnel默认配置文件,则直接执行命令:

      stunnel

    2. 自定义配置文件的路径,则执行命令:

      stunnel /{customdir}/stunnel.conf

      其中/{customdir}/stunnel.conf为自定义存储路径。

    3. Ubuntu还可以使用 service stunnel4 start 或者systemctl start stunnel4。Stunnel4.x的版本,服务/进程名为stunnel4。

    启动后可执行ps -ef|grep stunnel确认进程是否正常运行。

  8. 执行以下命令,查看127.0.0.1:8000是否已经被监听。

    其中,8000替换为6中accept字段配置的Stunnel监听端口

    netstat -plunt |grep 8000|grep "LISTEN"

    返回列表行中显示有“127.0.0.1:8000”,表示stunnel客户端正常运行。

你可能感兴趣的:(转载)