squid 緩存服務器之傳統、透明代理
阿新 • • 發佈:2018-08-04
服務器配置 ext 請求 real p地址 0.12 inter ges 簡介 Squid 簡介
Squid是一種用來緩沖Internet數據的軟件。它是這樣實現其功能的,接受來自人們需要下載的目標(object)的請求並適當地處理這些請求。也就是說,如果一個人想下載一web頁面,他請求Squid為他取得這個頁面。Squid隨之連接到遠程服務器並向這個頁面發出請求。然後,Squid顯式地聚集數據到客戶端機器,而且同時復制一份。當下一次有人需要同一頁面時,Squid可以簡單地從磁盤中讀到它,那樣數據迅即就會傳輸到客戶機上。當前的Squid可以處理HTTP,FTP,GOPHER,SSL和WAIS等協議。但它不能處理如POP,NNTP,RealAudio以及其它類型的東西。
squid 代理基本類型 :
-
傳統代理 :手動設置服務器的地址和端口,然後才能使用代理服務來訪問網絡。
-
透明代理
本案環境
主機 | IP地址 | 系統 | 主要軟件 |
---|---|---|---|
代理服務器 | 192.168.217.128 | CentOS 7.3 | squid |
web 服務器 | 192.168.217.138 | CentOS 7.3 | httpd |
客戶端 | 192.168.217.133 |
部署傳統代理
1.安裝 squid 代理服務 :
yum install squid -y
2.編輯配置文件 :
vim /etc/squid/squid.conf cache_effective_user squid #添加 指定程序用戶 cache_effective_group squid #添加 指定賬號基本組 http_access allow all #添加在 http_access deny all 上面 http_port 3128 cache_mem 64 MB #指定緩存功能所使用的內存空間大小,便於保持訪問較頻繁的WEB對象,容量最好為4的倍數,單位為MB,建議設為物理內存的1/4 reply_body_max_size 10 MB #允許用戶下載的最大文件大小,以字節為單位。默認設置0表示不進行限制 maximum_object_size 4096 KB #允許保存到緩存空間的最大對象大小,以KB為單位,超過大小限制的文件將不被緩存,而是直接轉發給用戶
3.配置防火墻規則鏈 :
iptables -F #清空規則鏈
setenforce 0
iptables -I INPUT -p tcp --dport 3218 -j ACCEPT #允許3128端口
4.客戶端訪問 web 服務器配置:
5.查看web服務器訪問日誌驗證:
cat /etc/httpd/log/access.log
部署透明代理
透明代理 :客戶機不需要指定代理服務器的地址和端口,而是通過路由、防火墻策略將web訪問重定向,實際上還是交給代理服務器來處理。
本案環境
主機名 | IP地址 | 系統 | 軟件 |
---|---|---|---|
代理服務器 | 內 192.168.217.1 外192.168.200.1 | CentOS 7.3 | squid |
web 服務器 | 192.168.200.12 | CentOS 7.3 | httpd |
客戶機 | 192.168.217.133 | win |
1.添加雙網卡 :
2.安裝 squid 服務 :
yum install squid -y
3.編輯配置文件 :
vim /etc/squid/squid.conf
cache_effective_user squid #添加 指定程序用戶
cache_effective_group squid #添加 指定賬號基本組
http_access allow all #添加在 http_access deny all 上面
http_port 192.168.217.1:3128 transparent #添加本地IP地址 模式 透明
4.設置防火墻策略 :
iptables -F
iptables -t nat -I PREROUTING -i ens32 -s 192.168.217.0/24 -p tcp --dport 80 -j REDIRECT --to 3128
iptables -t nat -I PREROUTING -i ens32 -s 192.168.217.0/24 -p tcp --dport 443 -j REDIRECT --to 3128
#把80、443端口重定向到3128端口
iptables -I INPUT -p tcp --dport 3218 -j ACCEPT
5.訪問 web 服務器驗證(客戶機不需要配置代理服務器地址和端口) :
cat /etc/httpd/log/access.log #查看訪問日誌
squid 緩存服務器之傳統、透明代理