一 、基礎知識:
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