指导老师:徐晶晶
目录
1.代理服务器是服务器·,它接收客户端的请求,并将服务器·上传的数据转给客户端
4 虚拟机需求:3台,一台 Server01(服务器),一台 Server02 (两张网卡),一台 Client01(客户机)
1. 安装、启动、停止 squid 服务(在 Server02 上安装)
2 在 Client01 上安装httpd服务,让防火墙允许通过
2.5 打开 squid 配置文件,并增加以下内容并重启squid服务
2.9 在 Linux 客户端 Server01 上测试代理设置是否成功
3.0 在 server01 浏览器地址栏中输入 http://202.112.113.113
1.1 在 Server02 上修改配置文件 ,增加如下内容并重新启动加载该配置文件
1.2 添加防火墙规则,将 TCP端口为80的访问直接转向3129端口,重启防火墙和 squid
1.5 Server01 上的网关为 Server 02 上 ens160 网卡的IP地址
1.6 在 Linux 客户端 Server01 上测试代理设置是否成功
1.7 在 server01 浏览器地址栏中输入 http://202.112.113.113
3.4 在 client01 中 firefox 设置为不使用代理
3.5 在 client01 浏览器地址栏中输入 http://202.112.113.112
前言
代理服务器squid的配置与使用,包括透明代理及反向代理。
1.代理服务器是服务器·,它接收客户端的请求,并将服务器·上传的数据转给客户端
2.代理服务器作用:
1)提高访问速度:缓存作用;
2)限制用户访问:设置相应限制,过滤或屏蔽信息;
3)提高安全性:只能知道代理服务器相关信息。
在第三章的基础上继续实验
4 虚拟机需求:3台,一台 Server01(服务器),一台 Server02 (两张网卡),一台 Client01(客户机)
5 在 Server02 上删除外网伪装
[root@Server02 ~]# firewall-cmd --zone=external --remove-masquerade --permanent
success
[root@Server02 ~]# firewall-cmd --reload
success
6 在 Server02 上删除80端口
[root@Server02 ~]# firewall-cmd --permanent --zone=external --remove-forward-port=port=80:proto=tcp:toport=:toaddr=192.168.10.3
success
[root@Server02 ~]# firewall-cmd --reload
success
一. 使用 squid 服务,配置手动代理
1 安装、启动、停止 squid 服务(在 Server02 上安装)
[root@Server02 ~]# rpm -qa |grep squid
squid-4.15-9.module_el8+880+b94e8375.x86_64
[root@Server02 ~]# mount /dev/cdrom /media/
1.1 安装前先清除缓存
[root@Server02 ~]# dnf clean all
13 个文件已删除
1.2 安装 squid 服务
[root@Server02 ~]# dnf install squid -y
CentOS Stream 8 - Media - BaseOS 20 MB/s | 2.5 MB 00:00
CentOS Stream 8 - Media - AppStream 45 MB/s | 8.2 MB 00:00
软件包 squid-7:4.15-9.module_el8+880+b94e8375.x86_64 已安装。
依赖关系解决。
无需任何处理。
完毕!
1.3 启动 squid 服务,开机自动开启
[root@Server02 ~]# systemctl start squid
[root@Server02 ~]# systemctl enable squid
Created symlink /etc/systemd/system/multi-user.target.wants/squid.service → /usr/lib/systemd/system/squid.service.
2 在 Client01 上安装httpd服务,让防火墙允许通过
2.1 安装 httpd 服务
[root@Client1 ~]# mount /dev/cdrom /media
mount: /media: WARNING: device write-protected, mounted read-only.
[root@Client1 ~]# dnf clean all
13 个文件已删除
[root@Client1 ~]# dnf install -y httpd
CentOS Stream 8 - Media - BaseOS 23 MB/s | 2.5 MB 00:00
CentOS Stream 8 - Media - AppStream 40 MB/s | 8.2 MB 00:00
上次元数据过期检查:0:00:01 前,执行于 2025年04月28日 星期一 21时50分54秒。
软件包 httpd-2.4.37-64.module_el8+965+1ad5c49d.x86_64 已安装。
依赖关系解决。
无需任何处理。
完毕!
2.2 开启http服务
[root@Client1 ~]# systemctl start httpd
[root@Client1 ~]# systemctl enable httpd
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.
2.3 允许http服务通过防火墙
[root@Client1 ~]# systemctl start firewalld
[root@Client1 ~]# firewall-cmd --permanent --add-service=http
Warning: ALREADY_ENABLED: http
success
[root@Client1 ~]# firewall-cmd --reload
success
2.4 去掉 Client01 的网关
2.5 打开 squid 配置文件,并增加以下内容并重启squid服务
[root@Server02 ~]# vim /etc/squid/squid.conf
[root@Server02 ~]# systemctl restart squid
2.6 在 Server02 上设置防火墙
[root@Server02 ~]#firewall-cmd --permanent --zone=internal --add-service=squid
success
[root@Server02 ~]#firewall-cmd --permanent --zone=internal --add-port=80/tcp
success
[root@Server02 ~]#firewall-cmd --reload
success
2.7 查看内部区域的防火墙
[root@Server02 ~]# firewall-cmd --zone=internal --list-all
internal (active)
target: default
icmp-block-inversion: no
interfaces: ens160
sources:
services: cockpit dhcpv6-client mdns samba-client squid ssh
ports: 80/tcp
protocols:
forward: no
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
2.8 查看端口命令
[root@Server02 ~]# netstat -an |grep :3128
tcp6 0 0 :::3128 :::* LISTEN
2.9 在 Linux 客户端 Server01 上测试代理设置是否成功
3.1.2 打开Firefox 浏览器,配置代理服务器,按 “Alt”键调出菜单,单击“编辑”,“首页”,“网络”,“设置”命令,打开”连接设置“对话框,单击”手动代理配置“,将HTTP代理地址设为 Server02 第一张网卡 ens33 的 ip 地址,端口设为”3128“。
3.0 在 server01 浏览器地址栏中输入 http://202.112.113.113
二 配置透明代理
1.1 在 Server02 上修改配置文件 ,增加如下内容并重新启动加载该配置文件
[root@Server02 ~]# vim /etc/squid/squid.conf
[root@Server02 ~]# systemctl restart squid.service
1.2 添加防火墙规则,将 TCP端口为80的访问直接转向3129端口,重启防火墙和 squid
[root@Server02 ~]# firewall-cmd --permanent --zone=internal --add-forward-port=port=80:proto=tcp:toport=3129
success
[root@Server02 ~]# firewall-cmd --reload
success
[root@Server02 ~]# systemctl restart squid
1.3 查看内部防火墙规则
[root@Server02 ~]# firewall-cmd --zone=internal --list-all
internal (active)
target: default
icmp-block-inversion: no
interfaces: ens160
sources:
services: cockpit dhcpv6-client mdns samba-client squid ssh
ports: 80/tcp
protocols:
forward: no
masquerade: no
forward-ports:
port=80:proto=tcp:toport=3129:toaddr=
source-ports:
icmp-blocks:
rich rules:
1.4 查看端口 是否启动侦听
[root@Server02 ~]# netstat -an |grep :3129
tcp6 0 0 :::3129 :::* LISTEN
1.5 Server01 上的网关为 Server 02 上 ens160 网卡的IP地址
1.6 在 Linux 客户端 Server01 上测试代理设置是否成功
2.1 打开 Firefox 浏览器,配置代理服务器,在浏览器中,按“Alt”键调出菜单,依次选择“编辑”,“首选项”,“高级”,“网络” ,“设置”命令,打开“连接设置”对话框,单击“无代理”,将代理服务器设置清空
1.7 在 server01 浏览器地址栏中输入 http://202.112.113.113
三 配置反向代理
1 在Server01 上安装、启动 http 服务
root@server01 ~]# dnf install httpd -y
root@server01 ~]# systemctl start httpd
root@server01 ~]# systemctl start httpd
root@server01 ~]# systemctl status httpd
2 设置防火墙让 http 服务通过
root@server01 ~]# firewall-cmd --add-service=http --permanent
success
root@server01 ~]# firewall-cmd --reload
success
3 在Server02上 配置反向代理
3.1 在Server02 上设置防火墙规则
[root@Server02 ~]# firewall-cmd --permanent --zone=external --add-service=squid
success
[root@Server02 ~]# firewall-cmd --permanent --zone=external --add-port=80/tcp
success
[root@Server02 ~]# firewall-cmd --reload
success
3.2 查看外部区域的防火墙规则
[root@Server02 ~]# firewall-cmd --zone=external --list-all
external (active)
target: default
icmp-block-inversion: no
interfaces: ens224
sources:
services: squid ssh
ports: 80/tcp
protocols:
forward: no
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
3.3 修改 squid 配置文件
3.4 在 client01 中 firefox 设置为不使用代理