Linux squid服务器

目录

一、squid代理的作用

二、squid代理服务器的工作流程

三、正向代理和反向代理的区别:

四、代理软件和常用配置

1.代理软件:squid

2.squid常用配置选项

五、实验(正向代理的标准正向代理和透明正向代理)

标准正向代理:

透明正向代理


一、squid代理的作用

1.支持代理(正向代理)和反向代理的软件

①代理(正向代理):代替客户端去访问位于互联网上的网站服务器,某些局域网内的主机内网IP地址无法连接到互联网,可以借助代理服务器squid实现访问互联网

代理(正向代理):分类

标准正向代理:客户端需要填写正确的IP和端口,以及开启代理功能才可以实现

透明正向代理:强制使用代理功能,客户端不自知,一般生产环境中直接设置成透明正向代理即可

②反向代理:代替服务器接受用户的请求,将反向代理服务器视为要访问的服务器,反向代理服务器在使用对应的算法将用户的请求转交给后台服务器{nginx、lvs、amoeba},这种方式通过降低了WEB服务器的请求数从而降低了WEB服务器的负载

2.数据缓存(正向代理和反向代理都有缓存)

3.访问控制功能,主要是控制用户对web服务器的访问(正向代理)

二、squid代理服务器的工作流程

当代理服务器接收到客户的访问请求时,首先检查自己的数据缓存,并且向web服务器发送一个数据是否更新的请求,如果代理服务器中有缓存,并且数据没有发生变化,则直接将数据返回给用户,如果数据有新的变化,则真实web服务器返回相应的数据给squid,再由squid服务器返回给用户,并且自己也保留一份。

三、正向代理和反向代理的区别:

1.概念:

正向代理:客户端的代言人,由suqid服务器代替客户访问服务器。

反向代理:代理web服务器接受客户的访问,squid服务器再以本身算法的形式将请求发送给真实服务器

2.用途:

正向代理:是为在防火墙内的局域网客户端提供访问Internet的途径。正向代理还可以使用缓冲特性减少网络使用率。

反向代理:还可以为后端的多台服务器提供负载平衡,或为后端较慢的服务器提供缓冲服务。另外,反向代理还可以启用高级URL策略和管理技术,从而使处于不同web服务器系统的web页面同时存在于同一个URL空间下。

3.安全性:

用途是为在防火墙内的局域网客户端提供访问Internet的途径。正向代理还可以使用缓冲特性减少网络使用率。

反向代理还可以为后端的多台服务器提供负载平衡,或为后端较慢的服务器提供缓冲服务。另外,反向代理还可以启用高级URL策略和管理技术,从而使处于不同web服务器系统的web页面同时存在于同一个URL空间下。

² 安全性

正向代理:允许客户端通过它访问任意网站并且隐藏客户端自身,因此你必须采取安全措施以确保仅为经过授权的客户端提供服务。

反向代理:对外都是透明的,访问者并不知道自己访问的是一个代理。

四、代理软件和常用配置

1.代理软件:squid

软件包: squid

服务: squid

配置文件: /etc/squid/squid.conf

端口号: TCP 3128

默认访问日志文件: /var/log/squid/access.log

说明:Squid 在3.0 版本后使用C语言进行重构,效率大大提升,Centos6标配Squid 3.0 以上版本

2.squid常用配置选项

/etc/squid/squid.conf

http_port 3128 #(还可以只监听一个IP http_port 192.168.0.1:3128)

cache_mem 64MB #缓存占内存大小

maximum_object_size 4096KB #最大缓存块

reply_body_max_size 1024000 allow all #限定下载文件大小

access_log /var/log/squid/access.log #访问日志存放的地方

visible_hostname proxy.kernel.cn #可见的主机名

cache_dir ufs /var/spool/squid 100 16 256

#ufs:缓存数据的存储格式

#/var/spool/squid 缓存目录

#100:缓存目录占磁盘空间大小(M)

#16:缓存空间一级子目录个数

#256:缓存空间二级子目录个数

cache_mgr admin@kernel.cn #定义管理员邮箱

http_access deny all #访问控制访问控制

五、实验(正向代理的标准正向代理和透明正向代理)

标准正向代理:

1.准备工作:三台服务器

7 (测试机) VMnet10 IP192.168.10.10 PREFIX=24 GATEWAY=192.168.10.20

7-1 (squid服务器) VMnet10(ens33)IP192.168.10.20和VMnet11(ens37)IP192.168.11.20{修改网卡名、复制ens33并且删除UUID号}

7-2(web{apache服务器})VMnet11 IP192.168.11.30 PREFIX=24 GATEWAY=192.168.11.20

2.配置7-2(web{apache服务器})

安装httpd 、写入网页文件、启动并开机自启

监听apache日志 tailf /var/log/httpd/access_log

3.配置7-1(squid服务器)

①安装squid包,开启路由转发

vim /etc/sysctl.conf

