squid的簡單應用

squid的簡單應用

一.squid(代理服務器)的作用

1. 通過緩存的方式爲用戶提供WEB服務加速

2. 對用戶的WEB訪問做訪問控制

二.代理服務器分爲以下三類

1. 普通代理服務

2. 透明代理服務

3. 方向代理服務

三squid的基本配置:

1. 安裝squid的軟件包爲:squid-2.6.STABLE21-3.el5

2. squid的運行進程爲:squid

3. 運行squid的二進制文件爲:/etc/init.d/squid

4. squid的監聽端口爲:3128(tcp)

5. squid的主配置腳本爲:/etc/squid/squid.conf

6. squid的日誌記錄存放:/var/log/squid/access.log

四. squid主配置文件常用的配置項

1. http_port 定義squid的監聽端口的,默認爲3128

2. cache_mem 定義爲squid分配內存的大小,默認爲64M

3. visible_hostname 定義配置爲可見的主機名,默認沒有此項,需手動添加

4. cache_dir 定義緩存存放的目錄

5. cache_mgr 定義管理員的郵箱

6. error_directory 定義錯誤提示的語言

7. reply_body_max_size 定義用戶傳輸的最大數據

五.普通代理服務(爲內網用戶代理上網

實驗環境:內網的網卡eth1:192.168.23.23,內網的客戶機ip:192.168.23.25

外網卡eth0:192.168.0.43 ,web服務器的地址爲:192.168.0.254

(這裏的實驗環境爲實驗室,如有需要,可根據實際情況進行改動)

1. 修改主配置文件:

(1)visible_hostname定義爲: proxy.test.com

clip_image002

(2)用戶的最大傳輸數據位:10M

clip_image004

(3)訪問控制列表定義爲allow all

clip_image006

(4)監聽端口定義爲內網卡的8080端口:

clip_image008

(5)定義錯誤提示的語言爲中文

clip_image010

(6)定義管理員的郵箱地址:

clip_image012

2. 初始化squid的緩存目錄:

clip_image0143.分析是否有語法錯誤:

clip_image016

3.啓動squid服務:

clip_image018

4. 做客戶端的設置,這裏以Firefox爲例:

(1) 打開工具欄中的“編輯”-----》“首選項”-----》“高級”-----》“網絡”----》”設置”-----》“手動配置代理“

clip_image020

設置代理地址爲內網卡的ip:192.168.23.23,代理端口爲8080,然後點擊“確定“退出。

5. 我們去做一下測試:

clip_image022

,可以看到我們能正常的訪問到遠程服務器。

6. 我們去下載大於10M的文件:

clip_image024

可以看到,被拒絕,在圖中也可以看到我們剛剛做的設置

六. ACL的訪問控制

1. 應用訪問控制的方式:

定義acl列表:

acl 列表名稱 列表類型 列表內容

針對列表進行限制

http_access allow或deny 列表名

2. 常用的acl的列表類型

src 基於源地址的控制

des 基於目的地址的控制

port 基於來目的端口的控制

srcdomain 基於源域名的控制

desdomain 基於目的域名的控制

time 基於時間的控制

proto 基於協議的控制,只能控制http和ftp協議

maxconn 基於一個ip最大的連接數的控制

url-regex 基於全路徑中字符的控制

urlpath_regex 基於非必須全路徑的控制

3. 訪問控制規則的匹配順序:

(1) 沒有設置任何規則時將拒絕所有客戶端的訪問請求

(2) 有規則但是找不到相匹配的規則時:將採用與最後一條規則相反的權限,如果最後一條的規則爲allow,那麼就拒絕客戶端的請求,否則就允許該請求

4. 設置不能下載以.pdf結尾的文件:

clip_image026

然後重新讀取一下配置文件;

clip_image028

我們試着下載一個pdf格式的文件:

clip_image030

如圖,訪問遭到拒絕。

5. 設置基於協議的控制

clip_image032

重新讀取一下配置文件

6. 然後我們再去訪問遠程主機:

clip_image034

可以看到訪問被拒絕。

7. 設置基於時間的訪問控制(注意:設置基於時間的訪問控制的時候,起始時間必須小於結束時間)

clip_image036

我現在的時間爲:

clip_image038

再重新去讀一下配置文件,然後再去做驗證:

clip_image040

可以看到訪問被拒絕。

七. 配置透明代理:

現在的企業上網大部分採用的就是這種方法,客戶機瀏覽器

不需要在瀏覽器中指定代理服務器的地址、端口

配置要求:

(1)代理服務程序能夠支持透明代理

(2)設置防火牆規則,將客戶機的Web訪問數據自動重定向給代理服務程序處理

1.修改主配置文件,設置監聽的地址和監聽的端口號:

clip_image042

禁用剛纔我們做的ACL,重新讀取配置文件

2. 配置iptables的規則:

iptables –t nat –A PREROUTING –i eth1 –s 192.168.23.0/24 –p tcp –dport 80 –j REDIRECT –to-port 8080

clip_image044

3. 然後我們取消剛纔Forefox瀏覽器中的代理:

clip_image046

4. 我們再去驗證一下:

clip_image048

可以看到,我們能正常的訪問遠程主機。

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