Squid 緩存代理服務器的完整配置

Squid 緩存代理服務器前端

Squid 的做用web

1.經過緩存的方式爲用戶提供web訪問加速正則表達式

2.對用戶的web訪問進行過濾控制瀏覽器

緩存代理服務器又分爲普通代理服務器,透明代理服務器,和反向代理服務器。緩存

普通代理服務即指標準的,傳統的代理服務,須要客戶機在瀏覽器中指定代理服務器的地址,端口服務器

透明代理服務器適合企業的網關主機,客戶機不須要指定代理服務器地址,端口等信息,須要設置防火牆策略將客戶機的web訪問數據轉交給代理服務器網絡

反向代理服務爲INTERNET用戶訪問網絡內網站點提供緩存加速。提升訪問效率。併發

squid 緩存代理服務的軟件安裝包名爲 squid-2.6.STABLE21-3.el5(版本可能不一樣),默認監聽端口爲TCP 3128 默認訪問日誌文件 :/var/log/squid/access.log 進程名爲squid , 主程序:/usr/sbin/squid ,配置目錄:/etc/squid 主配置文件是 /etc/squid/squid.conf dom

咱們已經對squid有了初步的認識,如今瞭解一下主配置文件squid.conf 的幾個經常使用配置項ide

http_port 3128 此項設定默認監聽端口,能夠改變IP與監聽端口

cache_mem 64 MB 設定緩存大小,通常狀況下建議將物理內存的1/3劃給它

maximum_object_size 4096 KB 定義最大緩存對象

reply_body_max_size 10240000 allow all 訪問控制規則,對響應數據作限定,若是把這個值設定爲0 就表示不作限定

access_log /var/log/squid/access.log squid 爲squid作訪問日誌

visible_hostname proxy.test.com 可見主機名,默認配置文檔中並無定義,建議設定,不然影響squid啓動

cache_dir ufs /var/spool/squid 1024 16 256

(緩存文件放置位置,ufs是文件系統類型,1024指定緩存目錄大小, 16 緩存空間一級子目錄個數, 256 指緩存空間的二級子目錄個數)

cache_mgr root@test.com 定義服務器管理員郵箱

cache_effective_user squid

ache_effective_group squid 定義squid的UID GID

error_directory /usr/share/squid/errors/Simplify_Chinese 定義錯誤信息顯示爲中文,squid錯誤信息支持多種語言。能夠在/usr/share/squid/errors 下查看

http_access allow localhost

http_access deny all 訪問控制策略,

在沒有設置任何規則時,將拒絕全部客戶端的訪問請求

有規則可是找不到相匹配的項時,將採起與最後一條規則相反的權限,即若是最後一條規則是allow 那麼就拒絕客戶端的請求,不然容許該請求

ACL(Access Control List )訪問控制列表,能夠從客戶機的IP地址,請求訪問的URL/域名/文件類型/訪問時間/併發請求等方面進行控制

ACL的格式是

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

acl列表的使用在squid的官方網站上有詳細的介紹,下面只介紹幾種經常使用的acl列表類型

src 基於客戶端IP地址作控制, 源ip

dst 基於訪問目的IP作控制

srcdomain 基於域名的源地址解析

port 基於端口控制

proto 基於協議類型作控制

browser 對瀏覽器的作控制 # acl notfirefox browser MOZILIA

time 基於時間作控制,acl worktime time 10:00-23:59

acl working time 0:00-5:59

(注意:time時間控制時,前一個時間點要小於後一個時間點,如果要過0點設定,就仿寫成上面例子,列表名稱能夠同樣,acl匹配時取它們的並集)

maxconn 最大併發鏈接數

url_regex [-i ] 統一資源,針對url作正則表達式匹配 -i 不區分大小寫

acl notpdf url_regex –i ^http.*\.pdf$

urlpath_regex [-i] 可不指定前端只對url 尾部作匹配

acl notpdf urlpath_regex –i .*\.pdf$

下面先來配置一個傳統的代理服務

clip_image002

要求作一個普通代理,pc機能經過squid服務器訪問外網192.168.0.254的web服務,可是在18:30-8:30之間內網用戶不能上網,不能訪問下載以.rmvb .mp3爲後綴的文件,單個文件最大不能超過10M 代理端口爲8080,錯誤提示呈現爲中文,管理員郵箱爲root@test.com, 內存大小爲64M, 緩存目錄大小爲1024M, 併爲squid配置可見主機名

1 安裝squid軟件包

#yum install squid

2 編輯/etc/squid/squid.conf

配置可見主機名

clip_image004

指定緩存目錄大小

clip_image006

配置管理員郵箱

clip_image008

定義內存大小

clip_image010

指定 緩存目錄爲1024M

clip_image006[1]

定義錯誤信息顯示

clip_image012

定義最大單個文件大小

clip_image014

修改監聽端口

clip_image016

最acl控制

clip_image018

3.如今 到內網pc機上將爲瀏覽器配置代理服務,將ip指向192.168.0.72 端口指向8080

clip_image020

 

clip_image022

如今連上0.254 了測試一下你作的acl 控制吧

 

如今咱們把題目修改一下,把上面的普通代理作成透明代理

1 修改squid.conf 配置文件,並從新加載該配置項

只須要修改一下監聽端口

clip_image024

2.在squid主機上添加iptables 規則

clip_image026

3 客戶機瀏覽器不須要指定代理服務器的地址,端口

clip_image028

作完透明代理訪問也是同樣的

clip_image030

下面再介紹一下反向代理

clip_image032

1.修改squid.conf 文件,並重啓加載配置項

(cache_peer web 服務器 服務器類型 http端口 icp端口 可選項)

http_port 192.168.0.74:80 vhost 修改監聽端口

cache_peer 192.168.10.2 parent 80 0 originserver weight=5 max-conn=30

cache_peer 192.168.10.3 parent 80 0 originserver weight=5 max-conn=30

cache_peer 192.168.10.4 parent 80 0 originserver weight=5 max-conn=30

cache_peer 192.168.10.5 parent 80 0 originserver weight=1 max-conn=8

2,好了如今能夠驗證了,在外網的客戶機訪問反向代理服務器192.168.0.74可以看到web提供的網頁

(注意透明代理服務器和反向代理服務器不能配置在一臺squid服務器上)

相關文章
相關標籤/搜索