一、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服務器添加網卡
修改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網卡開啓透明代理服務!