squid代理服务器在企业网中的应用
一,squid服務器概述
???? Squid是一種在Linux系統(tǒng)下使用的優(yōu)秀的代理服務器軟件。
squid不僅可用在Linux系統(tǒng)上,還可以用在AIX、Digital Unix、FreeBSD、HP-UX、Irix、NetBSD、Nextstep、SCO和Solaris等系統(tǒng)上。
Squid與Linux下其它的代理軟件如Apache、Socks、TIS FWTK和delegate相比,下載安裝簡單,配置簡單靈活,支持緩存和多種協(xié)議。用ipchains+Squid的解決方案,就可以獲得通過緩存高性能的同時能夠無縫的訪問Internet。
Squid是一個緩存internet數(shù)據(jù)的一個軟件,它接收用戶的下載申請,并自動處理所下載的數(shù)據(jù)。也就是說,當一個用戶想要下載一個主頁時,它向Squid發(fā)出一個申請,要Squid替它下載,然后Squid 連接所申請網(wǎng)站并請求該主頁,接著把該主頁傳給用戶同時保留一個備份,當別的用戶申請同樣的頁面時,Squid把保存的備份立即傳給用戶,使用戶覺得速度相當快。
對于Web用戶來說,Squid是一個高性能的代理緩存服務器,可以加快內部網(wǎng)瀏覽Internet的速度,提高客戶機的訪問命中率。Squid不僅支持HTTP協(xié)議,還支持FTP、gopher、SSL和WAIS等協(xié)議。和一般的代理緩存軟件不同,Squid用一個單獨的、非模塊化的、I/O驅動的進程來處理所有的客戶端請求。
Squid將數(shù)據(jù)元緩存在內存中,同時也緩存DNS查尋的結果,除此之外,它還支持非模塊化的DNS查詢,對失敗的請求進行消極緩存。Squid支持SSL,支持訪問控制。由于使用了ICP,Squid能夠實現(xiàn)重疊的代理陣列,從而最大限度的節(jié)約帶寬。
Squid由一個主要的服務程序Squid,一個DNS查詢程序dnsserver,幾個重寫請求和執(zhí)行認證的程序,以及幾個管理工具組成。當Squid啟動以后,它可以派生出指定數(shù)目的dnsserver進程,而每一個dnsserver進程都可以執(zhí)行單獨的DNS查詢,這樣一來就大大減少了服務器等待DNS查詢的時間。
Squid的另一個優(yōu)越性在于它使用訪問控制清單(ACL)和訪問權限清單(ARL)。訪問控制清單和訪問權限清單通過阻止特定的網(wǎng)絡連接來減少潛在的Internet非法連接,可以使用這些清單來確保內部網(wǎng)的主機無法訪問有威脅的或不適宜的站點。
Squid對硬件的要求是內存一定要大,不應小于128M,硬盤轉速越快越好,最好使用服務器專用SCSI硬盤,處理器要求不高,400MH以上既可。
squid配置 squid是Linux下的一個代理服務器,本文限于篇幅,簡單介紹一下squid配置,在文章結尾處提供一個squid配置的word文件供大家下載。
代理服務器原理
代理服務器接受到請求后,首先與訪問控制列表中的訪問規(guī)則相對照,如果滿足規(guī)則,則在緩存中查找是否存在需要的信息。
客戶端B向代理服務器提出相同的請求。代理服務器也首先與訪問控制列表中的訪問規(guī)則相對照。如果滿足規(guī)則,則將緩存中的信息傳送給客戶端B
squid簡介
訪問控制清單和訪問權限清單通過阻止特定的網(wǎng)絡連接來減少潛在的Internet非法連接,可以使用這些清單來確保內部網(wǎng)的主機無法訪問有威脅的或不適宜的站點。
二,CDN概述:
???? CDN的全稱是Content Delivery Network,即內容分發(fā)網(wǎng)絡。其基本思路是盡可能避開互聯(lián)網(wǎng)上有可能影響數(shù)據(jù)傳輸速度和穩(wěn)定性的瓶頸和環(huán)節(jié),使內容傳輸?shù)母臁⒏€(wěn)定。通過在網(wǎng)絡各處放置節(jié)點服務器所構成的在現(xiàn)有的互聯(lián)網(wǎng)基礎之上的一層智能虛擬網(wǎng)絡,CDN系統(tǒng)能夠實時地根據(jù)網(wǎng)絡流量和各節(jié)點的連接、負載狀況以及到用戶的距離和響應時間等綜合信息將用戶的請求重新導向離用戶最近的服務節(jié)點上。其目的是使用戶可就近取得所需內容,解決 Internet網(wǎng)絡擁擠的狀況,提高用戶訪問網(wǎng)站的響應速度。
內容分發(fā)網(wǎng)絡(CDN)是一種新型網(wǎng)絡構建方式,它是為能在傳統(tǒng)的IP網(wǎng)發(fā)布寬帶豐富媒體而特別優(yōu)化的網(wǎng)絡覆蓋層;而從廣義的角度,CDN代表了一種基于質量與秩序的網(wǎng)絡服務模式。
簡單地說,內容分發(fā)網(wǎng)絡(CDN)是一個經(jīng)策略性部署的整體系統(tǒng),包括分布式存儲、負載均衡、網(wǎng)絡請求的重定向和內容管理4個要件,而內容管理和全局的網(wǎng)絡流量管理(Traffic Management)是CDN的核心所在。通過用戶就近性和服務器負載的判斷,CDN確保內容以一種極為高效的方式為用戶的請求提供服務。
總的來說,內容服務基于緩存服務器,也稱作代理緩存(Surrogate),它位于網(wǎng)絡的邊緣,距用戶僅有"一跳"(Single Hop)之遙。同時,代理緩存是內容提供商源服務器(通常位于CDN服務提供商的數(shù)據(jù)中心)的一個透明鏡像。這樣的架構使得CDN服務提供商能夠代表他們客戶,即內容供應商,向最終用戶提供盡可能好的體驗,而這些用戶是不能容忍請求響應時間有任何延遲的。
主要特點 1、本地Cache加速 提高了企業(yè)站點(尤其含有大量圖片和靜態(tài)頁面站點)的訪問速度,并大大提高以上性質站點的穩(wěn)定性
2、鏡像服務 消除了不同運營商之間互聯(lián)的瓶頸造成的影響,實現(xiàn)了跨運營商的網(wǎng)絡加速,保證不同網(wǎng)絡中的用戶都能得到良好的訪問質量。
3、遠程加速 遠程訪問用戶根據(jù)DNS負載均衡技術智能自動選擇Cache服務器,選擇最快的Cache服務器,加快遠程訪問的速度
4、帶寬優(yōu)化 自動生成服務器的遠程Mirror(鏡像)cache服務器,遠程用戶訪問時從cache服務器上讀取數(shù)據(jù),減少遠程訪問的帶寬、分擔網(wǎng)絡流量、減輕原站點WEB服務器負載等功能。
5、集群抗*** 廣泛分布的CDN節(jié)點加上節(jié)點之間的智能冗余機制,可以有效地預防******以及降低各種D.D.o.S***對網(wǎng)站的影響,同時保證較好的服務質量 。
編輯本段關鍵技術 (1)內容發(fā)布:它借助于建立索引、緩存、流分裂、組播(Multicast)等技術,將內容發(fā)布或投遞到距離用戶最近的遠程服務點(POP)處;
(2)內容路由:它是整體性的網(wǎng)絡負載均衡技術,通過內容路由器中的重定向(DNS)機制,在多個遠程POP上均衡用戶的請求,以使用戶請求得到最近內容源的響應;
(3)內容交換:它根據(jù)內容的可用性、服務器的可用性以及用戶的背景,在POP的緩存服務器上,利用應用層交換、流分裂、重定向(ICP、WCCP)等技術,智能地平衡負載流量;
(4)性能管理:它通過內部和外部監(jiān)控系統(tǒng),獲取網(wǎng)絡部件的狀況信息,測量內容發(fā)布的端到端性能(如包丟失、延時、平均帶寬、啟動時間、幀速率等),保證網(wǎng)絡處于最佳的運行狀態(tài)。
三,企業(yè)案例
1,通過squid代理服務器實現(xiàn)內網(wǎng)對外網(wǎng)的訪問
拓撲圖
使用linux搭建squid服務器
首先配置linux使其可以通過主機上網(wǎng)
虛擬機中l(wèi)inux開啟雙網(wǎng)卡(setup指令)
加載dns
[root@station2 ~]# vim /etc/resolv.conf
裝squid
[root@station2 ~]# mkdir /mnt/cdrom光盤掛載
[root@station2 ~]# mount /dev/cdrom /mnt/cdrom/
[root@station2 ~]# cd /mnt/cdrom/Server
[root@station2 Server]# rpm -ivh squid-2.6.STABLE21-3.el5.i386.rpm
[root@station2 Server]# vim /etc/squid/squid.conf查看一下
[root@station2 Server]# vim /etc/squid/squid.conf
[root@station2 Server]# service squid start
看端口起了沒
[root@station2 squid]# netstat -tupln |less
測試xp
更改ie瀏覽器設置
?
?
進入linux查看日志
[root@station2 squid]#tail –f /var/log/squid/access.log
第一次訪問
再次訪問命中
測試成功
2,通過squid代理服務器實現(xiàn)內網(wǎng)對外網(wǎng)的訪問(透明代理)
實驗拓撲同上
配置命令
在linux上打開數(shù)據(jù)包轉發(fā)功能
打開數(shù)據(jù)包轉發(fā)功能
[root@station2 ~]# vim /etc/sysctl.conf
[root@station2 ~]# sysctl -p
NAT 配置
?????????????????????????????????????????????????????? 追加規(guī)則?????????????? 來源???????????????????????????????????????? 端口?????????? 動作是
[root@station2 ~]# iptables -t nat -A POSTROUTING -s 192.168.220.0/24 -p udp --dport 53 -o eth0 -j MASQUERADE
從eth1進來的80流量給3128端口
[root@station2 ~]# iptables -t nat -A PREROUTING -p tcp --dport 80 -i eth1 -j REDIRECT --to-ports 3128
[root@station2 ~]# vim /etc/squid/squid.conf
重啟服務
xp上配置
增加網(wǎng)關和dns
關閉代理
?
測試
查看日志信息
[root@station2 squid]#tail –f /var/log/squid/access.log
測試通過
通過更改策略實現(xiàn)對訪問流量的控制
拒絕192.168.220.20訪問
[root@station2 squid]# vim /etc/squid/squid.conf
[root@station2 squid]# service squid restart
測試
禁用后又可以訪問
3,通過squid代理服務器實現(xiàn)外網(wǎng)對內網(wǎng)服務器的訪問
實驗拓撲
web服務器在linux上搭建
設置一臺web服務器
裝載http服務
[root@station ~]# mkdir /mnt/cdrom
[root@station ~]# mount /dev/cdrom /mnt/cdrom/
[root@station Server]# cd /mnt/cdrom/Server/
[root@station Server]# rpm -ivh httpd-2.2.3-31.el5.i386.rpm
[root@station Server]#service httpd start
編寫一個網(wǎng)頁
[root@station html]# echo "hello jx" >index.html
[root@station ~]# cd /mnt/cdrom/Server/
安裝測試軟件
[root@station Server]# rpm -ivh lynx-2.8.5-28.1.el5_2.1.i386.rpm
測試
[root@station Server]# lynx http://127.0.0.1
進入squid服務
[root@station2 ~]# vim /etc/squid/squid.conf
本機配置(windows 7)
本機測試
實現(xiàn)了外網(wǎng)對內網(wǎng)web服務器的訪問
轉載于:https://blog.51cto.com/jinxiang1988/977519
總結
以上是生活随笔為你收集整理的squid代理服务器在企业网中的应用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: UBIFS - UBI File-Sys
- 下一篇: Maven排除项目中同名不同版本的jar