此次的流程是基于安装好openvpn的基础上,再插入stunnel安全通道,openvpn的安装与配置在前面一笔记中已经测试通过,如果大家还不知道如何安装openvpn,请查看链接http://blog.csdn.net/u013896064/article/details/52261233。
现在的框图如下:
步骤如下所示:
将安装好openvpn的树莓派启动开机:
1、安装stunnel4
#apt-get install stunnel4
#cd /etc/stunnel
2、使用openssl生成key
#openssl req -new -newkey rsa:2048 -days 3650 \
-nodes -x509 -sha256 \
-subj '/CN=127.0.0.1/O=localhost/C=US' \
-keyout /etc/stunnel/stunnel.pem \
-out /etc/stunnel/stunnel.pem
-nodes -x509 -sha256 \
-subj '/CN=127.0.0.1/O=localhost/C=US' \
-keyout /etc/stunnel/stunnel.pem \
-out /etc/stunnel/stunnel.pem
执行完毕以后会在/etc/stunnel目录下面出现stunnel.pem文件
3、设置配置文件/etc/stunnel/stunnel.conf (如果没有新建文件,写入如下内容)
[openvpn]
client = no
accept = 443
connect = 127.0.0.1:1194
cert = /etc/stunnel/stunnel.pem
保存退出
4.修改 配置文件/etc/default/stunnel4的
ENABLED=0
为
ENABLED=1
5、打开服务端的firewalld
执行命令:
#iptables -A INPUT -p tcp --dport 443 -j ACCEPT #dpkg-reconfigure iptables-persistent如果第二个命令无法有错,则先安装iptables-persistent
#apt-get install iptables-persistent
6、执行命令:
#/etc/init.d/stunnel4 start
7、检查stunnel是否work
#journalctl -u stunnel4
q
#systemctl status stunnel4.service
#ps -A | grep stunnel4
#netstat -tulpn | grep stunnel4
如果命令systemctl status stunnel4.service不是
active (running)
则执行命令
#stunnel /etc/stunnel/stunnel.conf
#
systemctl restart stunnel4.service
再次查看状态是否是
active (running)
8、编辑文件vi /etc/openvpn/server.conf
在最后一行加入下面行:
local 127.0.0.1
修改
proto udp 为
proto tcp
保存退出
执行命令:#service openvpn restart
至此服务器端的配置就已经完成
以下是客户端配置
9、下载好Stunnel的windows客户端https://www.stunnel.org/downloads.html
在window上安装好,修改安装目录的配置文件stunnel.conf内容为:
[openvpn]
client = yes
accept = 127.0.0.1:1194
connect = 192.168.1.112:443
cert = C:\Program Files (x86)\stunnel\config\stunnel.pem
(connect的IP地址是server的地址,具体路径根据自己文件的具体位置修改,stunnel.pem文件是从server端拷贝过来的)
10、openvpn的jelly.ovpn文件修改如下:
修改remote 192.168.1.112 1194 为
remote 127.0.0.1 1194
修改proto udp为tcp
11、最后openvpn连接就可以了
参考链接:https://dcamero.azurewebsites.net/openvpn-stunnel-ubuntu-1510-windows.html
https://brainpan.io/wiki/Stunnel_Setup