一、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
代理訪問成功