今天用了半天的时间把内网与外网服务器代理加密通道调通了。以后就可以以外网服务器的IP地址来访问网站了。
下边是今天架设通道的经验总结,
stunnel服务器端安装及设置
我的服务器使用的是阿里云的ubuntu系统。
stunnel安装
stunnel有两种安装方法,源码安装和apt-get安装.
这里只说最方便的apt-get安装方法。源码安装都是一个套路,这里就不介绍了。
apt-get默认安装的是版本4,这个没有关系,我的客户端是stunnel3,也可以正常使用.apt-get install stunnel4
stunnel在ubuntu上的配置文件是要放在/etc/stunnel/目录下的,用vi打开这个目录下的README文件,就可以看到给的示例文件是在下边的路径上
/usr/share/doc/stunnel4/examples/stunnel.conf-sample
复制文件到 /etc/stunnel目录下
用vi打开stunnel.conf修改配置文件cp /usr/share/doc/stunnel4/examples/stunnel.conf-sample /etc/stunnel/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 2048 openssl req -new -x509 -key key.pem -out cert.pem -days 1095 cat 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安装
squid安装好之后会自动启动。squid的配置文件在sudo apt-get install squid squid-common
/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 = yesaccept = 127.0.0.1:10421connect = [你的stunnel服务器外网IP]:8888cert = /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地址访问同一个网站了。
再如果你想科学上网,正好自已有一个国外的服务器。你也可以使用这种安全通通来科学上网了。