CentOS7-使用squid搭建http代理服务器

x33g5p2x  于2021-11-17 转载在 其他  
字(3.1k)|赞(0)|评价(0)|浏览(454)

我使用的是CentOS7 版本的服务器其他版本估计也都差不多,可以自己试试

介绍

1.代理proxy:

首先从概念上讲,代理这个词,词语的汉语解释:受委托代表当事人进行某种活动。

也就是说,代理的作用就是代替别人做一些事情,比如,代理律师,就是代表当事人进行法律的活动。

2.代理服务器proxy server

我们将上面的概念进行类比,代理服务器也就是一台服务器,一般我们的请求,会直接发送给真实的服务器,

真实的服务器来响应我们的请求。那么代理服务器的作用,就是把我们的请求先发送给代理服务器,由代理

服务器来将请求发送给真实的目标服务器上。同时呢,代理服务器可以判断,是否要真的把我们的一些请求发送

给真实的服务器,比如,在公司,不能上外网,那么公司会提供一个代理服务器,通过这个代理服务器我们就能上

外网了,但是会发现,有些视频网站,特殊的网站是访问不了的,也就是我们的这些请求不满足代理服务器的请求要求。

简单来说:代理服务器,就是代替我们把请求发送到目标服务器。

3.使用代理服务器的目的

-1)提高性能

代理服务器会有缓存,如果多次请求,或者多个请求是同样的内容,可以跳过从真实服务器取数据的过程,而是直接从代理服务器上获取

对于有成千上万的请求来说,那么会减少时间的消耗,进而提高性能

-2)过滤请求

比如,公司的代理服务器会过滤一些请求,来阻止员工访问一些特定的网站

其实我自己来说最常用的是用来跨外网,免得买vpn了,你在国外买一个服务器然后改造成代理服务器那么就可以在国内进行访问国外的资源了,

然后就是使用python爬虫…,或者你攻击一个网站,难道你使用你本机的真实ip去攻击???,这么傻逼的事情谁干谁死,不抓你抓谁,解决办法,购买国外你匿名服务器,或者自己找肉鸡搭建代理服务器,然后进行攻击,这样谁会知道是你攻击的…禁止干非法事情,我们是中国好公民,禁止使用本教程内容,进行非法营业,本人概不负责…

安装squid

安装Squid并启动服务、设置开机自启动

yum -y install squid
systemctl start squid
systemctl enable squid
#查看帮助文件
squid -h

如果上面命令安装不了squid那么执行下面这些命令后在从新执行上面命令

yum clean all
yum makecache
yum update -y
yum -y install epel-release
yum -y update

无密码全部人都能访问的方式配置

这种方式不建议,因为给别人做了嫁衣了,自己还可能有入狱的风险…玩玩就行了
修改配置文件

vi  /etc/squid/squid.conf

squid.conf 有几行行代码需要修改 :

  1. http_access deny all 改为 http_access allow all
  2. http_access deny CONNECT !SSL_ports 改为 http_access allow CONNECT !SSL_ports

重启Squid

systemctl restart squid

查看访问日志

tail -f /var/log/squid/access.log

无密码指定人能访问的方式配置

这种方式: 主要是为了解决有些软件或者编程语言不支持代理ip账户和密码的方式,只能使用代理ip

如果过程中修改错了…可以使用 squid.conf.default还原之前修改过的文件内容
修改配置文件

vi  /etc/squid/squid.conf

在最后的acl下面添加

acl guests src "/etc/squid/guest"

然后在添加

http_access allow guests

之后在创建一个文件并添加内容

vi /etc/squid/guest

内容

117.61.244.114/24

117.61.244.114 是你的网络ip而不是本地ip ,可以直接在百度上搜索查询本地ip就行

/24 是你的子网掩码 ,一般电脑的子网掩码都是/24,而子网掩码具体原理可以自行百度

修改文件内容
http_access deny CONNECT !SSL_ports 改为 http_access allow CONNECT !SSL_ports

重启Squid

systemctl restart squid

查看访问日志

tail -f /var/log/squid/access.log

有密码的方式配置(建议)

安装工具和创建账户密码存储文件

#设置密码
yum -y install httpd-tools
touch /etc/squid/passwd && chown squid /etc/squid/passwd

如果过程中修改错了…可以使用 squid.conf.default还原之前修改过的文件内容
修改配置文件

vi  /etc/squid/squid.conf

在配置文件最后的acl代码块下添加

auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwd
auth_param basic children 5
auth_param basic realm Squid Basic Authentication
auth_param basic credentialsttl 2 hours
acl auth_users proxy_auth REQUIRED
http_access allow auth_users

修改文件内容

http_access deny all 改为 http_access allow all

http_access deny CONNECT !SSL_ports 改为 http_access allow CONNECT !SSL_ports

创建能访问代理服务ip的用户密码(会提示让你输入密码和再次确认密码)

htpasswd /etc/squid/passwd name

可以创建n个用户,这n个用户都能访问此服务的代理,可以查看/etc/squid/passwd 文件里的内容(用户和密码都在这里) (每次创建一个用户都要重启squid)

重启Squid

systemctl restart squid

查看访问日志

tail -f /var/log/squid/access.log

其他squid命令

启动
systemctl start squid
停止
systemctl stop squid
重启
systemctl restart squid
设置开机自启
systemctl enable squid
访问日志查询
tail -f /var/log/squid/access.log

检测代理ip是否好使(本地windows)

如果你会python那么使用selenium自行测试
还可使用Proxifier进行给本地进行设置代理ip来测试是否好用,这个我这里提供一个软件具体使用百度上找
Proxifier
链接:https://pan.baidu.com/s/1azNtfCzxzvjNWQQ9-5wZEQ
提取码:1234

高度匿名配置(隐藏客户的ip)

vi /etc/squid/squid.conf
在文件内,最下面添加以下内容就行

request_header_access X-Forwarded-For deny all
request_header_access From deny all
request_header_access Via deny all

重启
systemctl restart squid

检测自己的ip是否被隐藏

如果只显示代理服务器的ip那么,你的本地ip就成功被隐藏了

注意: 不要想着使用高度匿名代理不会追踪到你只要你别干违法的事情…,如果真想找到你还是可以办到的只是有点麻烦而已(代理服务器的访问日志)

相关文章