Linux---squid透明代理

Linux—squid透明代理

一.什么是透明代理?

透明代理:与传统代理实现的功能是一样,区别在于客户机不需要手动指定代理服务器的地址和端口,而是通过静态路由、防火墙策略将web访问重定向,实际上仍然交给代理服务器来处理,重定向的过程完全是由squid服务器进行的,所以对于客户机来说,甚至不知道自己使用了squid代理服务,因此呢,我们称之为透明模式。透明模式多用于局域网环境,如在Linux网关中启用透明代理,局域网主机无需进行额外的设置就能享受更好的上网速度。

二.实验环境

一台squid服务器:192.168.88.137

一台web服务器:192.168.88.227

一台客户机

三.实验步骤

1)配置squid服务器

squid的具体配置参考前一篇博客

1.添加一块网卡,设置为仅主机模式
cd /etc/sysconfig/network-scripts/
cp -p ifcfg-ens33 ifcfg-ens36
vim ifcfg-ens36

在这里插入图片描述

service network restart 
2.配置路由转发功能
vim /etc/sysctl.conf
net.ipv4.ip_forward=1		//末行添加

sysctl -p
3.配置squid文件
vim /etc/squid.conf
http_port 192.168.10.1:3128 transparent		// 60行添加透明模式
4.重启squid
[root@localhost network-scripts]# service squid restart
正在关闭Squid...
正在启动Squid...
5.添加防火墙规则
清空规则:
iptables -F
iptables -t nat -F
添加:
iptables -t nat -I PREROUTING -i ens36 -s 192.168.10.0/24 -p tcp --dport 80 -j REDIRECT --to 3128
iptables -t nat -I PREROUTING -i ens37 -s 192.168.10.0/24 -p tcp --dport 443 -j REDIRECT --to 3128
iptables -I INPUT -p tcp --dport 3128 -j ACCEPT

2)配置web服务器

yum install httpd -y
route add -net 192.168.10.0/24 gw 192.168.88.137		//添加静态路由
systemctl stop firewalld.service 
setenforce 0
[root@localhost ~]# systemctl start httpd.service
[root@localhost ~]# netstat -natp | grep 80
tcp6       0      0 :::80                   :::*                    LISTEN      38466/httpd         

3)配置客户机,设置为仅主机模式

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 
[root@localhost ~]# service network restart 
Restarting network (via systemctl):                        [  确定  ]

在这里插入图片描述

4)验证:

1.客户机访问web服务器:

在这里插入图片描述

2.在web服务器上查看日志

在这里插入图片描述

原创文章 84 获赞 95 访问量 5897

猜你喜欢

转载自blog.csdn.net/obsessiveY/article/details/105086099