千家信息网

CentOS上怎么使用Squid+Stunnel搭建代理服务器

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要介绍"CentOS上怎么使用Squid+Stunnel搭建代理服务器",在日常操作中,相信很多人在CentOS上怎么使用Squid+Stunnel搭建代理服务器问题上存在疑惑,小编查阅了各
千家信息网最后更新 2026年11月01日CentOS上怎么使用Squid+Stunnel搭建代理服务器

这篇文章主要介绍"CentOS上怎么使用Squid+Stunnel搭建代理服务器",在日常操作中,相信很多人在CentOS上怎么使用Squid+Stunnel搭建代理服务器问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"CentOS上怎么使用Squid+Stunnel搭建代理服务器"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

代理服务器,就不用介绍了,简单说一下安装过程。开始的时候在hosting24上面,安装,怎么安装都没有成功,换成linode,半个小时就搞定了,猜测hosting24对代理做了限制。
一,服务器说明
一台国外的vps(推荐linode),服务端squid
一台公司内部的PC机,能访问外网就行,客户端stunnel
要达到的目的,公司内部人员,连接公司内部的pc机,通过stunnel通道连接远端squid,上外网查资料,谷歌,众里寻你千百度,蓦然回首你却在高墙外头。唉。


二,服务端安装squid
1,安装squid

代码如下:


# yum install squid openssl openssl-devel


2,生成加密代理证书

代码如下:


# cd /etc/squid
# openssl req -new > tank.csr //要求输入密码和确认密码
# openssl rsa -in privkey.pem -out tank.key //输入上面输入的密码
# openssl x509 -in tank.csr -out tank.crt -req -signkey tank.key -days 3650


3,配置squid

代码如下:


# vim /etc/squid/squid.conf

acl OverConnLimit maxconn 10 //限制每个IP最大允许10个连接,防止攻击
minimum_object_size 1 KB //允午最小文件请求体大小
maximum_object_size 1 MB //允午最大文件请求体大小
cache_swap_low 10 //最小允许使用swap 10%
cache_swap_high 25 //最大允许使用swap 25%
cache_mem 300 MB //可使用内存

/*****************上面是新增,下面是修改************************/

cache_dir ufs /var/spool/squid 2048 16 256 //2048存储空间大小,一级目录16个,二级256个
https_port 4430 cert=/etc/squid/tank.crt key=/etc/squid/tank.key //端口可自定义
http_access allow all


vps硬盘,内存都不富裕,所以对squid所占用的内存和硬盘等要加以控制。
4,启动squid,并查看

代码如下:


# /etc/init.d/squid start

# ps aux |grep squid
root 15984 0.0 0.0 103256 844 pts/0 S+ 17:31 0:00 grep squid
root 16585 0.0 0.0 72484 4176 ? Ss 15:27 0:00 squid -f /etc/squid/squid.conf
squid 16587 0.0 0.3 93064 29468 ? S 15:27 0:03 (squid) -f /etc/squid/squid.conf
squid 16589 0.0 0.0 48632 2100 ? S 15:27 0:00 (ncsa_auth) /etc/squid/passwd
squid 16590 0.0 0.0 48632 1788 ? S 15:27 0:00 (ncsa_auth) /etc/squid/passwd
squid 16591 0.0 0.0 48632 1784 ? S 15:27 0:00 (ncsa_auth) /etc/squid/passwd
squid 16592 0.0 0.0 48632 1788 ? S 15:27 0:00 (ncsa_auth) /etc/squid/passwd
squid 16593 0.0 0.0 48632 1784 ? S 15:27 0:00 (ncsa_auth) /etc/squid/passwd
squid 16594 0.0 0.0 20084 1112 ? S 15:27 0:00 (unlinkd)


VPS很少有,自启动开启防火墙的,如果有先关掉,等都配置好了,在开放端口。


三,客户端安装配置stunnel
1,安装

代码如下:


# yum install stunnel


2,新增配置/etc/stunnel/stunnel.conf,添加以下内空

