您的位置:首页 > 运维架构 > 反向代理

谷歌云Centos 7下的Squid+Stunnel安装

2020-02-16 18:03 1786 查看

谷歌云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
不生成密码
-out

stunnel.pem

生成证书的文件名
-keyout
stunnel.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,自动切换代理。

  • 点赞
  • 收藏
  • 分享
  • 文章举报
小客2020 发布了1 篇原创文章 · 获赞 0 · 访问量 97 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: