dante安装

代理服务器dante的安装 介绍Socks4/5代理软件dante的安装和配置.
实现的功能:
1.对于UDP代理 (比如QQ),不做任何限制.
2.对于TCP代理 (比如 ftp ,联众),需要身份验证才能通过)
3.对于foxmail收发邮件,无需身份验证.
*安装:
下载ftp://10.13.22.88:52088/Linux/_Incoming_/proxy_squid_dante/
dante-1.1.13-rtsignal.tar.bz2
tar xvjf dante-1.1.13-rtsignal.tar.bz2
cd dante-1.1.13-rtsignal
./configure
make
make install

*配置文件:
#文件位置: /etc/sockd.conf
#
#日志文件位置
logoutput: /var/log/sockd.log
#使用端口, 1080
internal: eth0 port = 1080
#对外网络接口,动态ip的话,就是同一块网卡 eth0
external: eth0

#使用的验证方式
method: username none
clientmethod: none
#尽量使用客户请求的端口
compatibility: sameport
#允许地址重用.
compatibility: reuseaddr
#启用扩展的bind功能
extension: bind

#从连接到认证完成的允许时间,请设为一个偶数,因为有其他需要.
connecttimeout: 30

#数据转发超时,请设为一个奇数,因为有其他特殊需要. :)
iotimeout: 86401

#允许所有客户请求到来.
client pass {
from: 0.0.0.0/0 to: 0.0.0.0/0
}


#允许所有UDP代理 和 DNS解析.
pass {
from: 0.0.0.0/0 to: 0.0.0.0/0
command: bind
protocol: udp
log: error
}

pass {
from: 0.0.0.0/0 to: 0.0.0.0/0
protocol: udp
log: error
}

pass {
from: 0.0.0.0/0 to: 10.10.0.21/32
log: error
}

pass {
from: 0.0.0.0/0 to: 0.0.0.0/0
protocol: udp

log: error
}

#允许 邮件收发

pass {
from: 0.0.0.0/0 to: 0.0.0.0/0 port = 25
log: error
}

pass {
from: 0.0.0.0/0 to: 0.0.0.0/0 port = 110
log: error
}

#允许通过身份验证的客户使用TCP连接
pass {
from: 10.0.0.0/8 to: 0.0.0.0/0
protocol: tcp
method: username
log: error
}

pass {
from: 210.32.0.0/16 to: 0.0.0.0/0
protocol: tcp
method: username
log: error
}

#拒绝其他代理请求

block {
from: 0.0.0.0/0 to: 0.0.0.0/0
log: error
}

*运行测试:
/usr/local/sbin/sockd -d
察看 /var/log/sockd.log的纪录是否正常.
如果没有错误,可以正式启动dante
/usr/local/sbin/sockd -D
可以把这行加入/etc/rc.d/rc.local 开机自动启动.

*性能:
这个dante版本是我基于1.1.13修改的,把io部分用Real Time 信号驱动,比原来的select()
处理高出许多.尤其是高负荷时cpu负载小,更省内存.基本不影响看片 :)

*想加个在线人数统计么? 类似于这样:
tail /var/log/sockd.con
03/10/03 07:00 0|
03/10/03 07:30 7|=
03/10/03 08:00 28|=
03/10/03 08:30 55|==
03/10/03 09:00 100|===
03/10/03 09:30 125|====
03/10/03 10:00 149|====
03/10/03 10:30 329|=========
03/10/03 11:00 387|==========
03/10/03 11:30 398|==========
没问题,可以写个脚本,每半个小时统计一下,将下面的脚本保存为/var/log/sockd.con.sh

#!/bin/bash

LOG="/var/log/sockd.con"

echo `date "+%D %H:%M"``netstat -nt|grep EST|gr

ep :1080|wc -l`\
|awk '{ printf("%s %s %4d|",$1,$2,$3);
n=$3/40;
for(i=0;i>$LOG


然后 chmod +x sockd.con.sh 加上执行权限
在/etc/crontab里面添加:
*/30 * * * * root /var/log/sockd.con.sh >/dev/null 2>/dev/null

*还需要一个定时重起功能,因为这个软件没有自动释放多余资源的功能,当人数减少的时候
不能释放空闲的进程.所以每天需要重起一下.
统计表明每天早上6点的时候基本没什么人使用代理.可以在这是重起
写个脚本 保存为 /var/log/sockd.restart
内容为:
#!/bin/bash
killall sockd >/dev/null 2>/dev/null
killall sockd >/dev/null 2>/dev/null
echo >/var/log/sockd.log >/dev/null 2>/dev/null
/usr/local/sbin/sockd -D

然后 chmod +x sockd.con.sh 加上执行权限
在/etc/crontab里面添加:
03 6 * * * root /var/log/sockd.restart >/dev/null 2>/dev/null

/etc/rc.d/init.d/crond restart

一切ok,以后就不用再管它了.

相关文档
最新文档