squid--透明代理

一、squid透明代理

  • 客户端不需要指定代理服务器的ip地址和监听端口号,感觉是直接和公网通信,但是必须把网关地址指向代理服务器的内网接口ip地址。

  • 特点:对用户是透明的,即用户意识不到防火墙的存在。常用在服务器集群前端。

  • 要想实现透明模式,防火墙必须在没有IP地址的情况下工作,不需要对其设置IP地址,用户也不知道防火墙的IP地址。

  • 优点:既增加了网络的安全性,又降低了用户管理的复杂程度。

二、实验环境

  • squid 透明代理模式必须配置双网卡。
squid服务器 ens33:20.0.0.10
                    ens36:192.168.100.10 (仅主机模式)
web服务器 20.0.0.20
client 192.168.100.10 (仅主机模式)

实验拓扑图:

三、透明代理实验操作

基于上一篇博客的配置

1、squid服务器添加网卡

虚拟机设置

 修改IP地址

cd /etc/sysconfig/network-scripts/
cp -p ifcfg-ens33 ifcfg-ens37

vi ifcfg-ens36  ##修改ens36ip信息
BOOTPROTO=static
##删除uuid修改33为37
IPADDR=192.168.100.10
NETMASK=255.255.255.0  

//重启网络服务
service network restart   
 
//开启路由转发
vim /etc/sysctl.conf  
net.ipv4.ip_forward=1

sysctl -p   ##加载使之生效  

  

2、web服务器指定静态路由

[root@web ~]# route add -net 192.168.100.0/24 gw 20.0.0.10

3、开启透明代理

//修改配置文件
vim /etc/squid.conf
#http_port 3128  修改成下面的代码
http_port 192.168.100.10:3128 transparent   

service squid restart
netstat -ntap | grep 3128

4、设置防火墙规则

iptables -F    #清空表缓存
iptables -t nat -F

//定义规则入口ens36,80端口重定向到3128
iptables -t nat -I PREROUTING -i ens36 -s 192.168.100.0/24 -p tcp --dport 80 -j REDIRECT --to 3128

iptables -t nat -I PREROUTING -i ens36 -s 192.168.100.0/24 -p tcp --dport 443 -j REDIRECT --to 3128

//允许3128端口访问
iptables -I INPUT -p tcp --dport 3128 -j ACCEPT

5、客户机验证

将客户机的ip改为192.168.100.20

然后访问20.0.0.20

  

代理访问成功

  

  

 

 

原文地址:https://www.cnblogs.com/tianzhendengni/p/13953476.html