Stunnel 加密 Squid 代理服务

加密代理功能的实现,越过封锁限制,访问被墙的国外站点,比如 Google、FaceBook。

用户访问配置了代理服务的浏览器(可使用扩展实现自动切换代理,代理服务即国内 stunnel 监听地址), 国内 stunnel 开启加密连接国外 stunnel 再连接国外 squid 真实代理服务器请求实际网站并返回数据, 如下架构图:

按照上述图,也就是需要两台服务器,不过可以简化,国内 stunnel 可以直接在用户个人笔记本 / 台式机 启动,因为 stunnel 程序支持 windows、macOS、Linux。

以下步骤适用于 CentOS/RHEL 7.x 系统,stunnel 版本 4.56

一、国外的服务器安装 squid 和 stunnel

1. 安装 Squid

2. 生成证书

squid 配置文件中添加:

/etc/squid/squid.conf 我的全部配置信息,按需修改

3. 启动 squid

二、国内服务器安装 stunnel

1. 安装 stunnel

2. 修改配置文件

解释说明:

accept = 0.0.0.0:7071 即是用户要开放的端口,

connect = 国外服务器 IP:4430 squid 服务器地址

3. 启动 stunnel 服务

此时用户连接到国内服务器 7071 作为代理就可以访问一些被墙的网站。

在国内没有服务器,可以在本地安装的一个 Stunnel,用来加解密,所以没有国内服务也不要紧。

去 stunnel 官网下载一个 windows 版的客户端(也许被 qiang,这里是 5.55,可直接下载)

注意: 同步时间

最好同步下国外服务器的时间,并与国内保持一致时区,否则有可能 SSL 验证错误。

stunnel.pem 详细参数

三、Ansible 批量部署

hosts 和 install.yml

squid 相关配置

stunnel相关配置

Last updated