很多公司的網路會有Proxy的架構,讓大家都統一由Proxy的出口對外連線,方便網路管理人員集中控管,也可以避免瀏覽惡意的網站等等。在Linux上架設Proxy可能大家都使用Squid居多,算是一套比較普遍而且資源較豐富的常用軟體,相對的功能及設定都比較細緻,和我今天要分享的TinyProxy有很大的差別,TinyProxy是一款輕巧的Proxy Server軟體,安裝與使用都超簡單,若是網路環境並非太過複雜,是一套輕巧的選擇。
TinyProxy支援的平台有:
- RedHat、CentOS、Fedora
- Ubuntu、Debian
- FreeBSD、OpenBSD、NetBSD
- Mac OS X
幾乎常見的unix like平台都可以安裝使用,安裝的方式都可以透過套件管理軟體直接安裝使用,也可以採用自己編譯的方式,以下我分享CentOS的使用方式。CentOS可以直接透過yum安裝,不過可能並非最新的版本,我直接用yum安裝只有裝到1.6的版本,還不支援Reverse Proxy的設定,請自己尋找較新的rpm檔案安裝即可,最新版的TinyProxy安裝後,會在系統內新增tinyproxy的使用者,將會成為啟動服務的使用者。
預設安裝的檔案# rpm -ql tinyproxy
/etc/logrotate.d/tinyproxy # 支援logroatate
/etc/rc.d/init.d/tinyproxy # 支援服務啟動
/etc/tinyproxy
/etc/tinyproxy/tinyproxy.conf # 主要設定檔
/usr/sbin/tinyproxy
/usr/share/doc/tinyproxy-1.8.2
/usr/share/doc/tinyproxy-1.8.2/AUTHORS
/usr/share/doc/tinyproxy-1.8.2/COPYING
/usr/share/doc/tinyproxy-1.8.2/NEWS
/usr/share/doc/tinyproxy-1.8.2/README
/usr/share/doc/tinyproxy-1.8.2/filter-howto.txt
/usr/share/doc/tinyproxy-1.8.2/http-error-codes.txt
/usr/share/doc/tinyproxy-1.8.2/http-rfcs.txt
/usr/share/man/man5/tinyproxy.conf.5.gz
/usr/share/man/man8/tinyproxy.8.gz
/usr/share/tinyproxy
/usr/share/tinyproxy/debug.html
/usr/share/tinyproxy/default.html
/usr/share/tinyproxy/stats.html
/var/log/tinyproxy # log檔案為tinyproxy.log
/var/run/tinyproxy
主要設定檔# vi /etc/tinyproxy/tinyproxy.conf
User tinyproxy # 執行的帳號
Group tinyproxy # 執行的群組
Port 8888 # 監聽的連接埠
DefaultErrorFile "/usr/share/tinyproxy/default.html" # 設定錯誤網頁,可以自己設定風格(請聯絡網管人員......之類的)
LogLevel Info # 紀錄的內容可以修改,有Critical、Error、Warning、Notice、Connect與Info六種等級
Allow 192.168.1.0/24 # 限制可以使用Proxy的來源網段
Filter "/etc/tinyproxy/filter" # 過濾網頁設定檔,基本上列出一條一條網址即可
ConnectPort 443 # 設定可以連線的連接埠
基本上若沒有太多特殊的需求,設定檔不用有太多的調整,進階的設定還有Reverse Proxy的運用等等,但是也都屬於比較陽春級的功能,若要專門的Reverse Proxy可以參考
【Varnish】。此外,TinyProxy並沒有所謂的權限控管之類的功能,算是比較開放式的Proxy,若大家有需要使用也請設定好允許的來源,避免遭到惡意的使用。
TinyProxy:https://banu.com/tinyproxy/