代码如下:


client = yes
fips = no
[https]
accept = 7071
connect = 外网VPS的IP:4430


如果报,FIPS_mode_set: 2D06C06E: error:2D06C06E:FIPS routines:FIPS_module_mode_set:fingerprint does not match,stunnel.conf配置文件中加上,fips = no
3,启动stunnel并查看

代码如下:


# stunnel //启动,默认配置文件路径 /etc/stunnel/stunnel.conf

# ps aux |grep stunnel //查看
root 15972 0.0 0.0 103256 848 pts/0 S+ 17:30 0:00 grep stunnel
root 21099 0.0 0.0 41532 1060 pts/0 S 15:42 0:00 stunnel
root 21100 0.0 0.0 41532 1060 pts/0 S 15:42 0:00 stunnel
root 21101 0.0 0.0 41532 1060 pts/0 S 15:42 0:00 stunnel
root 21102 0.0 0.0 41532 1060 pts/0 S 15:42 0:00 stunnel
root 21103 0.0 0.0 41532 1060 pts/0 S 15:42 0:00 stunnel
root 21104 0.0 0.0 2077984 6824 ? Ss 15:42 0:00 stunnel


到这儿就安装好了,设置浏览器代理,填写局域网IP和端口,就可以访问外网了,这样不太安全,如果能加上用户认证会,安全一点。

四,用户认证
1,添加认证用户 test123

代码如下:


# htpasswd -c /etc/squid/passwd test123


2,配置代理以及用户认证

代码如下:


# vim /etc/squid/squid.conf //添加以下内容

auth_param basic program /usr/lib64/squid/ncsa_auth /etc/squid/passwd //认证方式为basic,认证程序路径和密码文件路径
auth_param basic children 5 //认证程序的进程数
auth_param basic credentialsttl 1 hours //认证有效时间
auth_param basic realm my test prosy //浏览器显示输入用户/密码对话框时,显示的内容
acl test123 proxy_auth REQUIRED
http_access allow test123 //普通用户需要通过认证才能访问
http_access deny all //最下面,匹配是从上到下的


3,重启squid

代码如下:


# /etc/init.d/squid restart


这样squid代理就搭好了,浏览器里面设置一下代理IP和端口,会弹出认证框,输入用户名和密码就行了。
4,php也可以利用代理服务器

代码如下:


function testCurl($url){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $gurl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, TRUE);
curl_setopt($ch, CURLOPT_PROXY, "192.168.1.18:7071"); //ip/端口
curl_setopt($ch, CURLOPT_PROXYUSERPWD, 'test123:123456'); //认证用户和密码
$result=curl_exec($ch);
curl_close($ch);
return $result;
}

echo testCurl("google.com");

到此,关于"CentOS上怎么使用Squid+Stunnel搭建代理服务器"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

代理 代码 认证 服务 用户 服务器 密码 配置 文件 端口 输入 学习 最大 公司 内存 大小 浏览器 路径 浏览 最小 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 南京欣网互联网络科技有限公司 云之行互联网科技 互联网科技巨头监管 科技企业和互联网企业 世界互联网领先科技成果 壹账通互联网科技 米客互联网科技 多迪互联网科技有限公司 广州慧亚互联网科技怎么样 移动互联网科技股 开一家科技互联网公司需要多少钱 国大互联网教育科技有限公司工作 乌苏新华互联网科技做什么的 江苏苏星互联网科技有限公司 陕西云淼互联网科技公司 下一代互联网重大应用科技园 福州德业互联网科技 互联网科技平台产品运营 北京天晋互联网科技有限公司 上海旺乐尼互联网科技有限公司 山东特亿宝互联网科技有限公司 华宇互联网科技 互联网科技小额贷款 上海万想互联网科技 苏州五指互联网络科技有限 华夏互联网科技业 山东有哪些互联网科技公司 保山互联网科技靠谱吗 数字科技和互联网金融哪个好 恒生科技互联网指数十大成分股
0