Linux 代理服务器 squid 安装和使用 [正向代理]

什么是 squid

Squid是一个高性能的代理缓存服务器,Squid支持FTP、gopher、HTTPS和HTTP协议。和一般的代理缓存软件不同,Squid用一个单独的、非模块化的、I/O驱动的进程来处理所有的客户端请求

相关版本

cat /etc/redhat-release
操作系统 : CentOS Linux release 7.4.1708
yum info squid
squid : 3.5.20

代理服务器相关配置

squid 安装

yum install -y squid

启动 squid 服务

systemctl start squid

修改配置文件,设置需要代理的 ip

 vim /etc/squid/squid.conf

[root@aaron ~]# vim /etc/squid/squid.conf
acl localnet src 192.168.0.1/16 #配置运行访问代理服务器的源
http_port 3128 #设置代理服务器监听端口,默认3128,建议修改,如果启用了防火墙需要开放监听端口的安全策略。

查看服务运行状态

netstat -tnpl |grep 3128

tcp6 0 0 :::3128 ::😗 LISTEN 4046/(squid-1)

systemctl status squid

[root@server002 ~]# systemctl status squid
● squid.service - Squid caching proxy
Loaded: loaded (/usr/lib/systemd/system/squid.service; disabled; vendor preset: disabled)
Active: active (running) since Thu 2022-06-23 14:04:16 CST; 3 days ago
Process: 4032 ExecStop=/usr/sbin/squid -k shutdown -f $SQUID_CONF (code=exited, status=0/SUCCESS)
Process: 4042 ExecStart=/usr/sbin/squid $SQUID_OPTS -f $SQUID_CONF (code=exited, status=0/SUCCESS)
Process: 4036 ExecStartPre=/usr/libexec/squid/cache_swap.sh (code=exited, status=0/SUCCESS)
Main PID: 4044 (squid)
Tasks: 3
Memory: 13.8M
CGroup: /system.slice/squid.service
├─4044 /usr/sbin/squid -f /etc/squid/squid.conf
├─4046 (squid-1) -f /etc/squid/squid.conf
└─4047 (logfile-daemon) /var/log/squid/access.log
Jun 23 14:04:16 server002 systemd[1]: Starting Squid caching proxy…
Jun 23 14:04:16 server002 squid[4044]: Squid Parent: will start 1 kids
Jun 23 14:04:16 server002 systemd[1]: Started Squid caching proxy.
Jun 23 14:04:16 server002 squid[4044]: Squid Parent: (squid-1) process 4046 started

客户端的使用

软件自带代理功能

像 Apipost 这类软件自带设置代理的功能,在设置中配置即可。
在这里插入图片描述

【mac】网络偏好设置

在这里插入图片描述
在这里插入图片描述
这种方式会使你的浏览器访问的请求,通过代理服务器访问。但是有个问题,比如开发的程序需要通过请求 https://test.com,这种方式就不支持了。我个人感觉是跟代理的作用域有关,有懂的大佬可以留言说明一下,我这边使用 proxifier 实现了该需求。

全局代理,指定应用程序走代理

使用 proxifier。附一个下载链接
proxifier 验证过,确实可以使本地程序走指定的代理服务器,并且可以设置规则,全局代理或者指定某个或某几个应用程序走代理。


window 和 Linux ,后续验证后补充。。。

代码是工作之余写的,代码分为转发服务器代理服务器 先说转发服务器 转发服务器其实也可以说成是重定向服务器,比如转发服务器监听80端口,如果有浏览器用户访问服务器IP(浏览器默认请求80端口),转发服务器接收到浏览器用户的请求后,便把浏览器用户的请求重定向到本机的其它端口或者处于同一网段其它机器的指定端口 再说一下代理服务器 先说明一下,我这个代理服务器只能代理指定的网站或其它可以代理的客户,比如建在内网的SVN服务或者有些地方不能访问的外网网站。 代理服务器分为服务器客户端,服务器端需要运行在客户端大家都能访问的外网上,客户端需要放在能访问到需要代理的客户的网络上,也可以放在客户的本机上。 用法: 解压proxy.tar.gz 进入proxy目录,然后make,会生成三个我们需要的程序,transmit(转发服务器)、manager(代理服务器端)、client(代理客户端) 服务器端用法: ./transmit [端口](比如80) ./manager [端口](随便指定) 客户端用法: ./client -i [代理服务器IP]:[端口] -t [客户IP]:[端口] -d [客户域名] 举例: 假如我的外网服务器IP为1.2.3.4,代理的客户为网易(网易域名:www.163.com,IP:202.108.9.33) 服务器端如下运行 ./transmit 80 ./mananger 8000 客户端如下运行 ./client -i 1.2.3.4:8000 -t 202.108.9.33 -d www.163.com 或 ./client -i 1.2.3.4:8000 -t 202.108.9.33:80 -d www.163.com 然后在本机hosts文件(windows是c:windowssystem32driversetchosts linux是/etc/hosts)填加如下一行 1.2.3.4 www.163.com 这时在浏览器里敲www.163.com就可以通过代理服务器访问网易了 当然如果客户是自己申请域名,就可以直接把自己的域名指向1.2.3.4,而不用修改本机hosts文件了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值