squid代理(傳統代理)

squid代理服務器

 

Squidlinux系統中常用的一款開源代理服務軟件,可以很好地實現HTTPFTP ,以及DNS查詢,SSL等應用的緩存代理,功能十分強大

作爲應用層的代理服務器軟件,Squid主要提供緩存加速,應用層過濾控制的功能

1 代理的工作機制

{1}當客戶機通過代理來請求Web頁面時,

{2}指定的代理服務器會檢查自己的緩存,

{3}如果緩存中已經有客戶機需要的頁面,

{4}則直接將緩存中的內容反饋給客戶機,

{5}如果緩存中沒有客戶機要訪問的頁面,

{6}則由代理服務器向lnternet發送請求,當獲得返回的web頁面以後,將網頁數據保存到緩存中在發送給客戶機。

 

 2 squid服務的作用

   {1}.加快對http訪問的速度

   {2}.提高安全性)(客戶機的Web訪問請求實際上是由代理服務器完成的,從而可以隱藏用戶的真IP地址)

   {3}.能夠進行訪問控制(代理服務器擔任着類似“經紀人”的角色,所以會針對要訪問的目標,客戶機的地址,訪問的時間等進行過濾控制)

 

 

3代理的基本類型

傳統代理:需要在客戶機的瀏覽器、相關的工具上手動設置代理服務器的地址和端口,訪問的網頁域名也是由代理服務器進行解析的

透明代理:客戶不需要指定代理服務器的地址和端口,而是通過網關,由防火牆的重定向策略將用戶的請求交給代理服務器處理;域名解析有客戶機完成

實驗要求:

1.所有的局域網pc通過共享ipip地址爲200.1.1.1)的方式接入internet,用於非web訪問協議的訪問(如dnsftpmail等等)

2.當局域網pc訪問internet中的web站點(80443端口)時,自動使用代理

3.針對局域網pcweb訪問進行控制,主要要求如下。

禁止下載擴展名爲.3pg .mp4.f4v.mkv.rmvb.avi的視頻文件

超過4MB大小的文件不盡興緩存,禁止下載超過10MB的文件

設置網站黑名單,禁止訪問位於.qq.com.msn.com域下的web站點

允許在正常的上班時間(週一到週五的8:30~17:30)使用代理服務

默認策略設置爲禁止任何客戶機使用代理服務

 

一、安裝squid

1.解壓(掛載squid光盤)

wKioL1km68uBVnmQAAA4lFHTcIU775.png 

2.配置、編譯、安裝

wKiom1km69_wWEJUAAD_oOBed48158.png 

 

--sysconfdir= /etc  //單獨將配置文件修改到其他目錄

--enable-linux-netfilter  //使用內核過濾

--enable-linux-tproxy  //支持透明模式

--enable-err-languge=....   //錯誤信息的顯示語言

--enable-underscore  //允許URL中有下劃線

--enable-poll   //使用poll()模式

--enable-gnuregex  //使用GNU正在表達式

 

3.創建連接文件、創建用戶和組

 

wKioL1km6-6zm2nkAACllWKwpe8954.png 

4.編輯squid配置文件

[root@centos2 squid-3.4.6]#vim /etc/squid.conf

省略部分內容

cache_effective_user squid   //指定squid程序用戶

cache_effective_group squid  //程序基本組賬戶,需要手工添加

visible_hostname centos2.benet.com  //手工添加主機名,,需要手工添加

cache_dir ufs /usr/local/squid/var/cache/squid 100 16 256 //設置緩存目錄的大小,一級子目錄和二級子目錄的個數(默認有此項,去點前面的#

5.squid的運行控制

1)檢查配置文件語法是否正確

 

wKioL1km7ADgZMgxAABmox6BTpQ188.png 

 

2)啓動 停止 squid

// -z 用來初始化緩存目錄

 

 

wKiom1km7BDhiK4CAABbkfYZ3dg591.png 

 

wKioL1km7CTSfaVSAABDnMnNrqw639.png 

 

啓動服務

wKiom1km7DTBcbxlAAByUVu0X7s217.png 

 

 

二、構建代理服務器

(一)傳統代理

wKiom1km7EOB2q3nAABuRdOPAFc301.png 

1.squid服務器的配置

(1)修改squid.conf配置文件

wKiom1km7FCz_G16AACoyuyGks0103.png 

http_access allow all    //允許任意客戶機使用代理服務器,放在http_access deny all前面(注意不加也可以,如果客戶機地址正好時192.168.段就不用加,因爲在squid.conf中有一個acl localnet src 192.168.0.0/16http_access allow localnet

(2)在防火牆上添加允許的策略

wKiom1km7GKTFugoAAE6zFujLMI650.png 

 

(3)配置dns服務器,爲web站點註冊域名www.benet.com

wKiom1km7HLAEFVCAABmYuQnnf8712.png 

 

(4)squid代理服務器上填寫好dns服務器的地址(這一點特別注意,要求代理服務器本身可以解析域名)

#vim  /etc/resolv.conf

wKiom1km7MTy79N9AABkS1qyVk8244.png 

 

(5)重啓squid代理服務

wKioL1km7NOSkhnQAAAw1lG5cSY461.png 

2.客戶機的代理配置

1)客戶機不用填寫網關和dns服務器地址,完全由squid代理解析

  在瀏覽器中 選擇 “工具” lnternet選項,彈出lnternet選項對話框,在“連接”選項卡中“局域網LAN”設置

wKiom1km7ODzuxbkAACfyoZVA0g483.png 

 

2)代理服務的驗證方法

①查看squid訪問日誌的新增記錄

wKiom1km7Pji6XIQAABH-9BhPSc595.png 

 

 

wKioL1km7XKxobnqAADyGh_OMfI134.png 

 

②查看web訪問日誌的新增記錄

wKioL1km7V-R_vDRAAGo94ARmcA330.png 

注意:當客戶機再次訪問同一個web頁面時,squid訪問日誌會增加新的記錄,web訪問日誌中的記錄不會發生變化(除非頁面變更或執行強制刷新等操作),這說明當客戶機重複訪問同一個靜態頁面時,實際上是由代理服務器通過緩存提供的


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