歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux資訊 >> 更多Linux

kingate代理服務器指南

  kingate是一個代理服務器,能代理多種協議,包括:http,https,socks,FTP,pop3,smtp,telnet,dns。能運行在Linux,freebsd,...及其它類unix,還有windows(最新版本要求nt 4.0以上)操作系統上 kingate是一個多線程的程序(采用線程池的方式),所以短時間內大量的連接請求,kingate還能保持很高的性能。 kingate還支持tcp端口映射,可以實現別人訪問你的內網主機。 kingate有強大的規則控制,包括源IP地址,目的IP地址,目的端口,及采用的代理協議。 kingate也支持時間控制。即可以設置什麼時間內,所設置的規則才有效。 kingate內置了用戶認證,以及記錄用戶的使用情況,包括用戶的使用時間,接收和發送的數據量,可以很容易實現對用戶的記費。 kingate采用http來進行管理,使得管理kingate及查看運行信息變得一件很輕松的事情,也可以遠程管理。 kingate還支持內存及硬盤共二級緩存(僅限http代理). 最新版本的kingate還可以用來加速web服務器(采用緩存原理)。提升你的web服務器的性能。 kingate還是一款國人開發的代理服務器。下面我們來全面了解kingate服務器。 1:下載最新的kingate. http://sourceforge.net/projects/kingate/ 如果你是windows版本請看第8項. 2:解壓 tar xzf kingate-xxxxx.tar.gz cd kingate 3:安裝 ./configure --prefix=安裝目錄 如:./configure --prefix=/tmp/kingate make install 4:使用 prefix/bin/kingate 啟動kingate prefix/bin/kingate -f 強行啟動kingate,如果啟動kingate提示有一個在運行,而你又確實kingate沒有運行,可以使用這個。 prefix/bin/kingate -h 查看kingate用法 prefix/bin/kingate -q 關閉kingate prefix/bin/kingate -v 查看kingate版本 prefix/bin/kingate -d # 以調試方式運行程序。#為調試級別,(0-3)。數字越高顯示信息也越多。 5:配置 kingate配置文件是etc/kingate.conf,打開這個文件,裡面有詳細的說明及用法. 6:關於Bug 運行kingate之前最好運行:ulimit -c unlimited 請訪問:http://sourceforge.net/tracker/?group_id=54802&atid=474891,說明bug的現象,及重現辦法,以及kingate的版本號。注意,如果kingate在退出時產生了core文件,這很好, 使用: gdb prefix/bin/kingate core文件 再輸入:BT 把顯示的信息也帖上去. 或者發郵件給作者:[email protected] 7:關於dnsproxy 專門代理dns服務請求,請用root用戶指行此程序. 8.windows用戶 解壓: 使用WinZip或WinRAR之類的解壓工具。 安裝 c:\>prefix\bin\kingate --install c:\>prefix\bin\kingate -z 反安裝 c:\>prefix\bin\kingate --uninstall 啟動kingate代理 c:\>net start kingate 停止kingate代理 c:\>net stop kingate 啟動dns代理: c:\>prefix\bin\dnsproxy.exe -h use_dns_host -b bindaddr -m max_thread 9.kingate的配置文件說明: #配置文件開始 #service #以下是告訴kingate代理哪些協議,如果要打開的請設置on,否則設為off http on ftp on pop3 on smtp on telnet on socks on mms on rtsp on manage on #bind_addr用來告訴kingate綁定的IP地址。 #bind_addr 192.168.0.1 #run_user指kingate的運行者。請注意,如果設置了run_user.請以root啟動kingate.並且把kingate的etc和var目錄設置該用戶可以讀寫。 #run_user nobody #max指kingate最多同時接受多少個連接請求。超過此數,多余的連接kingate將馬上關閉。 max 500 #max_per_ip用來表明每個IP,同時最多有多少個連接請求。設置為0,表示不限制 max_per_ip 0 #min_free_thread 表明kingate關閉一些超時空閉的線程時,最少會留多少個不關閉。 min_free_thread 3 #[http] http_port 8082 #http_port表時http代理的端口 http_accelerate off #http_accelerate這個參數很重要。如果你只是使用代理時請設置為off. #如果你用kingate來加速web服務器時,設置為on,並且加上: #http_redirect { * * http_host:http_port none } x_forwarded_for off #在http請求中加入客戶端的IP地址。如果你用kingate來加速web服務器時,建議設置on. http_time_out 300 #http_time_out http代理發送接收超時時間(秒) #http重定向: #http_redirect { dst[/dst_mask][:dst_port] file redirect_host:redirect_port flag } #http_redirect { * * 210.15.29.16:80 none } #http_redirect { 211. * 210.15.29.16:8082 proxy } #[ftp] ftp_port 2121 ftp_time_out 300 #[pop3] pop3_port 1100 pop3_time_out 300 #[smtp] smtp_port 2525 smtp_time_out 300 #[telnet] telnet_port 2323 telnet_time_out 300 #[socks] socks_port 1082 socks_time_out 300 socks5_user off #socks5_user設置是否在socks5代理中運行用戶認證。 #[mms] mms_port 1755 mms_time_out 300 #[rtsp] rtsp_port 5540 rtsp_time_out 300 #[manage] manage_port 2222 manage_time_out 300 #log section log_model user log_level 2 log_rotate { 0 0 * * * } log_close_msg off #the log_close_msg first add in v1.5 when it on the kingate will log the connect close msg to log_file. #and when it set off kingate won't log the connect close msg to log_file #緩存部分 #cache section mem_min_cache 20m mem_max_cache 30m disk_min_cache 100m disk_max_cache 120m use_disk_cache on refresh never refresh_time 0 #端口重定向 #redirect port_host:port #端口重定向功能,所有port端口的請求發送至host:port #redirect 9999_211.141.90.201:23 #redirect 3333_127.0.0.1:23 #配置文件結束 10.kingate管理 kingate從1.5版開始遠程管理使用單獨的端口來管理。我們有了遠程管理可以動態改變控制規則,用戶及用戶組的管理。相信這個功能會越來越強大的。 只要http代理或者manage端口打開了,遠程管理功能就可以了,在Access.conf文件裡面記得要允許manage管理訪問哦,像下面一樣就打開了(只允許本機使用管理功能,service寫manage,用戶組寫*,就表示這條規則是管理的了); first deny model deny { manage * !127.0.0.1 * } model allow { * * * * } 。進入http管理 打開浏覽器(如IE或Mozilla),在地址欄中輸入:http://kingate代理服務器IP地址:manage代理端口/ manage端口由kingate.conf裡面的manage_port指定,並在kingate.conf指定manage on 就可以了。初始root的密碼是kingate, 注意:這裡一定要寫kingate代理服務的IP地址,不可以寫域名啊或localhost之類的。比如在kingate裝在本機manage端口是2222就輸入:http://127.0.0.1:2222/ 不能寫:http://localhost:2222/ 。進入之後就可以看到一些鏈接. logout -->> 退出登錄 chanage passWord -->> 更改自已的密碼 --------------------------------------------------- 如果是root登錄的話,你還可以看到以下鏈接: users -->> kingate的用戶管理 login users -->> 查看當前登錄用戶情況 access -->> 管理kingate的訪問控制 info -->> 查看kingate的運行信息 config -->> 配置kingate(注意:這裡更改後kingate要重起才能生效) 3.kingate的部分文件 prefix/bin/kingate kingate主程序(windows版本就是kingate.exe) prefix/bin/dnsproxy kingate的dns代理程序(windows版本就是dnsproxy.exe) prefix/var/kingate.log kingate的日志文件(要求kingate運行用戶有讀寫權限) prefix/etc/kingate.conf kingate的配置文件(如果用http管理的話,則要求kingate運行用戶有讀寫權限,否則只要讀權限) prefix/etc/kingate.user kingate的用戶文件(要求kingate運行用戶有讀寫權限) prefix/etc/access.conf kingate的訪問控制文件(如果用http管理的話,則要求kingate運行用戶有讀寫權限,否則只要讀權限) prefix/etc/kingate.pid 保存kingate的pid的文件(windows版本沒有,要求kingate運行用戶有讀寫權限) prefix就是kingate的主目錄. .kingate訪問控制。 kingate的訪問控制可以通過http管理進行修改,也可以通過直接編輯access.conf文件,兩者的區別就是直接編輯access.conf文件,kingate需要重起才能生效,而通過http管理則不用重起就能生效。 kingate的訪問控制分為兩類規則,一類是allow(允許)規則,另一類是是deny(拒絕)規則。還有一個first來指定的第一規則(即優先級較高的). kingate對一個請求首先在第一規則查找,如果找到,就按第一規則進行處理。 第一規則中沒有找到,kingate在另一規則中查找,如果找到按第二規則進行處理。 如果該請求在兩者中都沒能找到,kingate就按第一規則進行處理。 一個規則由以下各項組成: { rule } { time } 該規則有效時間由time指定,如果沒有time,表示所有時間,time格式見下面。 rule格式: [!]service [!]group [!]src_ip[/src_mask] [!]dst_ip[/dst_mask][:dst_port] 詳細說明 *表示所有。 !表示取反,例service為 !http 表示除http服務之外. 注意:!和*不可以同時使用,如果同時使用會發生意想不到結果。以下同。 service可以為名字:http,socks,ftp,.... 也可以寫端口,如:8082,1082,... group為用戶組名稱. *表示所有的用戶和非用戶。 all表示所有的用戶。 src_ip表示源地址,如果以"."結尾表示是一個網絡。*表示所有的源地址. src_mask源地址掩碼,可以是255.255...的形式,也可以是數字像iptables的形式.如果src_ip為一個IP,src_mask就不要寫。 dst_ip目的地址,格式和src_ip一樣。 dst_mask目的地址掩碼,格式和src_mask一樣. dst_port目的端口。如果不寫則表示所有端口。 注意:src_mask,dst_mask,dst_port不可以和取反"!"一起使用. time格式: 分 時 日 月 星期 格式同crontab一樣(星期日是0),但是沒有"/"符號. 例: * 8-10 * * 6,0 表示:星期六星期日的8點到10點。 5.access.conf文件格式: first allowdeny model allow { rule } { time } ... model deny { rule } { time } access.conf文件舉例: a:實現kingate的匿名代理: first deny model deny { manage * !127.0.0.1 * } model allow { * * * * } b:實現kingate用戶認證代理(記得一定要更改kingate的root密碼哦) first deny model deny model allow { * all * * } { manage * * * } 11.客戶端訪問方式: .http代理的設置就不用說了(應該簡單)。 .ftp代理格式:user@ftp_host:port .pop3代理格式:email@pop3_host:port .smtp代理設置: smtp代理從1.5版之後不用在服務器設置了,只用在客戶端設置就可以了。 設置分為兩類: a:你的smtp要驗證: 在你的郵件客戶端把smtp認證選上。認證用戶名:user@smtp_host:port,認證密碼寫你的密碼 b:你的smtp不用驗證: 在你的郵件客戶端把smtp認證選上。認證用戶名:user#smtp_host:port,認證密碼隨便寫一個 .telnet代理使用: telnet kingate主機地址 kingate的telnet端口 輸入: 你要訪問的主機 你要訪問的主機地址 .socks代理設置(包括socks4和socks5): 參見各客戶端軟件的介紹. mms和rtsp代理請參見windows media play和realplay的使用方法 12.kingate的官方站點: http://sourceforge.net/projects/kingate/




Copyright © Linux教程網 All Rights Reserved