声明:本文并非原创,转自华为云帮助中心的的用户指南。
本文以公网访问华为云分布式缓存服务的Redis缓存为示例,介绍Stunnel客户端在各操作系统下的安装和配置。
Stunnel客户端安装配置(Windows版)
- 查看并获取待连接Redis缓存实例的弹性IP地址和端口。
具体步骤请参见。
- 下载Stunnel安装包。从下载最新版本的Windows版Stunnel安装包(以exe结尾的安装包,例如,stunnel-5.44-win32-installer.exe)到本地Windows设备。
- 运行Stunnel安装程序,安装Stunnel客户端。
- 配置Stunnel客户端。在任务栏单击图标右键,选择“Edit Configration”,新增如下配置内容,然后保存退出。
[redis-client]client = yesCAfile = D:\tmp\dcs\dcs-ca.ceraccept = 8000connect = {弹性IP地址}:{端口}
以下参数需要根据说明修改,其他参数不用修改:- client值固定填yes,表示为Stunnel客户端。
- CAfile为CA证书,可选。如果需要,请根据,进入到缓存实例详情页面下载该证书;如果不需要,可不配置,删除此参数。
- accept为为Stunnel监听端口,可以自定义。Redis客户端访问缓存实例时填写此端口。
- connect为服务端连接地址,此处填Redis缓存实例的IP地址与端口,即分别替换为步骤获取的弹性IP地址和端口。
- 在任务栏单击图标右键,选择“Reload Configration”。
- 打开命令提示符工具cmd.exe,执行以下命令,查看127.0.0.1:8000是否已经被监听。
netstat -an |find "8000"
假设客户端的监听端口配置为“8000”。
返回列表行中显示有“127.0.0.1:8000”,状态为“LISTENING”,表示stunnel客户端正常运行。
Stunnel客户端安装配置(Linux版)
- 查看并获取待连接Redis缓存实例的弹性IP地址和端口。
具体步骤请参见。
- 登录本地Linux设备。
- 安装stunnel客户端。
这里主要介绍Stunnel客户端的几种常见安装方法。
说明:推荐使用apt和yum两种安装方式,常见Linux系统,一般至少支持其中一种。
其他常见系统下的Stunnel客户端安装请参考:
。
- apt-get方式安装。apt-get管理deb格式的软件包,适用于Debian类操作系统,如Ubuntu。命令如下:
apt install stunnel 或apt-get install stunnel
如果命令执行后提示找不到Stunnel,可以尝试执行apt update,更新配置后再安装Stunnel。
- yum方式安装。管理rpm格式的软件包,适用于Fedora、CentOS、Red Hat等操作系统。
yum install stunnel
- 其他通用方式安装。Unix系统还可以直接,编译后安装。前提是需要安装gcc编译环境,以及工具。安装如遇到困难,可参考。
下载并解压Stunnel后,进入解压目录,执行以下命令编译和安装:
./configure;
make && make install;
- apt-get方式安装。apt-get管理deb格式的软件包,适用于Debian类操作系统,如Ubuntu。命令如下:
- 安装成功后,编辑/etc/default/stunnel4,将参数ENABLED设置为1。 说明:
不同的Linux系统版本,配置文件名称可能有差异,可在/etc/default/路径下查找该文件。
... ENABLED=1...
- 打开配置文件。
stunnel配置文件名为:stunnel.conf。配置文件可以存储在任何路径,在Stunnel启动的时候指定改配置文件即可。
也可以按照Stunnel默认的方式新增配置文件:
- apt-get方式
路径为/etc/stunnel/stunnel.conf,如果路径不存在或者路径下无配置文件,可新增。
- yum方式
默认路径为/usr/local/stunnel/stunnel.conf,如果路径不存在或者路径下无配置文件,可新增。
- 其他通用方式
路径为/usr/local/stunnel/stunnel.conf,如果路径不存在或者路径下无配置文件,可新增。
说明:如果不确定配置文件应该存储在哪,可以在安装后直接输入stunnel命令,获取文件路径提示。
- apt-get方式
- 在配置文件中新增如下内容,然后保存退出。
debug = 4output = /var/log/stunnel.logsslVersion = all[redis-client]client = yesaccept = 8000connect = {弹性IP地址}:{端口}CAfile = /etc/stunnel/dcs-ca.cer
以下参数需要根据说明修改,其他参数不用修改:- client值固定填yes,表示为Stunnel客户端。
- CAfile为CA证书,可选。如果需要,请根据,进入到缓存实例详情页面下载该证书;如果不需要,此参数请删除。
- accept为Stunnel监听端口,可以自定义。Redis客户端访问缓存实例时填写此端口。
- connect为Stunnel转发地址与端口,此处填Redis缓存实例的IP地址与端口,即分别替换为步骤获取的弹性IP地址和端口。
- 启动stunnel服务。
- 使用了Stunnel默认配置文件,则直接执行命令:
stunnel
- 自定义配置文件的路径,则执行命令:
stunnel /{customdir}/stunnel.conf
其中/{customdir}/stunnel.conf为自定义存储路径。
- Ubuntu还可以使用 service stunnel4 start 或者systemctl start stunnel4。Stunnel4.x的版本,服务/进程名为stunnel4。
启动后可执行ps -ef|grep stunnel确认进程是否正常运行。
- 使用了Stunnel默认配置文件,则直接执行命令:
- 执行以下命令,查看127.0.0.1:8000是否已经被监听。
其中,8000替换为中accept字段配置的Stunnel监听端口。
netstat -plunt |grep 8000|grep "LISTEN"
返回列表行中显示有“127.0.0.1:8000”,表示stunnel客户端正常运行。