天天看點

squid代理伺服器在企業網上的應用

一 、基礎知識:

1 、Squide代理伺服器: 

    Squid代理伺服器是一個緩存Internet資料的軟體,可以代理HTTP、FTP、GOPHER、SSL和WAIS等協定,提高使用者下載下傳頁面的速度,并設定過濾。使用Squid可以通過通路控制特性來靈活的控制使用者通路時間、站點等限制。這些可以通過Squid ACL和通路清單來輕松實作。

2 、代理伺服器: 

    代理伺服器是介于浏覽器和Web伺服器之間的另一台伺服器。有了該伺服器之後,浏覽器發出的資訊會先送到代理伺服器,由代理伺服器來取回網頁内容并傳送給客戶的浏覽器。平時我們提到代理伺服器,主要是終端使用者如何尋找自己需要的代理;而本專題所介紹的,則是伺服器端的架設、配置等方面。對企業網絡而言,代理伺服器可以起到控制網絡通路并屏蔽不安全資訊,以及網絡加速的目的。

3 、代理伺服器的類型: 

    正向代理:【内網--->外網】内網通路外網;相當于snat; 

    反向代理:【外網--->内網】伺服器釋出;相當于dnat;

4 、代理伺服器的特點: 

    設定使用者驗證和記賬功能; 

    對使用者進行分級管理; 

    增加緩存器,提高通路速度; 

    連接配接内網與Internet,充當防火牆; 

    節省ip開銷;

5 、代理伺服器的優缺點; 

    優勢:控制力度比較強,能夠控制網絡層參數【位址】,控制傳輸層參數【協定、端口号】 應用層參數【應用層協定、參數(帳号網址參數)】 

    缺點:支援的應用少【支援:http ftp少部分協定】

6 、代理伺服器平台: 

    Window平台:wingate、sygate、winroute、proxy—>isa 

    Linux平台:squid

7 、代理伺服器的作用: 

    共享網絡; 

    可以對頁面進行緩存,加快通路速度; 

    在網絡中出現擁擠或故障時,可以通過代理伺服器通路網絡資源; 

    防止攻擊; 

    突破限制; 

    掩藏身份; 

    提高下載下傳速度;

8 、代理伺服器原理: 

    Window代理常用端口:8080 

    Squid代理預設端口:3128

9 、反向代理  

    反向代理也就是通常所說的WEB伺服器加速,它是一種通過在繁忙的WEB伺服器和Internet之間增加一個高速的WEB緩沖伺服器(即:WEB反向代理伺服器)來降低實際的WEB伺服器的負載。

二 、案例1:

1 、實驗要求: 

    公司希望通過代理伺服器實作透明代理,要求上班時間隻允許技術部通過網頁來通路Internet;而市場部不可以在上班時間通路Internet; 

    技術部的位址(192.1683.10.10-192.168.10.100/24)在工作中能夠通路網頁; 

    市場部的位址(192.1683.10.10-192.168.10.100/24)在工作中不能通路網絡; 

    在下班時間中都能通路網絡;

2 、拓撲圖: 

3 、實驗步驟:

1>配置代理伺服器的網絡:

  ##配置網卡位址: 

        由于是出于内網中進行測試,是以代理伺服器的外網接口使用的私有ip,并且配置了網關指向; 

  ##配置DNS指向: 

  ##重新開機網路服務: 

2>挂載CD光牒: 

    [root@localhost ~]# mount /dev/cdrom /mnt/cdrom 

    mount: block device /dev/cdrom is write-protected, mounting read-only 

    [root@localhost ~]#

3>安裝squid服務: 

    [root@localhost ~]# cd /mnt/cdrom/Server/ 

    [root@localhost Server]# rpm -ivh squid-2.6.STABLE21-3.el5.i386.rpm  

    Preparing...                ########################################### [100%] 

       1:squid                  ########################################### [100%] 

    [root@localhost Server]#

4>編輯squid主配置文檔: 

    [root@localhost ~]# vim /etc/squid/squid.conf

  ##設定代理監聽端口: 

        監聽端口指定為代理伺服器内網卡位址的3128端口,是為了不通過外網卡進行代理服務,保證代理伺服器的正确性; 

        transparent表示開啟代理伺服器的透明代理;

  ##設定visible hostname内容: 

        當通路的頁面被拒絕時,代理伺服器會傳回拒絕者是誰。

5>編寫acl控制政策: 

        注意順序,注意邏輯;在做政策控制時筆者很糾結!

6>打開代理伺服器的資料包轉發功能: 

    [root@localhost ~]# vim /etc/sysctl.conf  

7>使用iptable實作dns的轉發:用于實作内網的dns解析: 

    [root@localhost ~]# iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -p udp --dport 53 -o eth0 -j MASQUERADE

8>通過iptable的nat轉換實作端口轉發,來實作【端口重定向】 

    [root@localhost ~]# iptables -t nat -A PREROUTING -p tcp --dport 80 -i eth1 -j REDIRECT --to-ports 3128

4 、實驗測試:

1 、技術部測試PC的位址 

  ##處于上班時間: 

  ##技術部可以通過80(http)或443(https)通路網絡: 

  ##處于下班時間: 

  ##這時市場部能夠通路網絡: 

2 、市場部測試PC位址: 

  ##處于上班時間是: 

  ##市場部的主機不能通過浏覽器通路網絡: 

  ##在下班時間: 

  ##市場部能夠通路網絡: 

三、案例2:

    公司希望通過squid的反向代理實作WEB伺服器加速;

  ##重新開機網絡服務: 

3>安裝squid代理服務: 

4>配置squid主配置文檔:

  ##反向代理端口 

  ##緩存的對端是兄弟還是父親: 

        頁面緩存請求位址指向,指向是父級的主機,父級的端口80,使用3130端口進行通路;

  ##禁用掉阻止所有代理的政策,并允許所有: 

5>啟動squid服務: 

    [root@localhost ~]# service squid start 

    init_cache_dir /var/spool/squid... Starting squid: ........[  OK  ] 

6>web伺服器配置:

  ##Web伺服器位址配置: 

  ##測試頁面: 

  ##web網站ip位址: 

  ##預設首頁面格式: 

  ##浏覽測試頁: 

4 、測試:

  ##用戶端ip位址 

  ##通過http協定通路代理伺服器的外網接口: 

測試成功!

本文轉自 cexpert 51CTO部落格,原文連結:http://blog.51cto.com/cexpert/977993

繼續閱讀