squid代理(傳統代理)

squid代理服務器

 

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

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

1 代理的工做機制vim

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

{2}指定的代理服務器會檢查本身的緩存,瀏覽器

{3}若是緩存中已經有客戶機須要的頁面,緩存

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

{5}若是緩存中沒有客戶機要訪問的頁面,服務器

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

 

 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)使用代理服務

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

 

1、安裝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 

 

 

2、構建代理服務器

(一)傳統代理

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訪問日誌中的記錄不會發生變化(除非頁面變動或執行強制刷新等操做),這說明當客戶機重複訪問同一個靜態頁面時,其實是由代理服務器經過緩存提供的

相關文章
相關標籤/搜索