squid在企業網中的應用

1.squid簡介

     Squid Cache(簡稱爲Squid)是一個流行的代理服務器和Web緩存服務器軟件。Squid有廣泛的用途,從作爲網頁服務器的前置緩存服務器緩存相關請求來提高Web服務器的速度,到爲一組人共享網絡資源而緩存萬維網、域名系統和其他網絡搜索,到通過過濾流量幫助網絡安全,到局域網通過代理上網。除了HTTP外,對於FTP與HTTPS的支持也相當好。

2.cdn簡介

CDN 是構建在數據網絡上的一種分佈式的內容分發網。 CDN 的作用是採用流媒體服務器集羣技術,克服單機系統輸出帶寬及併發能力不足的缺點,可極大提升系統支持的併發流數目,減少或避免單點失效帶來的不良影響。 CDN 利用全局負載均衡技術將用戶的訪問指向離用戶最近的工作正常的流媒體服務器上,由流媒體服務器直接響應用戶的請求。服務器中如果沒有用戶要訪問的內容,會根據配置自動從原服務器抓取相應的內容並提供給用戶。

1)cdn負載均衡

      在CDN中,負載均衡又分爲服務器負載均衡和服務器整體負載均衡(也有的稱爲服務器全局負載均衡)。服務器負載均衡是指能夠在性能不同的服務器之間進行任務分配,既能保證性能差的服務器不成爲系統的瓶頸,又能保證性能高的服務器的資源得到充分利用。而服務器整體負載均衡允許Web網絡託管商、門戶站點和企業根據地理位置分配內容和服務。通過使用多站點內容和服務來提高容錯性和可用性,防止因本地網或區域網絡中斷、斷電或自然災害而導致的故障。在CDN的方案中服務器整體負載均衡將發揮重要作用,其性能高低將直接影響整個CDN的性能。

2)cdn動態內容分發與複製

     網站響應速度和訪問者與網站服務器之間的距離有密切的關係。如果訪問者和網站之間的距離過遠的話,它們之間的通信一樣需要經過重重的路由轉發和處理,網絡延誤不可避免。一個有效的方法就是利用內容分發與複製技術,將佔網站主體的大部分靜態網頁、圖像和流媒體數據分發複製到各地的加速節點上。所以動態內容分發與複製技術也是CDN所需的一個主要技術。

3)cdn緩存

Web緩存服務通過幾種方式來改善用戶的響應時間,如代理緩存服務、透明代理緩存服務、使用重定向服務的透明代理緩存服務等。通過Web緩存服務,用戶訪問網頁時可以將廣域網的流量降至最低。對於公司內聯網用戶來說,這意味着將內容在本地緩存,而無須通過專用的廣域網來檢索網頁。對於Internet用戶來說,這意味着將內容存儲在他們的ISP的緩存器中,而無須通過Internet來檢索網頁。這樣無疑會提高用戶的訪問速度。CDN的核心作用正是提高網絡的訪問速度,所以,緩存技術將是CDN所採用的又一個主要技術。

3.squid透明代理案例配置

所用拓撲圖

image

1)代理服務器的網卡配置

1

2

2)切換到光盤目錄安裝squid

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

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

3)設置dns服務器爲222.88.88.88

[root@localhost Server]# vim /etc/resolv.conf

配置內容如下

nameserver 222.88.88.88
search localdomain

4)測試到internet的連通性

1

5)客戶機網卡配置

1

6)打開服務器數據包轉發功能

編輯配置文件

 12

2

7)爲192.168.1.0網段的dns流量做nat轉換

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

在192.168.1.21測試nat結果如下

1

查看nat的匹配條目

2 

8)對80端口的流量做端口重定向

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

3

9)配置squid啓動透明代理

vim /etc/squid/squid.conf

4

允許192.168.1.0網段流量通過

5

10)在192.168.1.21測試連接internet網

6

4.使用squid做服務器發佈的案例配置

所用的拓撲圖

13 

1)配置web服務器

安裝apache

[root@localhost Server]# rpm -ivh httpd-2.2.3-31.el5.i386.rpm

8

2)在web站點做一個簡單的網頁

切換到站點主目錄編輯網頁

9

10

3)代理服務器配置

在上一個案例中squid已經安裝過這裏就不在安裝了

編輯/etc/squid/squid.conf文件

6

文件的修改如下圖

5

4

3

4)重啓squid服務

7

5)在主機192.168.101.21測試的結果

2

利用squid做流量控制的案例配置

所用的拓撲圖

8

1)由於squid已經安裝過這裏就不在安裝了

編輯/etc/resolv.conf文件指定dns服務器

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

修改的內容如下:

nameserver 222.88.88.88
nameserver 222.85.85.85
search localdomain

測試網絡連通性

[root@localhost ~]# ping  www.baidu.com
PING www.a.shifen.com (119.75.217.56) 56(84) bytes of data.
64 bytes from 119.75.217.56: icmp_seq=1 ttl=56 time=745 ms
64 bytes from 119.75.217.56: icmp_seq=2 ttl=56 time=800 ms
64 bytes from 119.75.217.56: icmp_seq=3 ttl=56 time=715 ms

2)客戶機網絡配置

1

2

3)編輯/etc/squid/squid.conf

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

1

http_port 192.168.1.10:3128

3

4)以上配置做完後在192.168.1.21測試結果

2

5)基於來源ip的控制

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

控制語句

acl na src 192.168.1.21/32
http_access deny na

用192.168.1.21測試

1

把客戶機ip改爲192.168.1.22測試

2

3

如果希望某個網段不能訪問控制語句如下

acl na src 192.168.1.21-192.168.1.29/32
http_access deny na

6)基於目的域名的控制

控制語句如下:

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

acl naweb dstdomain .baidu.com
http_access deny naweb

客戶機網卡配置

4

7)測試

5

6

8)基於時間的控制

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

控制語句如下:

acl worktime time MTWHF 08:00-17:00
http_access deny worktime

測試

7

對多個時間段的控制語句如下

acl worktime time MTWHF 08:00-12:00
acl worktime time MTWHF 14:00-18:00
http_access deny worktime

9)基於內容的控制

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

控制語句如下:

acl nacontent urlpath_regex -i \.jpg$ \.gif$
http_access deny nacontent

測試結果

8

在某一段時間內不能訪問的內容控制語句

acl worktime 08:00-12:00

acl worktime  14:00-18:00

acl nacontent urlpath_regex -i \.jpg$ \.gif$
http_access deny   worktime nacontent

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