squid在企業網中的應用

?一:squid簡介:

Squid是一種在Linux系統下使用的優秀的代理服務器軟件。Squid是一個緩存internet數據的一個軟件,它接收用戶的下載申請,并自動處理所下載的數據。也就是說,當一個用戶想要下載一個主頁時,它向Squid發出一個申請,要Squid替它下載,然后Squid 連接所申請網站并請求該主頁,接著把該主頁傳給用戶同時保留一個備份,當別的用戶申請同樣的頁面時,Squid把保存的備份立即傳給用戶,使用戶覺得速度相當快。

二:CDN簡介:

CDN的全稱是Content Delivery Network,即內容分發網絡。其目的是通過在現有的Internet中增加一層新的網絡架構,將網站的內容發布到最接近用戶的網絡“邊緣”,使用戶可以就近取得所需的內容,提高用戶訪問網站的響應速度。從技術上全面解決由于網絡帶寬小、用戶訪問量大、網點分布不均等問題,提高用戶訪問網站的響應速度。為更好地理解CDN,讓我們看一下CDN的工作流程。當用戶訪問已經加入CDN服務的網站時,首先通過DNS重定向技術確定最接近用戶的最佳CDN節點,同時將用戶的請求指向該節點。當用戶的請求到達指定節點時,CDN的服務器(節點上的高速緩存)負責將用戶請求的內容提供給用戶。

CDN 網絡加速器的四大優勢?:

高速:提高了企業站點(尤其含有大量圖片和靜態頁面站點)的訪問速度,并大大提 高以上性質站點的穩定性

實用:當企業站點所存放的服務器短時宕機時,用戶仍可以在很長一段時間訪問 cache 服務器,獲得該企業站點的信息;

簡易:CDN 網絡加速器對用戶完全透明,購買、使用方便,不需對其空間作任何更 改,不影響原來空間維護操作和運行內容;

超值:本公司為 CDN 提供可再擴展的所有緩存服務器以及專用 DNS 硬件以及帶寬,一次購買,可在各地電信機房自動為您"克隆"出多個站點副本,讓站點遍布 internet 各處。

三:正向代理與反向代理

正向代理是一個位于客戶端和原始服務器(origin server)之間的服務器,為了從原始服務器取得內容,客戶端向代理發送一個請求并指定目標(原始服務器),然后代理向原始服務器轉交請求并將獲得的內容返回給客戶端。客戶端必須要進行一些特別的設置才能使用正向代理。

反向代理正好相反,對于客戶端而言它就像是原始服務器,并且客戶端不需要進行任何特別的設置。客戶端向反向代理的名字空間(name-space)中的內容發送普通請求,接著反向代理將判斷向何處(原始服務器)轉交請求,并將獲得的內容返回給客戶端,就像這些內容原本就是它自己的一樣。

案例一:透明代理(正向):透明代理的意思是客戶端根本不需要知道有代理服務器的存在

設計思路:squid代理服務器處于內網當中,且有雙網卡eth1和eth0,用戶通過路由器才能正常上網。上網需要指明dns服務器,但是dns服務器處于外網當中,想要能夠正常解析出域名,內網主機需要使用nat轉換將dns解析信息發送到外網中,所以在代理服務器上配置iptables策略,將nat數據包轉發到外網。內網主機需要指明dns服務器地址和網關eth1:192.168.10.10。而squid代理服務器需要指明網關192.168.101.254和dns服務器222.88.88.88(222.85.85.85)

拓撲方案:

代理服務器的網關指向路由器接口:

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

[root@lyt ~]# mkdir /mnt/cdrom

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

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

[root@lyt Server]# rpm -ivh squid-2.6.STABLE21-3.el5.i386.rpm #安裝squid包

過濾/etc/squid/squid.conf配置文件的注釋行:[root@lyt ~]# grep -v "^#" /etc/squid/squid.conf |grep -v "^$"

[root@lyt Server]# vim /etc/squid/squid.conf #編輯squid的配置文件

[root@lyt Server]# service squid start

[root@lyt Server]# netstat -tupln |less

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

