close

實驗目標

反向代理有兩個模型。一個模型利用 Proxy Server 的安全功能來處理作業事件,

而另一個模型則利用其快取功能在高用量伺服器上提供負載平衡。

這兩種模型與常規的代理伺服器用法不同的是它們不會嚴格地在防火牆上作業。

代理伺服器是伺服器的替身

若某台內容伺服器帶有必須確保安全的敏感資訊,例如信用卡號碼的資料庫,

則可以在防火牆之外設定一台代理伺服器做為內容伺服器的替身。

當外部用戶端嘗試存取內容伺服器時,其會被傳送至代理伺服器。

真正的內容安全地儲存在防火牆之內的內容伺服器中。

代理伺服器位於防火牆之外,對於用戶端來說就好像內容伺服器一樣。

節錄敘述參考網頁來源: http://docs.sun.com/source/819-3163/agrvprx.html

實驗拓樸準備

本例將修改下圖DNS與Proxy Server角色合併為一台Server(Mail:192.168.0.196)

Trust 內部Web Site: 將 192.168.2.20/24 與192.168.2.30/24 合併為一台

Fedora 14: 192.168.2.20 內底下含有以下三個虛擬主機

VirtualHost: http://s1.lohas.com
VirtualHost: http://s2.lohas.com
VirtualHost:
http://s3.lohas.com

DNS & Proxy Server:
 
使用CentOS 5.5: 將三台主機A Record 指向對應Proxy Server IP:192.168.0.196/24


(1) DNS組態設定(192.168.0.196):

      首先我們將編輯/var/named/chroot/var/named/lohas.com
 
      將三筆虛擬主機IP A Record 指向 Proxy Server
(本Lab將Proxy與DNS合併為一台*.196)

  
     Nslookup  檢測上三筆紀錄是否OK

   
(2) 建立虛擬目錄配置 (Name-Base Virtual Host)192.168.2.20(Fedora 14)

      從下圖中,我們建立s1.lohas.com ,s2.lohas.com,s3.lohas.com 三個虛擬主機配置

       vi /etc/httpd/conf/httpd.conf
  
(3) 編輯Squid Server 組態(CentOS 5.5:192.168.0.196)以完成Reverse Proxy設定

     
vi /etc/squid/sduid.conf 

      http_port 80  vhost    #預設Squid 採用3128 port號,我們將其更改為80

   #vhost: Accelerator mode using Host header for virtual domain support. Implies accel.

     cache_peer 192.168.2.20 parent 80 0 no-query originserver   #定義web Site 實際位置

    cache_peer_domain 192.168.2.20 s1.lohas.com s2.lohas.com s3.lohas.com

  
  #client 端存取s1.lohas.com時,squid 將至192.168.2.20 取得Data,再允回覆client
 
     acl s1_vir dstdomain s1.lohas.com     #定義三條往目的網域acl (s1,s2,s3)

    acl s2_vir dstdomain s2.lohas.com     

    acl s3_vir dstdomain s3.lohas.com

    acl web_port port 80       #定義web_port:80

    http_access allow s1_vir web_port    #開放存取此三台虛擬主機權限
    http_access allow s2_vir web_port
    http_access allow s3_vir web_port   

    *修改完成設定後請重新啟動Squid*


(4 .Final: Clinet 端測試連線s1 ,s2,s3 三台主機是否Reverse Proxy運行OK? 如下圖Test

   http://s1.lohas.com

   http://s2.lohas.com

  http:/s3.lohas.com

  我們亦可以 利用 tail -f /var/log/squid/access.log 檢視Who連線存取此三台虛擬主機log

 
LAB設計實作時參考資料:

Linux 網路安全技術與實現/恆逸資訊/陳勇勳著
arrow
arrow
    全站熱搜

    終極.凱因斯 發表在 痞客邦 留言(0) 人氣()