Squid----透明代理模式

Squid----透明代理模式

一:定義

​ 透明代理提供的服務功能與傳統代理是一致的,但是其“透明”的實現依賴於默認路由和防火牆的重定向策略,因此更適合局域網主機服務,而不適合爲Internet中的客戶機提供服務。

​ 客戶機不需要指定代理服務器的地址和端口,是通過默認路由,防火牆將web重定向給代理;使用代理可以提高web的訪問速度,同時可以隱藏客戶機的真實IP地址,從而起到一定的保護作用;另一方面,squid也可以針對要訪問的目標、客戶機的地址、訪問的時間段進行過濾控制。

二:網絡拓撲圖

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-L6XUKyfS-1584525400385)(C:\Users\xumin\AppData\Roaming\Typora\typora-user-images\1584518200962.png)]

三:實驗環境

Squid服務器需添加一塊網卡:192.168.10.1 (僅主機模式);
client客戶機修改網卡爲僅主機模式,IP地址修改爲192.168.10.10,瀏覽器要關閉代理功能。

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-zzHMU2Qk-1584525400387)(C:\Users\xumin\AppData\Roaming\Typora\typora-user-images\1584517852376.png)]

四:實驗步驟

(實驗接着squid傳統代理模式下繼續做)

  • Squid服務器上部署

1、添加一塊網卡(僅主機模式)

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-9VLvsFpZ-1584525400387)(C:\Users\xumin\AppData\Roaming\Typora\typora-user-images\1584518439500.png)]

2、設置網卡IP地址
[root@squid ~]# cd /etc/sysconfig/network-scripts/
[root@squid network-scripts]# cp -p ifcfg-ens33 ifcfg-ens36
[root@squid network-scripts]# vim ifcfg-ens36

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-BiqsC8bY-1584525400388)(C:\Users\xumin\AppData\Roaming\Typora\typora-user-images\1584518771741.png)]

[root@squid network-scripts]# service network restart      ‘重啓網卡’
3、開啓路由轉發功能
[root@squid network-scripts]# vim /etc/sysctl.conf
net.ipv4.ip_forward=1       ‘末行添加’
[root@squid network-scripts]# sysctl -p       ‘加載sysctl.conf’
4、配置squid透明代理
[root@squid squid-3.4.6]# vim /etc/squid.conf

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-w2990UuV-1584525400388)(C:\Users\xumin\AppData\Roaming\Typora\typora-user-images\1584523151681.png)]

[root@squid init.d]# service squid start
[root@squid init.d]# iptables -F
[root@squid init.d]# iptables -t nat -F
[root@squid init.d]# iptables -t nat -I PREROUTING -i ens36 -s 192.168.10.0/24 -p tcp --dport 80 -j REDIRECT --to 3128
[root@squid init.d]# iptables -t nat -I PREROUTING -i ens36 -s 192.168.10.0/24 -p tcp --dport 443 -j REDIRECT --to 3128
[root@squid init.d]# iptables -I INPUT -p tcp --dport 3128 -j ACCEPT[root@squid init.d]# 
[root@squid init.d]# netstat -ntap | grep 3128
tcp        0      0 192.168.10.1:3128       0.0.0.0:*               LISTEN      39330/(squid-1)     

  • Web服務器上配置

[root@web ~]# systemctl stop firewalld.service 
[root@web ~]# setenforce 0
[root@web ~]# systemctl start httpd
1、添加一條靜態路由,下一跳地址指向squid服務器的 ens33網卡
[root@web ~]# route add -net 192.168.10.0/24 gw 192.168.48.128
2、修改客戶機的IP地址,網卡修改爲僅主機模式

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-kx9ufF0J-1584525400389)(C:\Users\xumin\AppData\Roaming\Typora\typora-user-images\1584524779270.png)]

3、這個時候web服務器可以ping通客戶機

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-1F9k6gEe-1584525400390)(C:\Users\xumin\AppData\Roaming\Typora\typora-user-images\1584524835800.png)]

4、用客戶機訪問web端

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-CaKEn7Ju-1584525400390)(C:\Users\xumin\AppData\Roaming\Typora\typora-user-images\1584524909787.png)]

5、查看web端的訪問日誌
[root@web ~]# cat /var/log/httpd/access_log
‘ 此時的來訪者IP地址爲squid代理服務器的IP地址,在客戶端上並沒有設置squid代理,客戶端直接訪問web端也會顯示squid代理IP地址,這就是squid透明代理模式'

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章