新增 net.ipv4.ip_forward=1

sysctl -p

②修改配置文件

vim /etc/squid/squid.conf

cache_dir ufs /var/spool/squid 100 16 256 #取消注释,数据缓存目录以及缓存大小上限、一级目录和二级目录缓存的大小文件数量

在http_port下一行新增

visible_hostname proxy.kernel.com #声明服务器的域名

③重启 systemctl restart squid

4.配置测试机7(浏览器)(字符界面)

①修改环境变量

vim /etc/profile

末行添加 export HTTP_PROXY=192.168.10.20(squid服务器VMnet10IP):3128

source /etc/profile

②yum -y install elinks(注意:修改完环境变量后只对elinks生效)

elinks 192.168.11.30(web服务器IP)就会出现web服务器的界面,再次刷新访问,就是通过squid服务器(192.168.11.20)的缓存访问的,这时,如果web服务器数据发生改变,则squid服务器会访问到新的数据交给客户端(前提是测试机的字符界面浏览器清除了缓存)

4.配置测试机7(浏览器)(windows10虚拟机界面)

①安装虚拟机windows10版本,设置网络模式为VMnet10

IP 192.168.10.5 NETMASK=255.255.255.0 GATEWAY=192.168.10.20

可以关闭防火墙测试

②设置Windows代理功能

点击设置——代理 填写squid服务器IP和端口

③测试 输入web服务器IP(192.168.11.30)

打开web服务器监听 tailf /var/log/httpd/access_log就能看到是squid服务器访问的,并且有缓存,测试发现,第一次返回的结果是200,证明第一次访问,刷新页面,返回结果304,证明是从缓存中直接返回结果的

透明正向代理

1.透明正向代理和标准正向代理实验基本一致,区别是透明正向代理的测试机不用配置代理功能,因为强制走向squid服务器,只需要在suqid服务器上添加一条防火墙规则即可

2.准备工作:三台服务器

7 (测试机) VMnet10 IP192.168.10.10 PREFIX=24 GATEWAY=192.168.10.20

7-1 (squid服务器) VMnet10(ens33)IP192.168.10.20和VMnet11(ens37)IP192.168.11.20{修改网卡名、复制ens33并且删除UUID号}

7-2(web{apache服务器})VMnet11 IP192.168.11.30 PREFIX=24 GATEWAY=192.168.11.20

2.配置7-2(web{apache服务器})

安装httpd 、写入网页文件、启动并开机自启

监听apache日志 tailf /var/log/httpd/access_log

3.配置7-1(squid服务器)

①开启路由转发

vim /etc/sysctl.conf

新增 net.ipv4.ip_forward=1

sysctl -p

②修改配置文件

vim /etc/squid/squid.conf

cache_dir ufs /var/spool/squid 100 16 256 #取消注释,数据缓存目录以及缓存大小上限、一级目录和二级目录缓存的大小文件数量

http_port 后面加 transparent(透明代理)下一行新增

visible_hostname proxy.kernel.com #声明服务器的域名

③ iptables -t nat -A PREROUTING -i ens33 -s 192.168.10.0/24 -p tcp --dport 80 -j REDIRECT --to-ports 3128 #添加一条防火墙规则

④重启systemctl restart squid

4.配置测试机7(浏览器)(windows10虚拟机界面)

关闭代理功能(没开启则不用开)

输入 web服务器IP 192.168.11.30

查看web服务器日志 tailf /var/log/httpd/access_log,就会发现是squid服务器访问的web服务器,并且客户端还不自知访问的squid服务器

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
CentOS 7 Linux中的Squid代理服务器是一个流行的开源代理服务器软件,可用于缓存和控制访问Internet的客户端请求。您可以按照以下步骤在CentOS 7上安装和配置Squid代理服务器: 1. 安装Squid软件包:在终端中执行以下命令以安装Squid软件包: ``` sudo yum install squid ``` 2. 配置Squid代理服务器:编辑Squid的主要配置文件`/etc/squid/squid.conf`,根据您的需求进行相应的配置。您可以使用文本编辑器打开该文件并进行修改。 3. 启动和配置自启动Squid:执行以下命令以启动Squid服务并设置其在系统启动时自动启动: ``` sudo systemctl start squid sudo systemctl enable squid ``` 4. 配置客户端连接:根据需要,您可以在客户端的网络设置中将代理服务器配置为Squid代理服务器的IP地址和端口号。 注意:在Windows系统中连接到Squid代理服务器时,您需要按照相应的设置来配置Windows网络代理设置。 请注意,这只是Squid代理服务器的基本安装和配置步骤。根据您的具体需求,您可能需要更多的配置和自定义操作。希望这些信息能够帮助您设置CentOS 7上的Squid代理服务器。 <span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [CentOS7安装squid代理服务器](https://blog.csdn.net/m0_51510236/article/details/126845664)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Cho~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值