Squid cache(简称为 Squid)是一个流行的自由软件(GNU 通用公共许可证)的代理服务器和 Web 缓存服务器。Squid 有广泛的用途,从作为网页服务器的前置 cache 服务器缓存相关请求来提高 Web 服务器的速度,到为一组人共享网络资源而缓存万维网,域名系统和其他网络搜索,到通过过滤流量帮助网络安全,到局域网通过代理上网。Squid 主要设计用于在 Unix 一类系统运行。
使用squid配置正向代理即可实现内网主机访问外网
安装squid服务
#centos8
sudo yum -y install squid
cd /etc/squid
sudo vim squid.conf
#添加配置
#配置访问代理的源ip
acl localnet src x.x.x.x/32
#修改http端口
http_port xx*
#添加https端口并配置加密证书,加密证书提前用openssl生成在/etc/squid目录下
https_port xx cert=/etc/squid/x.com.crt key=/etc/squid/x.com.key
安装openssl并生成密钥文件
sudo yum -y install openssl-devel openssl
cd /etc/squid
sudo openssl req –new > x.com.csr
sudo openssl rsa –in privkey.pem –out x.com.key
sudo openssl x509 –in x.com.csr -out xcom.crt -req –signkey x.com.key -days 3650
启动squid服务
sudo sysmtemctl status squid
sudo systemctl status squid
客户端采用加密隧道连接代理
客户端下载stunnel软件并安装
https://www.stunnel.org/downloads.html
将安装目录中stunnel.conf文件进行备份,重新添加配置
client = yes
[ssl2http]
accept = 127.0.0.1:xxx #设置local ip和端口(自定义)
connect = x.x.x.x:xxx #设置代理服务器ip和端口(端口与代理服务器设置的端口一致)
客户端设置代理
以windows为例
在浏览器设置中,设置代理127.0.0.1,端口xxx,即可从代理访问