Proxy Server 規劃管理

Download Report

Transcript Proxy Server 規劃管理

臺灣學術網路竹苗區域網路中心
89年網路教育推廣訓練課程
Proxy Server 規劃管理
主講人:葉致偉
交大校園網路策進會
[email protected]
上路之前
瞭解Proxy的運作原理和架構
為什麼需要Proxy?
 節省頻寬
 減少等待時間
 增加安全性
 頻寬的使用可以公開化、公平化
 網路中斷仍可部份使用
有什麼壞處?
 資料不一定是最正確的
 設定不當反而會增加等待時間
 使用不當容易造成效能下降
基本觀念
 階層式的架構
 Parent/child
-- parent 要幫 child 代抓資料
 Siblings
-- 相互支援,互通有無,不代抓資料
 階層關係是相對的,並非絕對的
Parent/child
 通常Parent離目的地
較近、較快
 對不同的目的地可以
有不同的Parent
 Parent有時也可能變
成Child
Siblings
 Siblings彼此的地位
是對等的
 Siblings之間互通有
無,但是不幫忙代抓
 詢問時送出ICP
(Internet Cache
Protocol)
Internet
2a
X
3b
• 163.28.xxx.yyy
2b
Proxy/caching
server
1a
1b
PC client
TANet Gateway
HD
cache
4b
• TANet 區域網路使用者
Fig. 1 Proxy/caching server 運作示意圖
交大Proxy
Server架構
區網下游單位Proxy架構
各大區網Proxy架構圖
Proxy的效率
 Hit Rate
-- By Objects/By Bytes
-- 國外網頁約在 30-45% 之間
-- 國內網頁約在 50-70% 之間
 Response Time
-- 受硬體、網路影響較大
Proxy Server 所需的硬體
 硬碟越快越好
-- 大不一定好,搜尋時間比較重要
 記憶體越大、越快越好
 CPU的要求並不特別高
 網路卡要穩定
架設Proxy Server
使用 squid proxy server
規畫您的Proxy Server
 有多少使用者?
 經常存取的網頁有哪些?
 哪些時段會是尖峰時段?
 有多少預算?
 連往內部(Intranet)還是外部(Internet)?
 希望達到什麼目標?
NCTU Proxy Server 規畫
 經常使用之節點約 6000 個
 提供竹苗區下游單位使用
 總流量約40Gb/day
 提供數位電子圖書館期刊專用
NCTU Proxy Server 規畫
 三台PC Server分別負責不同區域
-- Pentium II 400 MHz CPU
-- 9GB UW-SCSI x 8
-- 1GB RAM
-- 10/100M Network Interface Card(Intel)
-- FreeBSD 4.0-stable
-- Squid 2.3.STABLE2
What is squid?(1)
 高效能的免費 Proxy Server
 架設在 FreeBSD、Linux、Solaris等UNIX
Server 上
 提供相當有彈性的access list 設定方式
 提供加權的ICP設定,可以讓 Proxy 的架
構更有彈性
 本身即附有DNS Client以供查詢Domain
Name
What is squid?(2)
 可以將數台 squid server 排成階層狀,也
可以排成網狀
 支援 SSL,安全不成問題
 利用 RAM 來存放熱門資訊,減少硬碟存
取次數
取得Squid軟體
 原始站台
-- ftp://ftp.squid-cache.org/(原始站)
-- http://proxy.nctu.edu.tw/tech/source/
 安裝步驟
-- 參考 http://www.squid-cache.org
-- FAQ
-- User Guide
Squid 2.X 的組成
 Squid – 主要 Proxy 程式
 dnsserver – 外掛的 DNS 查詢程式
(在 2.3-STABLE 以後改成內建)
 client – 可供測試用的簡易http client
 其他管理工具
Squid-2的建置與設定
 取得並編譯軟體
% tar xvzf squid-2.3.x.src.tar.gz
% cd squid-2.2-x
% ./configure –prefix=/home/squid
% make
% make install
 ./configure –help 有許多選項,可參考FAQ的2.6
有詳細的說明
 建議值
./configure –prefix=/home/squid –enable-regex
–enable-delay-pools –enable-cache-digests
--enable-err-language=Traditional_Chinese
Squid中標準的目錄結構
 若以 –prefix=/home/squid 為參數,則以
下目錄都在 /home/squid 下:
- bin,etc,log
- 主要設定檔位於 etc/ 目錄下
‧squid.conf, mime.conf, mib.txt, errors/
- 系統記錄檔放在 logs/ 目錄下
‧access.log, cache.log,…
停止 squid server
 若有跑 RunCache,先停掉 RunCache
% ps –ax |grep RunCache 找出 pid
% kill $pid
% bin/squid –k shutdown
 若不先停掉 RunCache, squid 會自動重生
 Squid 最好透過 squid –k shutdown 這個指
令停止,不要直接砍 pid
啟動squid server
 若採用預設值不更動,則需要先建立一
個 cache/ 目錄,並執行
% chown –R nobody cache
 建立 cache/ 目錄下的次目錄
% bin/squid –z
 執行 RunCache 以啟動 squid
% bin/RunCache &
設定 squid.conf
 cache_mem 建議設定為系統記憶體的1/3
 使用 acl 和 http_access 設定proxy階層
 參考 http://proxy.nctu.edu.tw 的下游設定
程式不正常時….
 用 tail –f access.log 觀察是否送到正確的
機器
 用 tail –f cache.log 觀察是否有錯誤訊息
 cache_dir 是否滿了?
 使用 cachemgr 來觀察系統狀況
CacheFlow
Proxy 的另一種選擇
什麼是CacheFlow?
 整合性的Proxy/Cache Server
 省去硬體/作業系統維護的麻煩
 方便的Web-based管理介面
 減少網路延遲
 加強的抓取網頁功能
- Pipe-line 技術
- Refresh 機制
 加強的儲存系統
管理介面
 採用http的方式更新設定檔
 系統可以從網路上升級
 系統log可在Web上直接看到
 要分析詳細log要用 ftp upload 到特定機
器
技術以外….
法律相關問題
使用者隱私權問題
 使用者公約
 分析統計流量
 超量使用的處理方式
參考資料
 http://www.squid-cache.org
 http://proxy.nctu.edu.tw
 http://proxy.nsysu.edu.tw
 http://www.cacheflow.com