[root@lyt ~]# sysctl –p #使數據包轉發功能生效

[root@lyt ~]# iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -p udp --dport 53 -o eth0 -j MASQUERADE #使用nat協議,-t表示表格(table);在路由后(POSTROUTING)進行追加,-A表示追加;源地址是192.168.10.0/24網段,-s表示source;監聽目標端口udp的53;出口是eth0,-o表示出口網卡;MASQUERADE是地址偽裝,也即使用eth0網卡的ip地址作為nat轉換的源地址

[root@lyt ~]# iptables -t nat -A PREROUTING -p tcp --dport 80 -i eth1 -j REDIRECT --to-port 3128 #使用nat協議,-t表示表格(table);在路由前(PREROUTING)追加,-A表示追加;目標端口是tcp的80端口;監聽進口網卡eth1,重定向到3128端口。

[root@lyt ~]# service squid restart

測試:使用xp主機

案例二:反向代理:在代理服務器上設置雙網卡,eth0處于外網,eth1處于內網,實現外網的主機訪問內網的web服務器

1:配置web server :

?

[root@localhost ~]# mkdir /mnt/cdrom

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

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

[root@localhost Server]# rpm -ivh httpd-2.2.3-31.el5.i386.rpm #安裝apache,使其作為一臺web服務器

[root@localhost Server]# cd /var/www/html/

[root@localhost html]# vim index.html #創建web服務器主頁

[root@localhost html]# service httpd start

2:在案例一中。只需要將代理服務器作如下修改即可:

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

[root@lyt ~]# squid -k parse #測試配置文件的語法是否正確

[root@lyt ~]# service squid restart

[root@lyt ~]# netstat -tupln |less

測試:使用xp主機進行測試:

案例三:非透明代理:就是用戶必須要知道代理服務器的存在,并且進行設置才可以通過代理服務器上網。通過在非透明代理實現內網訪問外網。

拓撲方案:

配置代理服務器:

root@lyt ~]# mkdir /mnt/cdrom

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

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

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

[root@lyt Server]# vim /etc/squid/squid.conf

[root@lyt Server]# service squid start #啟動squid服務

測試:










本文轉自 liuyatao666 51CTO博客,原文鏈接:http://blog.51cto.com/5503845/977972,如需轉載請自行聯系原作者

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/256582.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/256582.shtml
英文地址,請注明出處:http://en.pswp.cn/news/256582.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

win10+tensorflow faster-RCNN 訓練自己的數據集

首先,感謝博客上各路大佬的無私奉獻!但是也不得不吐槽下,大佬些寫博客的時候能盡量寫的對小白友好一點嗎?期間遇到各種坑,說多了都是淚啊!話不多說,上正題! 環境:win10a…

matlab simulnk筆記07——模塊(接地模塊group、終止模塊terminal、信號合并mux與分解模塊demux)

1.接地模塊group 2.終止模塊terminal 3.信號合并mux 注意:合并僅僅指的是物理上的合并,數學上真正意義上的合并,只是將多個信號放在同一個管道上統一傳輸給顯示終端,但是每個信號之間互不影響,是相

二叉搜索樹的插入與刪除圖解

一、二叉搜索樹(BSTree)的概念 二叉搜索樹又被稱為二叉排序樹,那么它本身也是一棵二叉樹,那么滿足以下性質的二叉樹就是二叉搜索樹:1、若左子樹不為空,則左子樹上左右節點的值都小于根節點的值2、若它的右子…

AlienVault Ossim各版本鏡像下載地址

AlienVault Ossim各版本鏡像下載地址 OSSIM V5.0.3 ISO網盤下載地址 了解Ossim的架構、工作原理和使用方法可以參考我的新書以及http://edu.51cto.com/course/course_id-1186.html 這里提供的視頻教程。 本文轉自 李晨光 51CTO博客,原文鏈接:http://blo…

面試總結

lru算法:最近最少使用  1.新數據插入到鏈表頭部;  2.每當緩存命中(即緩存數據被訪問),則將數據移到鏈表頭部;  3.當鏈表滿的時候,將鏈表尾部的數據丟棄。 自定義控件: 1.measu…

