Squid服務器配置

  1. squid

              Squid cache(簡稱爲Squid)是一個流行的自由軟件,它符合GNU通用公共許可證。Squid作爲網頁服務器的前置cache服務器,可以代理用戶向web服務器請求數據並進行緩存,也可以用在局域網中,使局域網用戶通過代理上網。Squid主要設計用於在Linux一類系統運行。

          Squid是一個緩存internet數據的一個軟件,它接收用戶的下載申請,並自動處理所下載的數據。也就是說,當一個用戶想要下載一個主頁時,它向Squid發出一個申請,要Squid替它下載,然後Squid 連接所申請網站並請求該主頁,接着把該主頁傳給用戶同時保留一個備份,當別的用戶申請同樣的頁面時,Squid把保存的備份立即傳給用戶,使用戶覺得速度相當快。

  2. squid優點

     加快訪問速度,節約通信帶寬 
        防止內部主機受到*** 
        限制用戶訪問,完善網絡管理

3.代理服務器原理

         代理服務器接受到請求後,首先與訪問控制列表中的訪問規則相對照,如果滿足規則,則在緩     存中查找是否存在需要的信息。

        客戶端B向代理服務器提出相同的請求。代理服務器也首先與訪問控制列表中的訪問規則相對        照。如果滿足規則,則將緩存中的信息傳送給客戶端B

4 Squid 主要組成部分

    服務名:squid

   主程序:/usr/sbin/squid

   配置目錄:/etc/squid

   主配文件:/etc/squid/squid.conf

   監聽tcp端口號:3128

   默認訪問日誌文件:/var/log/squid/access.log

以下是一些squid的基本配置參數解釋(三種代理基本配置)


http_port 3128 //設置監聽的IP與端口號

cache_mem 64 MB //設置內存緩衝的大小

cache_dir ufs /var/spool/squid 2000 16 256 //設置硬盤緩衝大小

//ufs 存儲格式   2000  目錄空間  16一級子目錄  256   二級子目錄

cache_effective_user squid   //設置緩存的有效用戶

cache_effective_group squid  //設置緩存的有效用戶組

dns_nameservers 192.168.0.254  //設置DNS服務器地址,一般可以不設置,默認使用服務器自己設置的dns

cache_access_log /var/log/squid/access.log //設置訪問日誌文件

cache_log /var/log/squid/cache.log //設置緩存日誌文件

visible_hostname 192.168.0.20 //設置squid主機名稱

以上全局參數根據你自己的需要修改

其實linux下的服務器配置文件最好就是squid,它對每個參數都有解釋,而且很多有很多實例

5.squid中的訪問控制

語法:acl  列表名稱  列表類型  [-i]   列表值

列表類型

* src : 源地址 (即客戶機IP地址)

* dst : 目標地址 (即服務器IP地址)

* srcdomain : 源名稱 (即客戶機名稱)

* dstdomain : 目標名稱 (即服務器名稱)

* time : 一天中的時刻和一週內的一天

* url_regex : URL 規則表達式匹配

* urlpath_regex: URL-path 規則表達式匹配,略去協議和主機名

* proxy_auth : 通過外部程序進行用戶驗證

* maxconn : 單一 IP 的最大連接數

6squid三種代理

 a  普通代理

一個標準的代理緩衝服務被用於緩存靜態的網頁(例如:html文件和圖片文件等)到本地網絡上的一臺主機上(即代理服務器)。當被緩存的頁面被第二次訪問的時候,瀏覽器將直接從本地代理服務器那裏獲取請求數據而不再向原web站點請求數據。這樣就節省了寶貴的網絡帶寬,而且提高了訪問速度。但是,要想實現這種方式,必須在每一個內部主機的瀏覽器上明確指明代理服務器的IP地址和端口號。客戶端上網時,每次都把請求送給代理服務器處理,代理服務器根據請求確定是否連接到遠程web服務器獲取數據。如果在本地緩衝區有目標文件,則直接將文件傳給用戶即可。如果沒有的話則先取回文件,先在本地保存一份緩衝,然後將文件發給客戶端瀏覽器。


客戶端端要在自己的瀏覽器裏指定代理服務器的ip 和監聽的端口,才能通過代理服務器訪問


wKioL1PH3WqgwzNzAALaO_UQI-Q582.jpg

b透明代理

明代理緩衝服務和標準代理服務器的功能完全相同。但是,代理操作對客戶端的瀏覽器是透明的(即不需指明代理服務器的IP和端口)。透明代理服務器阻斷網絡通信,並且過濾出訪問外部的HTTP80端口)流量。如果客戶端的請求在本地有緩衝則將緩衝的數據直接發給用戶,如果在本地沒有緩衝則向遠程web服務器發出請求,其餘操作和標準的代理服務器完全相同。對於Linux操作系統來說,透明代理使用Iptables或者Ipchains實現。因爲不需要對瀏覽器作任何設置,所以,透明代理對於ISPInternet服務器提供商)特別有用。

配置:

客戶端不需要在瀏覽器裏指定代理服務器的ip地址和監聽的端口,只要把網關地址指向代理服務器內網接口的Ip地址就可以了。

 服務器上的配置與標準的代理緩衝服務器幾乎一樣

服務器:wKiom1PH3TSyiTEyAASw5d1zAKQ898.jpg


防火牆規則

iptables  -t  nat   -A  PREROUTING  -i  eth0  -s  1。1.1.0/8  -p  tcp  --dport 80  -j  REDIRECT --to-port 3128

service   iptables   save  保存規則

-i  指定數據包進入的接口

-s  指定數據包來自於哪個網段

-p  數據傳輸協議

--dport  目標端口

客戶端

wKiom1PH3nKD34fVAAJpvPZ7-vM409.jpg

c反向代理

反向代理是和前兩種代理完全不同的一種代理服務。使用它可以降低原始WEB服務器的負載。反向代理服務器承擔了對原始WEB服務器的靜態頁面的請求,防止原始服務器過載。它位於本地WEB服務器和Internet之間,處理所有對WEB服務器的請求,組織了WEB服務器和Internet的直接通信。如果互聯網用戶請求的頁面在代理服務器上有緩衝的話,代理服務器直接將緩衝內容發送給用戶。如果沒有緩衝則先向WEB服務器發出請求,取回數據,本地緩存後再發送給用戶。這種方式通過降低了向WEB服務器的請求數從而降低了WEB服務器的負載。

配置:

服務器:wKioL1PH4G6C9qySAATUFOzizNE334.jpg

cache_peer指定後端真正的網站服務器的ip地址,parent 當前代理服務器與後端網站服務器的關係,80 網站服務器監聽的端口號,0 當前代理服務器與網絡中其他代理服務器通信的接口,originserver 指定提供網站服務的真正的主機

客戶端訪問代理服務器,再由代理服務器來訪問相應的web服務

wKiom1PH4V3DqrhjAAEpXJWhfas018.jpg

看反向代理成功了。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。


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