1. 程式人生 > >squid 緩存服務器之傳統、透明代理

squid 緩存服務器之傳統、透明代理

服務器配置 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 緩存服務器之傳統、透明代理