一、squid透明代理
-
客户端不需要指定代理服务器的ip地址和监听端口号,感觉是直接和公网通信,但是必须把网关地址指向代理服务器的内网接口ip地址。
-
**特点:**对用户是透明的,即用户意识不到防火墙的存在。常用在服务器集群前端。
-
**要求:**要想实现透明模式,防火墙必须在没有IP地址的情况下工作,不需要对其设置IP地址,用户也不知道防火墙的IP地址。
-
**优点:**既增加了网络的安全性,又降低了用户管理的复杂程度。
二、实验环境
- squid 透明代理模式必须配置双网卡。
squid服务器 ens33:192.168.100.128
ens36:192.168.10.1 (仅主机模式)
web服务器 192.168.100.131
client 192.168.10.10 (仅主机模式)
- 实验拓扑图:
三、透明代理实验操作
我这里的squid服务器和web服务器的安装就不介绍了。
大家可以看我的上一篇博客,链接:squid代理介绍----传统代理
1、squid服务器添加网卡
**
1:修改IP地址
cd /etc/sysconfig/network-scripts/
cp -p ifcfg-ens33 ifcfg-ens36
vi ifcfg-ens36 ##修改ens36ip信息
BOOTPROTO=static
##删除uuid修改33为36
IPADDR=192.168.10.1
NETMASK=255.255.255.0
//重启网络服务
service network restart
//开启路由转发
vim /etc/sysctl.conf
net.ipv4.ip_forward=1
sysctl -p ##加载使之生效
2、web服务器指定静态路由
route add -net 192.168.10.0/24 gw 192.168.100.128
3、开启透明代理
//修改配置文件
vim /etc/squid.conf
#http_port 3128 修改成下面的代码
http_port 192.168.10.1: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.10.0/24 -p tcp --dport 80 -j REDIRECT --to 3128
iptables -t nat -I PREROUTING -i ens36 -s 192.168.10.0/24 -p tcp --dport 443 -j REDIRECT --to 3128
//允许3128端口访问
iptables -I INPUT -p tcp --dport 3128 -j ACCEPT
5、客户机验证
客户端win10设置IP地址、掩码、网关,打开IE浏览器,输入192.168.100.131(web服务器)
同时查看web服务器的日志文件,看到192.168.100.128。
cd /etc/httpd/logs/
cat access_log
即squid的ens33网卡开启透明代理服务!