CentOS VPS 安装dante socks5 server
折腾帝表示想架个socks5服务器,于是搜到大量ss5的安装教程,安装使用后发现效果一般,而且某游戏用ss5作代理无法进行组队。
于是找到了dante。这个socks5 server在网络上的可用资料远不如ss5,但是一番google后发现它的功能似乎比ss5更强大,于是抱着试试看的心理(怎么这么像山寨药品广告- -)下载安装。
wget -c
tar zxvf dante-1.2.2.tar.gz
cd dante-1.2.2
./configure
make
make install
useradd sockd
passwd sockd
mkdir /var/log/sockd
vi /etc/passwd,将sockd的shell改为false
vi /etc/sockd.conf
网上找到的配置文件大多不完整,下面是我自己的conf内容
===============
logoutput: /var/log/sockd/sockd.log
#ip.ip.ip.ip 替换成真实IP
internal: ip.ip.ip.ip port = 1080
external: ip.ip.ip.ip
#验证方式,这里适用系统账户 none为所有人都可连接
method: username
user.privileged: root
user.notprivileged: sockd
#如果是none的话自然无需上面两行
client pass {
from: 0.0.0.0/0 to: 0.0.0.0/0
log: connect disconnect error
}
## server operation access rules
#allow bind to ports greater than 1023
pass {
from: 0.0.0.0/0 to: 0.0.0.0/0
command: bind
log: connect disconnect error
}
pass {
from: 0.0.0.0/0 to: 0.0.0.0/0
command: bindreply udpreply
log: connect error
}
pass {
from: 0.0.0.0/0 to: 0.0.0.0/0 port 1-65535
protocol: tcp udp
}
pass {
from: 0.0.0.0/0 to: 0.0.0.0/0 port 1-65535
command: udpassociate
}
===============
启动:/usr/local/sbin/sockd -D
dante不会主动的释放已经占用的资源,用的太频繁就会导致系统资源被占光,只能重启。为此,有一个笨拙(但有效)的解决方案。
在计划任务的/etc/cron.daily里添加一个文件,名字随便。比如,sockdkill,内容如下:
#!/bin/sh
#restart sockd everyday
sleep 60
DAY=`date +%Y%m%d`
cp /var/log/sockd/sockd.log /var/log/sockd/sockd.log.${DAY}
cd /var/log/sockd
gzip sockd.log.${DAY}
killall sockd 1>/dev/null 2>/dev/null
killall sockd 1>/dev/null 2>/dev/null
echo > /var/log/sockd/sockd.log
/etc/init.d/sockd start
然后每天会重启一次dante,更新系统日志。
查看日志:
tail -f /var/log/sockd/sockd.log
本文为以下文章的汇编整理:
http://www.linuxha.cn/html/html/opentech/openvpn_pptp_xl2tp/2009/0730/361.html
http://hi.baidu.com/yep0213/blog/item/a62a11a981e824b7cb130cee.html