一、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
代理访问成功