Squid代理服務器

搭建代理服務器可以提高上網打開網頁的速度,可以對非法網站進行屏蔽,限制文件下載,以及查看員工訪問internet的情況,包括上網的地址,用戶,時間等,是企業網絡管理的常用手段。

代理服務器分爲傳統代理和透明代理,傳統代理適用於瀏覽internet,需要在瀏覽器上手工指定服務器地址和端口,不是很方便,但是可以隱藏本機真實的ip地址,而且爲下載工具使用多個代理可以規避服務器的併發連接顯示。透明代理適用於共享上網網關,不需要指定服務器地址和端口,無需額外的設置即可上網,在實際工作中透明代理較多。

緩存代理概述:

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

代理的工作機制

*緩存網頁對象,減少重複請求

2018-01-29_160346.png

代理的基本類型:

*傳統代理:適用於Internet,需明確指定服務端  *

透明代理:適用於共享上網網關,不需指定服務端  

*使用代理的好處  

*提高Web訪問速度  *

隱藏客戶機的真實IP地址

一、搭建傳統代理服務器

  1. 實驗拓撲

2018-01-29_160946.png

2.實驗步驟:

服務器B:

  1. 編譯安裝Squid

2018-01-28_160708.png

2018-01-28_160837.png

選項含義:

--prefix                             安裝路徑             

--syscondir                      單獨將配置文件修改到其他目錄

--enable-arp-acl              可以在規則中設置直接通過客戶端MAC進行管理,防止客戶端使用 IP欺騙

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

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

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

--enable-err-language     錯誤信息的顯示語言

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

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

--enable-gunregex          使用GUN 正則表達式

2.安裝完成後,創建鏈接文件、創建用戶和組

2018-01-28_161300.png

3.將Squid添加爲系統服務

編寫Squid服務腳本

2018-01-29_162854.png

添加系統服務

2018-01-28_161427.png

4.修改配置文件  vim  /etc/squid.conf

2018-01-28_161728.png

2018-01-28_162144.png

2018-01-28_162357.png

5.設置防火牆規則

2018-01-28_162528.png

6.檢查配置文件

2018-01-28_162645.png

7.開始Squid服務

2018-01-28_162740.png

服務器A

在服務器A上編寫一個簡單的測試網頁,並開啓http服務

2018-01-28_161010.png

2018-01-28_161113.png

設置防火牆規則,允許客戶機連接

2018-01-28_162842.png

客戶機C 

在IE瀏覽器中,選擇“工具” ---“Internet選項”,彈出“Internet選項”對話框,在“連接”選項卡中的“局域網(LAN)設置”選項組中單機“局域網設置”按鈕,彈出“局域網(LAN)設置”對話框。

2018-01-28_162925.png

接下來客戶機進行訪問

2018-01-28_163038.png

代理服務的驗證方法

查看Squid訪問日誌的記錄,

在客戶機訪問網站,然後查看web服務器的訪問日誌,發現客戶機172.16.16.110訪問網站172.16.16.172的記錄,但是在web服務器中,查看網站日誌文件,顯示的訪問者是代理服務器的地址172.16.16.22,不是客戶端的地址。

在服務器B上查看

2018-01-28_163142.png

在服務器A上查看

2018-01-28_163250.png

二、搭建透明代理服務器

  1. 實驗拓撲

2018-01-29_165714.png

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

1.配置squid支持透明代理   Vi  /etc/squid.conf

2018-01-28_163453.png

只修改上面的一行即可。

2.重啓服務

2018-01-28_163534.png

3.開啓路由轉發功能

2018-01-28_163608.png

2018-01-28_163656.png

4.設置iptables的重定向策略(正確區分內網卡和外網卡,根據實際情況而定)

2018-01-28_163824.png

5.客戶機進行訪問(在IE瀏覽器上關閉前邊設置的代理服務器)

2018-01-28_163931.png

驗證透明代理

代理服務器

2018-01-28_164007.png

網站服務器

2018-01-28_164042.png

三、ACL訪問控制

Squid提供了強大的代理控制機制,通過合理設置ACL並進行限制,可以針對源地址、目標地址、訪問的URL路徑、訪問的時間等各種條件進行過濾。

實現ACL訪問控制的步驟:

(1)使用acl配置項定義需要控制的條件

(2)通過http_access配置項對已定義的列表做“允許”或“拒絕”訪問的控制

格式:  acl       列表名稱     列表類型      列表內容 ...

常用的訪問控制列表類型

列表類型
含義/用途
列表內容示例
src源IP地址、網段、IP地址範圍192.168.1.100
192.168.1.0/24
192.168.1.0-192.168.3.0/24
dst目標IP地址、網段主機名216.182.154.9
216.182.154.0/24
www.ysf.com
port目標端口80 443 20 22
srcdomain源名稱.benet.com
dstdomain目標域,匹配域內所有的站點.qq.com
time字母表示一星期中各天的英文縮寫MTWHFASMTWHF 8:30-17:30(週一至週五的時刻)
12:30-13:30
AS(週六、日)
maxconn每個客戶機的併發連接數20
url_regex目標資源的URL地址,-i表示忽略大小寫url_regex -i ^rtsp://
urlpath_regex目標資源的整個URL路徑urlpath_regex -i sex adult
urlpath_regex -i \.mp3$

舉例:

1、禁止下載擴展名爲:.mp4,avi視頻

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

3、設置網站黑名單,禁止訪問位於.qq.com,.lol.com的網站

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

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

vim   /etc/squid.conf

2018-01-28_164229.png

在網站服務器上建立測試文件

2018-01-28_164344.png

客戶機進行測試

2018-01-28_164410.png

2018-01-28_164438.png

四、Squid日誌分析

  1. 安裝GD庫

2018-01-28_164532.png

2.安裝sarg

2018-01-28_164639.png

配置項含義:

--syscondir=/etc/sarg       配置文件目錄,默認是/usr/local/etc

--enable-extraprotection   添加額外的安全保護

3.配置

2018-01-28_164748.png


指定squid的訪問日誌文件

2018-01-28_164824.png

網頁標題

2018-01-28_164852.png

sarg報告的輸出記錄

2018-01-28_164913.png

使用用戶名顯示

2018-01-28_164929.png

在top排序中,指定連接次數、訪問字節數,採用降序排列,升序將reverse換成normal

2018-01-28_164943.png

對於用戶訪問記錄,連接次數按降序排列

2018-01-28_164956.png

當那個日期報告已經存在,是否覆蓋報告

2018-01-28_165011.png

發送郵件報告的命令

2018-01-28_165032.png

指定不計入排序的站點列表文件

2018-01-28_165051.png

使用字符集

2018-01-28_165108.png

指定top排序時的星期週期和時間週期,0爲週日

2018-01-28_165127.png

網頁根目錄

2018-01-28_165202.png

4.運行

2018-01-28_165253.png

設置防火牆規則

2018-01-28_165413.png

5.驗證

2018-01-28_165339.png

6.計劃任務

編寫腳本

2018-01-28_165608.png

設置任務計劃

crontab   -e

2018-01-28_165651.png

2018-01-28_165726.png

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