ILD

stunnel加密OpenVPN
作者:Herbert Yuan 邮箱:yuanjp@hust.edu.cn
发布时间:2018-2-25 站点:Inside Linux Development

安装stunnel

1
$ sudo apt-get install stunnel4


1 客户端配置

stunnel客户端配置:

1
2
3
4
5
# cat /etc/stunnel/stunnel.conf 
[openvpn]
client = yes
accept = 127.0.0.1:8082
connect = vpn.xxx.net:8081

client,表示是客户端,默认是服务端。

accept,用于接收要加密的连接,OpenVPN客户端连接到stunnel客户端,所以OpenVPN指定的服务器地址为该配置项的地址。

connect,表示stunnel服务端的地址和端口。


OpenVPN客户端配置

1
2
3
4
5
6
root@herbert-pc:/etc# cat /etc/openvpn/client.conf 
client
dev tun
proto tcp
remote 127.0.0.1 8082
...

相对于没有stunnel的方式,remote需要修改为stunnel客户端中accept参数指定的地址。


2 服务端设置

创建SSL证书

1
2
3
openssl genrsa -out key.pem 2048
openssl req -new -x509 -key key.pem -out cert.pem -days 1095
cat key.pem cert.pem >> /etc/stunnel/stunnel.pem


stunnel服务端配置

1
2
3
4
5
6
# cat /etc/stunnel/stunnel.conf 
cert = /etc/stunnel/stunnel.pem
 
[openvpn]
accept = 8081
connect = 127.0.0.1:8082

connect是OpenVPN服务端监听的地址。


OpenVPN服务端配置

1
2
3
4
# cat /etc/openvpn/server.conf 
port 8082
proto tcp 
dev tun


注意:stunnel只支持TCP,所以OpenVPN需要使用tcp协议。


3 开机自动启动stunnel

修改/etc/default/stunnel4,将ENABLED修改为1。

将stunnel脚本添加到rc.d

1
update-rc.d stunnel4 defaults


Copyright © linuxdev.cc 2017-2024. Some Rights Reserved.