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