天天看點

squid代理伺服器

代理伺服器分為傳統代理和透明代理,傳統代理适用于浏覽internet,需要在浏覽器上手工指定伺服器位址和端口,不是很友善,但是可以隐藏本機真實的ip位址,而且為下載下傳工具使用多個代理可以規避伺服器的并發連接配接顯示。透明代理适用于共享上網網關,不需要指定伺服器位址和端口,無需額外的設定即可上網,在實際工作中透明代理較多。

一、搭建傳統代理伺服器

1、實驗拓撲:

squid代理伺服器

1、實驗步驟

1)在伺服器B上安裝Squid代理伺服器軟體(挂載CD光牒,解壓縮)

squid代理伺服器

2)編譯安裝

squid代理伺服器

--prefix=/usr/local/squid   //安裝目錄

--sysconfdir=/etc   //單獨将配置檔案修改到其他目錄

--enable-arp-acl   //可以在規則中設定直接通過用戶端mac進行管理,防止用戶端使用ip欺騙攻擊

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

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

--enable-async-io=值   //異步i/o,提升存儲性能

--enable-err-language=”Simplify_Chinese”   //錯誤資訊的顯示語言

--enable-poll   //使用Poll()模式,提升性能

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

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

squid代理伺服器

2)建立連結檔案,建立使用者群組

squid代理伺服器

2)使用squid服務腳本(為了能夠友善啟動停止服務)

Vim squid,内容如下:

squid代理伺服器

沒有完,接着下面的寫

squid代理伺服器

設定權限,并添加為系統服務。

squid代理伺服器

2)修改配置檔案

Vi /etc/squid.conf

主要修改有以下幾條配置項,有的配置項需要修改,而有的配置項需要添加。

    http_port 3128                      squid的預設監聽端口tcp  修改   cache_effective_group squid         squid的運作組    添加

    cache_effective_user squid          squid的運作使用者  添加

    visible_hostname centos1.lzg.com   目前系統的主機名  添加

    cache_dir ufs /usr/local/squid/var/cache/squid 100 16 256

squid代理伺服器

2)在防火牆上添加允許政策

squid代理伺服器

3)啟動squid服務

執行:Squid  -k  parse檢測文法是否正确,出現很多内容,一般不用理會,沒有提示錯誤就可以。

執行squid  -z 初始化緩存目錄,此步必須要做,執行完之後稍微等一會。

執行squid啟動服務,也可以使用service  squid  start啟動服務,第一次啟動最好用squid啟動。

squid代理伺服器
squid代理伺服器
squid代理伺服器

4)在伺服器A上搭建網站

squid代理伺服器

5)在客戶機上修改ie浏覽器的代理伺服器位址

squid代理伺服器

6)在客戶機上通路網站

别忘記在網站伺服器A上開啟80端口

squid代理伺服器
squid代理伺服器

然後把代理伺服器服務停止,再次通路網站,發現不能通路,說明客戶機确實是通過代理伺服器上網。

squid代理伺服器
squid代理伺服器

7)驗證代理伺服器

在客戶機通路網站,然後檢視web伺服器的通路日志,發現客戶機172.16.16.110通路網站172.16.16.172的記錄,但是在web伺服器中,檢視網站日志檔案,顯示的通路者是代理伺服器的位址172.16.16.22,不是用戶端的位址。

squid代理伺服器
squid代理伺服器

二、搭建透明代理伺服器

1、實驗拓撲

squid代理伺服器

1、實驗步驟(安裝的步驟參考前面的傳統代理,IP位址的配置省略)

1)配置squid支援透明代理

squid代理伺服器

修改上面的一行就可以

修改完成時候别忘記重新加載squid服務

squid代理伺服器

1)在伺服器B上開啟路由轉發

squid代理伺服器

1)配置防火牆重定向

Iptables -t nat -I PREROUTING -i eth1 -s192.168.4.0/24 -p tcp --dport 80 -j REDIRECT --to 3128

squid代理伺服器

Service iptables  save儲存

1)在用戶端上通路網站(必須配置網關)

squid代理伺服器

1)驗證透明代理

如果在linux客戶機上測試,需要提前清除HTTP_PROXY、HTTPS_PROXY變量

Unset HTTP_PROXY  HTTPS_PROXY

我們就在windows上驗證了,因為在實際工作中,員工很少使用LINUX通路網站。

驗證方法和傳統代理驗證方法一樣

squid代理伺服器
squid代理伺服器

在伺服器A上檢視的通路者是代理伺服器172.16.16.1,說明實驗正确。

上面的這個實驗屬于正向代理,還有一種反向代理,作用是外部通路内部的網站,雲盤有文檔,有興趣可以做一下。

三、設定ACL通路控制

1、禁止下載下傳擴充名為:.mp4,avi視訊

2、超過4mb大小的檔案不進行緩存,禁止下載下傳超過10mb的檔案

3、設定網站黑名單,禁止通路位于.qq.com,.lol.com的網站

4、允許在正常上班時間(周一到周五8:30-17:30)上網

5、預設政策設定為禁止任何客戶機使用代理伺服器。

Vim /etc/squid.conf

squid代理伺服器
squid代理伺服器
squid代理伺服器

在用戶端上測試下載下傳檔案,超過10mb就禁止下載下傳

(在伺服器A的網站目錄下建立15mb的檔案)

squid代理伺服器
squid代理伺服器

在用戶端上分别下載下傳5mb和15mb的檔案

squid代理伺服器
squid代理伺服器

四、squid日志分析

1、安裝gd庫

squid代理伺服器

1、安裝sarg

squid代理伺服器

1、配置

squid代理伺服器

修改以下内容,不用添加,修改即可

1)制定squid的通路日志檔案

squid代理伺服器

網頁标題

squid代理伺服器

sarg報告的輸出目錄

squid代理伺服器

使用使用者名顯示,根據連接配接次數,通路位元組數,采用降序排序,升序将reverse換成normal。對于使用者通路記錄,連接配接次數按降序排列。

squid代理伺服器

當有日期報告存在,是否覆寫報告

squid代理伺服器

發送郵件報告

squid代理伺服器

制定不計入排序的站點清單檔案

squid代理伺服器

使用的字元集為國際編碼

squid代理伺服器

制定top排序的星期周期和時間周期,0位周日

squid代理伺服器

網頁根目錄

squid代理伺服器

1、運作

Touch /usr/local/sarg/noreport

squid代理伺服器
squid代理伺服器

 驗證

squid代理伺服器

計劃任務

squid代理伺服器
squid代理伺服器

Crontab -e

squid代理伺服器

每天0點運作統計昨天的内容

Chmod +x /usr/local/sarg/daily.sh

Chkconfig crond on

每天堅持給大家帶來基礎知識,一起成長一起拼搏。

詳細技術請咨詢我的QQ936172842,或者維信lc177zl,記得标注姓名+51cto