stunnel加密通道使用实践

来源:互联网 发布:mac开机后键盘没反应 编辑:程序博客网 时间:2024/05/18 13:05
今天用了半天的时间把内网与外网服务器代理加密通道调通了。以后就可以以外网服务器的IP地址来访问网站了。
下边是今天架设通道的经验总结,
stunnel服务器端安装及设置
我的服务器使用的是阿里云的ubuntu系统。
stunnel安装
stunnel有两种安装方法,源码安装和apt-get安装.
这里只说最方便的apt-get安装方法。源码安装都是一个套路,这里就不介绍了。

apt-get install stunnel4

apt-get默认安装的是版本4,这个没有关系,我的客户端是stunnel3,也可以正常使用.
stunnel在ubuntu上的配置文件是要放在/etc/stunnel/目录下的,用vi打开这个目录下的README文件,就可以看到给的示例文件是在下边的路径上

/usr/share/doc/stunnel4/examples/stunnel.conf-sample

复制文件到 /etc/stunnel目录下

cp /usr/share/doc/stunnel4/examples/stunnel.conf-sample /etc/stunnel/stunnel.conf

用vi打开stunnel.conf修改配置文件
修改一下下边的内容:
如果调试的时候要看log,可以打开outpu = /var/log/stunnel4/stunnel.log在stunnel运行后查看log文件
填入我们后边要生成的证书

cert = /etc/stunnel/stunnel.pem

key = /etc/stunnel/stunnel.pem

设置stunnel为服务器模式,同注释掉不用的代理,加入我们自已的squid代理

client = no

[squid]

accept = 8888

connect = 127.0.0.1:3128

cert = /etc/stunnel/stunnel.pem

保存,接下来我们生成证书:

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

把这个stunnel.pem文件复制到stunnel.conf中的cert和key所指路径.
修改stunel为开机启动

nano /etc/default/stunnel4

修改 ENABLED 为 1:

ENABLED=1

现在服务器端的stunnel是安装好了,但是还要安装squid的代理工具。

squid安装 

安装好之后,再安装代理工具,因为stunnel只是一个通道建立工具,并不能完成访问外部网络的功能,所以同时服务器还要再安装一个代理工具,stunnel默认是支持squid代理工具的。
squid的安装方法也有源码安装,可以参考这里:http://wiki.ubuntu.org.cn/Squid
下边是apt-get安装

sudo apt-get install squid squid-common

squid安装好之后会自动启动。squid的配置文件在
/etc/squid3/squid.conf
可以用vi打开看一下这个文件,里边有一个3128的端口,这个就是squid默认的端口,也是我们stunnel要连接的代理端口。
 http_port 3128
只是看一下就可以了,也不用改。
启动stunnel:

/etc/init.d/stunnel4 restart

这样服务器端就配置好了,接下来配置客户端
stunnel客户端安装及设置
我使用的客户端是Mac系统,stunnel也有两种安装方法,一种是源码安装,一种是brew安装,这里使用brew安装

brew install stunnel

mac系统下的配置文件是在/usr/local/etc/stunnel目录下
同样下边也有一个stunnel.conf-sample,复制一份重命名为stunnel.conf
使用任意文本编辑器打开stunnel.conf,修改之,

[btcc-trade]
client = yes
accept = 127.0.0.1:10421
connect = [你的stunnel服务器外网IP]:8888
cert = /usr/local/etc/stunnel/stunnel.pem

这里的stunnel.pem是你服务器上生成的那个文件,你要从服务器上下载下来,放在你上边写的目录下,用来作服务器端对客户端身份的认证.
然后启动stunnel

sudo stunnel

好了,现在安全通道已建立完成,你可以把所有的对本机的10421端口(这个端口可以随便设的)的访问镜像到stunnel的3128端口。
下边我们说一下stunnel的实际应用。
使用Google Chrome浏览器,有的时候我们想要注册一些网站的帐号什么的,网站有注册IP限制,一个IP一天只能注册一个,像这样的问题,我们可以使用服务器的ip来进行访问网站的IP地址转移。
使用Google Chrome的多用户功能以及代理插件SwitchySharp,就可以在同一台电脑上使用同一个浏览器但有多个用户分别使用不同的IP地址访问同一个网站了。
再如果你想科学上网,正好自已有一个国外的服务器。你也可以使用这种安全通通来科学上网了。

原创粉丝点击