1、正向代理(forward)是一個位于客戶端和原始服務器(origin server)之間的服務器,為了從原始服務器取得內容,客戶端向代理發(fā)送一個請求并指定目標(原始服務器),然后代理向原始服務器轉交請求并將獲得的內容返回給客戶端?蛻舳吮仨氁M行一些特別的設置才能使用正向代理。
2、反向代理(reverse proxy)正好相反,對于客戶端而言它就像是原始服務器,并且客戶端不需要進行任何特別的設置?蛻舳讼蚍聪虼淼拿臻g(name-space)中的內容發(fā)送普通請求,接著反向代理將判斷向何處(原始服務器)轉交請求,并將獲得的內容返回給客戶端,就像這些內容原本就是它自己的一樣。
3、兩者區(qū)別
從用途上來講:
正向代理的典型用途是為在防火墻內的局域網客戶端提供訪問Internet的途徑,正向代理還可以使用緩沖特性減少網絡使用率。
反向代理的典型用途是將防火墻后面的服務器提供給Internet用戶訪問,反向代理還可以為后端的多臺服務器提供負載平衡,或為后端較慢的服務器提供緩沖服務。另外,反向代理還可以啟用高級URL策略和管理技術,從而使處于不同web服務器系統(tǒng)的web頁面同時存在于同一個URL空間下。
從安全性來講:
正向代理允許客戶端通過它訪問任意網站并且隱藏客戶端自身,因此你必須采取安全措施以確保僅為經過授權的客戶端提供服務。
反向代理對外都是透明的,訪問者并不知道自己訪問的是一個代理。
而squid是一個forword/reverse proxy,兩個功能兼?zhèn),一般可以作為局域網的上網緩存,此時作為正向代理。一般服務器會讓squid作為前端,那就是充當反向代理,反向代理有很多軟件都可以,比如nginx、lighttpd,但他們兩個一般做不了正向代理。
4、透明代理(簡單代理):透明代理的意思是客戶端根本不需要知道有代理服務器的存在,它改編你的request fields(報文),并會傳送真實IP。注意,加密的透明代理則是屬于匿名代理,意思是不用設置使用代理了,例如Garden 2程序。
如何使用透明代理
透明代理技術中的透明是指客戶端感覺不到代理的存在,不需要在瀏覽器中設置任何代理,客戶只需要設置缺省網關,客戶的訪問外部網絡的數(shù)據(jù)包被發(fā)送到缺省網關,而這時缺省網關運行有一個代理服務器,數(shù)據(jù)實際上被被重定向到代理服務器的代理端口(如8080),即由本地代理服務器向外請求所需數(shù)據(jù)然后拷貝給客戶端。理論上透明代理可以對任何協(xié)議通用。
但是在這種情況下客戶端必須正確設置DNS服務器。因為現(xiàn)在瀏覽器不設置任何代理。則DNS查詢必須由browser來解析,也就是要由客戶端必須在TCP/IP中設置的正確的DNS服務器,其完成dns解析。
私有網地址為192.168.1.*, 其中客戶機是192.168.1.100,防火墻機器網卡是192.168.1.1。透明web代理被安裝在防火墻機器上并配置端口為8080。內核使用iptables把與防火墻端口80的連接重定向到代理服務。
5、透明模式的防火墻就好象是一臺網橋(非透明的防火墻好象一臺路由器),網絡設備(包括主機、路由器、工作站等)和所有計算機的設置(包括IP地址和網關)無須改變,同時解析所有通過它的數(shù)據(jù)包,既增加了網絡的安全性,又降低了用戶管理的復雜程度。
防火墻使用透明代理技術,這些代理服務對用戶也是透明的,用戶意識不到防火墻的存在,便可完成內外網絡的通訊。當內部用戶需要使用透明代理訪問外部資源時,用戶不需要進行設置,代理服務器會建立透明的通道,讓用戶直接與外界通信,這樣極大地方便了用戶的使用。 一般使用代理服務器時,每個用戶需要在客戶端程序中指明要使用代理,自行設置Proxy參數(shù)(如在瀏覽器中有專門的設置來指明HTTP或FTP等的代理)。而透明代理服務,用戶不需要任何設置就可以使用代理服務器,簡化了網絡的設置過程。
透明代理的原理如下:假設A為內部網絡客戶機,B為外部網絡服務器,C為防火墻。當A對B有連接請求時,TCP連接請求被防火墻截取并加以監(jiān)控。截取后當發(fā)現(xiàn)連接需要使用代理服務器時,A和C之間首先建立連接,然后防火墻建立相應的代理服務通道與目標B建立連接,由此通過代理服務器建立A 和目標地址B的數(shù)據(jù)傳輸途徑。從用戶的角度看,A和B的連接是直接的,而實際上A 是通過代理服務器C和B建立連接的。反之,當B對A有連接請求時原理相同。由于這些連接過程是自動的,不需要客戶端手工配置代理服務器,甚至用戶根本不知道代理服務器的存在,因而對用戶來說是透明的。
透明代理與透明模式都可以簡化防火墻的設置,提高系統(tǒng)安全性。但兩者之間也有本質的區(qū)別:工作于透明模式的防火墻使用了透明代理的技術,但透明代理并不是透明模式的全部,防火墻在非透明模式中也可以使用透明代理。
|