win10+anaconda安裝tensorflow和keras遇到的坑小結

win10下利用anaconda安裝tensorflow和keras的教程都大同小異(針對CPU版本,我的gpu是1050TI的MAX-Q,不知為啥一直沒安裝成功),下面簡單說下步驟。 一 Anaconda安裝 一般來說,python選擇3.6的,目…

rman備份恢復命令之switch

一 switch 命令 1 switch命令用途 更新數據文件名為rman下鏡像拷貝時指定的數據文件名 更新數據文件名為 set newname 命令指定的名字。 2 switch 命令使用前提條件 rman 必須連接到目標數據庫 當switch tablespaces、datafiles、tempfiles時,這些文件必須離線 當…

服務核心 - 工具類

雖然類名稱為CWHService,我理解更多的是工具函數。 主要接口功能有: 1)SetClipboardString設置字符串到windows剪貼板 2)GetMachineID獲取機器標識,網卡地址MD5加密; 3)GetMachineIDEx獲取機器標…

現代制造工程課堂筆記07——應力應變分析(考點應力莫爾圓)

目錄 選擇判斷題,簡單計算在莫爾圓那里出 一、單向拉伸中的應力應變 手寫筆記 選擇判斷題,簡單計算在莫爾圓那里出 一、單向拉伸中的應力應變 、 手寫筆記

win10+tensorflow CPU 部署CTPN環境

剛弄明白CTPN部署的時候,CTPN作者剛更新了簡易代碼版本,看介紹是把代碼優化了不需要多的配置。。。感覺好憂傷! 源碼地址:https://github.com/eragonruan/text-detection-ctpn/tree/master 新版本地址:https://githu…

css如何實現背景透明,文字不透明?

之前做了個半透明彈層,但設置背景半透明時,子元素包含的字體及其它元素也都變成了半透明。對opacity這個屬性認識的不透徹,在這里做一些總結,方便以后使用。 背景透明,文字不透明的解決方法:為元素添加一個…

SQL Server 使用OPENROWSET訪問ORACLE遇到的各種坑總結

在SQL Server中使用OPENROWSET訪問ORACLE數據庫時,你可能會遇到各種坑,下面一一梳理一下你會遇到的一些坑。 1:數據庫沒有開啟"Ad Hoc Distributed Queries"選項,那么你就會遇到下面坑。 SELECT TOP 10 * FROM OPENROWS…

matlab——FFT傅里葉快速變換

目錄 一、自身的理解與補充 二、其他參考鏈接 一、轉載:https://blog.csdn.net/u013215903/article/details/48091359 FFT是Fast Fourier Transform(快速傅里葉變換)的簡稱,這種算法可以減少計算DFT(離散傅里葉變換,關于此更詳細的說明見后文)的時間,大大提高了運算效…

win10+tensorflow import cv2 bug解決

https://blog.csdn.net/sinat_21591675/article/details/82595812

設計理念 : popup login 在前后臺

popup 意思是一個遮罩層頂在整個網頁最前方,在前臺設計是這樣的,當用戶想在那個界面登入時,就可以有一個遮罩層出現。 在employer或admin(后臺)操作界面是同個理念,在所有的界面都是有control panel為根節點…

input和raw_input

12345678910python 2#!/usr/bin/env python#coding:utf-8nameraw_input("plese input you name") print namepython3#!/usr/bin/env python#coding:utf-8nameinput("plese input you name") print name本文轉自 小小三郎1 51CTO博客,原文鏈接…

MAATLAB GUI——回調函數的設置(Callbacks)

目錄 1.回調函數創建步驟 1)命令窗口中輸入guide,創建一個新的GUI界面窗口

是什么時候開始學習gulp了

轉自:http://www.ydcss.com/archives/18 簡介: gulp是前端開發過程中對代碼進行構建的工具,是自動化項目的構建利器;她不僅能對網站資源進行優化,而且在開發過程中很多重復的任務能夠使用正確的工具自動完成&#xff1…