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