谷歌云Centos 7下的Squid+Stunnel安装
谷歌云Centos 7下的Squid+Stunnel安装
前言
在SS泛滥的情况下,翻越Great Wall越来越困难,不得不求助更加小众的穿越方案。
原理
Squid:一款Http\Https\代理软件
Stunnel:一款转为Proxy设计的TSL协议加密软件
使用stunnel对连接信息进行加密穿越至Wall后的代理服务器,本文主要用于记录在配置过程中出现的相关问题及处理方案。
服务器端系统:Centos 7
客户端系统:WINDOWS 10
虚拟机平台:Google Cloud
一、Wall外Centos上安装Squid服务
切换至ROOT模式
sodu -i
通过yum安装squid
yum install squid
修改Squid的配置文件
vi /etc/squid/squid.conf
默认配置文件修改
http_access deny all
为
http_access allow all
配置重文件中默认的侦听端口为3128,若更改请统一更改
http_port 3128
Centos 7中默认端口为关闭状态,所以需要开启端口,其中参数permanent为永久开启
firewall-cmd --add-port=3128 --permanent
启动Squid并加入开机自启动
systemctl start squid systemctl enable squid
至此,Squid安装到此结束。
二、Wall外Centos 7安装Stunnel服务端
stunnel需要openssl组件,在个人安装中发现并不再需要安装openssl_devel组件,Centos 7默认安装了openssl,若不清楚系统是否已安装,使用如下命令查看
yum info openssl
返回Repo : installed 表明已安装,否则请安装openssl
yum install openssl
安装Stunnel
yum install stunnel
stunnel安装完成后需要生成证书文件。
openssl req -new -x509 -days 365 -nodes -out stunnel.pem -keyout stunnel.pem
参数说明
-days 365
1年有效期,1年后过期
-new
产生一个新的证书
-x509
生成一个X509证书
-nodes
不生成密码
-outstunnel.pem
生成证书的文件名
-keyoutstunnel.pem
密钥输出文件名
生成的stunnel.pem文件放置于
/etc/stunnel文件夹中,需要复制下载至客户端(A机器)。
vi /etc/squid/squid.conf
并使用i命令输入以下代码:
cert = /etc/stunnel/stunnel.pem CAfile = /etc/stunnel/stunnel.pem socket = l:TCP_NODELAY=1 socket = r:TCP_NODELAY=1 ;;;chroot = /var/run/stunnel pid = /tmp/stunnel.pid verify = 3 ;;; CApath = certs ;;; CRLpath = crls ;;; CRLfile = crls.pem ;setuid = stunnel ;setgid = stunnel ;;; client=yes compression = zlib ;;; taskbar = no delay = no ;;; failover = rr ;;; failover = prio sslVersion = TLSv1 fips=no debug = 7 syslog = no output = stunnel.log [sproxy] accept = 8990 connect = 127.0.0.1:3128
accept = 8990
8990为stunnel服务侦听的端口,可修改,响应来自A客户端的加密信息并进行解密
connect = 127.0.0.1:3128
stunnel将解密后的信息传递至本机的3128端口,这是Squid服务侦听的端口
启动stunnel服务
stunnel /etc/stunnel/stunnel.conf
同样添加8990端口至系统防火墙
firewall-cmd --add-port=8990 --permanent
刷新防火墙
firewall-cmd --reload
TIPS:
1、Centos系统中防火墙默认开启,并关闭所有的非常用端口,所以需要手动将设置的3128、8990端口开启,并重启防火墙
2、谷歌云中有另外的VPC防火墙,需要在控制台中开启8990对外的通讯,否则,客户端将无法连接至代理服务器。
三、Windows 10下安装stunnel软件
Windows 10下安装stunnel软件就非常简单了,前往
https://www.stunnel.org/downloads.html
下载最新的windows用客户端,下载完成后安装
需要将步骤二中服务器端生成的证书文件
stunnel.pem文件下载至stunnel的安装目录。
打开stuunel软件,编辑配置文件,可以直接全部清除,然后复制以下代码至配置文件中,保存并重新载入
;This configuration is made for google cloud platform debug = 7 ;output = stunnel.log cert = stunnel.pem key = stunnel.pem [https] client = yes accept = 127.0.0.1:8080 connect = 你的stunnel服务的ip地址:8990 TIMEOUTclose = 0
网上有其他博主的代码中
output = stunnel.log会持续报错,所以直接注释掉了。
客户端stunnel服务配置完毕,剩下就是手动设置代理模式了。使用时打开stunnel服务,不使用时请关闭IE中的代理设置。如果有chrome会更简单,装好SwitchOmega,自动切换代理。
- 点赞
- 收藏
- 分享
- 文章举报
- nginx清除反向代理缓存
- Squid使用
- 清除指定squid缓存文件的脚本
- 正向代理、反向代理
- caddy & grpc(3) 为 caddy 添加一个 反向代理插件
- 内网反向代理的一些整理(深入理解反向代理)
- Nginx反向代理IIS
- nginx反向代理
- Nginx(三) Nginx负载均衡以及反向代理
- centos7安装Nginx 配置及反向代理
- nginx反向代理配置多域名多端口ssl
- 关于Apache 设置反向代理的一个注意问题
- Nginx 反向代理基本框架
- Nginx的使用(反向代理,负载均衡)
- nginx反向代理
- Squid服务日志分析
- 解决nginx proxy_pass反向代理cookie,session丢失的问题
- Kubernetes用nginx反向代理另外服务
- Nginx反向代理缓存架构设计
- 负载均衡与反向代理理解