1. 程式人生 > >CentOS7上實現Squid緩存服務器的兩種模式

CentOS7上實現Squid緩存服務器的兩種模式

修改內容 ef6 同名 entos ns3 類型 緩存加速 c-c routing

一、緩存代理概述
Squid服務作為應用層的代理服務軟件,Squid主要提供緩存加速和應用層過濾控制的功能。

二、代理的基本類型
根據實現的方式不同,代理服務可以分為傳統代理和同名代理兩種行間的代理服務

1.傳統代理:也就是普通的代理服務,首先必須在客戶機的瀏覽器、下載軟件等程序中手動設置代理服務器的地址和端口,然後才能使用代理服務來訪問網絡。對於網頁瀏覽器,訪問網站時的域名解析請求也會發送給指定的代理服務器。
2.透明代理:提供與傳統代理相同的功能和服務,其區別在於客戶機不需要指定代理服務器的地址和端口,而是通過默認路由、防火墻策略將Web訪問重定向,實際上仍然交給代理服務器來處理。重定向的過程對客戶機來說是“透明”的,用戶甚至並不知道自己在使用代理服務,所以稱為“透明代理”。使用代理時,網頁瀏覽器訪問網站時域名解析請求將優先發給DNS服務器。

Squid安裝包鏈接: https://pan.baidu.com/s/1msvOkRBGuWWkoGyrfO7qYA 提取碼: 4rqs

實驗環境:一臺CentOS做Squid服務,一臺CentOS7提供Apache服務,一臺Windows7

三、操作步驟
1.安裝Squid服務
技術分享圖片
首先安裝編譯環境 gcc gcc-c++ make。把解壓下來的Squid手工編譯安裝。

技術分享圖片
建立軟鏈接方便系統識別。創建squid用戶來管理Squid服務。給文件設置squid用戶的權限。

技術分享圖片
對/etc/squid.conf這個文件修改內容,首先設置允許所有來訪問。
技術分享圖片
指定端口、用戶和組

技術分享圖片
初始化緩存目錄並啟動服務

技術分享圖片
為了方便管理squid可以寫一個運行腳本來管理。腳本在Squid數據包裏。這裏就不展示了。

技術分享圖片
腳本寫完後為了方便service所能識別添加名稱,並設置開機自啟動。當然腳本寫完,還要給執行權限。之後就可以用service來啟動squid服務了。
到這裏Squid服務就算安裝完畢了,下面要進行的是設置傳統代理。

2.傳統代理設置
技術分享圖片
到/etc/squid.conf主配置文件修改如上內容

技術分享圖片
清空防火墻策略。在INPUT中對於tcp協議,目標端口是3128,做一個允許轉發。

技術分享圖片
在另一臺服務器上提供一個Apache就可以了,關閉防火墻。

技術分享圖片
設置代理服務器的地址和端口。在地址欄輸入Web服務器地址

技術分享圖片
技術分享圖片
通過Apache的日誌文件看到是通過代理服務器來訪問的。

2.透明代理
在做透明帶裏之前要對Squid服務器在添加一塊網卡。其中Squid服務器上一塊網卡是要作為Web服務器的網關。另一塊作為客戶端的網關

技術分享圖片
安裝完Squid服務後。在/etc/squid.conf下修改如上內容。

技術分享圖片
初始化緩存目錄並開啟服務

技術分享圖片
既然squid服務器做了網關,自然要幫別人轉發數據包。之後在清空防火墻策略。

技術分享圖片
這三條協議的意思是:
在INPUT中對於tcp協議,目標端口是3128,做一個允許轉發。
對於nat表PREROUTING鏈指定內網口是ens33,對於源地址端口為100段沒指定協議為tcp指定目標端口為80重定向到3128端口。
對於nat表PREROUTING鏈指定內網口是ens33,對於源地址端口為100段沒指定協議為tcp指定https為443端口重定向到3128端口

技術分享圖片
在客戶機上訪問Web地址後。再通過Apache的日誌文件來查看是不是Squid來訪問的。

CentOS7上實現Squid緩存服務器的兩種模式