选择显示字体大小

kingate代理服务器指南

kingate是一个代理服务器,能代理多种协议,包括:http,https,socks,ftp,pop3,smtp,te.net,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
把显示的信息也帖上去.
或者发邮件给作者:khj99@tom.com

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
te.net 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


#[te.net]
te.net_port 2323
te.net_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,认证密码随便写一个
.te.net代理使用:
te.net kingate主机地址 kingate的te.net端口
输入: 你要访问的主机 你要访问的主机地址
.socks代理设置(包括socks4和socks5):
参见各客户端软件的介绍.
mms和rtsp代理请参见windows media play和realplay的使用方法

12.kingate的官方站点:
http://sourceforge.net/projects/kingate/   


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons