Debian4配置Socks5代理服务器

2014年09月17日 运维 暂无评论 阅读 238 次

完整的过程。亲自实践过的。希望能给想架设socket5代理服务器的朋友一点帮助。
ss5的安装教程其实网上是有的,用Google就能搜索出一大堆来,但最后发现还是从hao123
出的。hao32里面提到的安装方法是基于CentOS的,我也按照他的方法在CentOS上成功安装,但是却在Debian4上没有成功安装过,是缺少
某些库文件,但是与CentOS上的pam-devel包不同,是一个libpam0g-dev包。而且很多地方也不尽相同,下面就详细写出安装过程。

apt-get install automake make gcc g++ libpam0g-dev libldap2-dev
wget http://voxel.dl.sourceforge.net/sourceforge/ss5/ss5-3.7.6-1.tar.gz
tar -zxf ss5-3.7.6-1.tar.gz
cd ss5-3.7.6
./configure –prefix=/usr –with-defaultport=1080 (修改默认端口)
make&&make install

然后我们对ss5的配置文件进行修改

/etc/opt/ss5/ss5.conf


找到


auth 0.0.0.0/0 – -


改成


auth 0.0.0.0/0 – u


然后在/etc/opt/ss5/ss5.passwd中添加用户名和密码,格式为一行一个用户 密码


test 123456


然后在/etc/rc.d/init.d/ss5进行修改,第11行处找到:


# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0


将其改为:


# Source function library.
# . /etc/rc.d/init.d/functions
# Source networking configuration.
# . /etc/sysconfig/network
# Check that networking is up.
# [ ${NETWORKING} = "no" ] && exit 0


然后在38行找到/usr/local/sbin/ss5,将其换成/usr/sbin/ss5。
然后在41行那里,在;;之前加入结束fi,如下:


38 /usr/local/sbin/ss5 -t
39 fi
40 echo “done”
41 fi
42 ;;


最后,我们还需要建立一个目录,否则无法启动ss5.


mkdir /var/lock/subsys


至此,ss5配置结束,我们可以使用命令:


/etc/rc.d/init.d/ss5 start


启动ss5服务,然后我们在客户端使用使用服务器的IP, 端口为1080,类型选择socket5,用户名为test,密码为123456使用ss5代理。
但是还有一个问题,那就是socks4同样也启动了,为了避免非授权用户直接使用socks4使用服务器资源,我们需要将ss5对socks4的支持取消。进入/usr/lib/ss5目录,将mod_socks4.so重命名为mod_socks4.so.bak


cd /usr/lib/ss5
mv mod_socks4.so mod_socks4.so.bak


这样,在重启服务器之后,就能将ss5对socks4的支持取消。如果你的代理服务器是匿名提供使用的,你一定要注意一下关于ss5的日志问题,我做过测试,在一天的时间里,开放ss5代理功能,结果一天后/var/log/ss5目录内的ss5.log文件就超过了2GB。所以,你一定要注意一下
日志的问题,这里我按照
hao123提供的方法

修改/etc/rc.d/init.d/ss5文件(debian系统)


start)
# Start daemon.
echo -n “Starting ss5… ”
if [ $OS = "
Linux
" ]; then
daemon /usr/sbin/ss5 -m -t $SS5_OPTS
touch /var/lock/subsys/ss5
if [ $OS = "SunOS" ]; then
/usr/sbin/ss5 -m -t
touch /var/lock/subsys/ss5
else
/usr/sbin/ss5 -m -t
fi
echo “done”
fi
;;


其实就是在ss5启动时添加一个-m的参数,这个参数使系统不再记录ss5的日志。
最后是关于重启服务器之后自动启动ss5代理的功能说明,我使用了一个比较传统的方法,就是在/etc/init.d/rc.local文件中加入启动ss5的脚本,因为我不知道还有其他什么办法可以直接启动ss5。另外一个比较重要的问题是,怎么修改代理端口,因为默认安装后的端口是1080,我知道可以在启动时使用ss5 -b host:port的方式进行,但是无法在开机启动是自动修改端口为所需端口。
更新:已经找到更改端口的方法了。方法是修改启动脚本。如下所示:
修改/etc/rc.d/init.d/ss5文件(Debian系统)红色标识的就是加入的。格式为-b ip地址:端口,如果示例中的为服务器IP(38.119.52.178),设置端口为1080。


start)
# Start daemon.
echo -n “Starting ss5… ”
if [ $OS = "
Linux
" ]; then
#daemon /usr/sbin/ss5 -t $SS5_OPTS
daemon /usr/sbin/ss5 -m -t -b 38.119.52.178:1080
touch /var/lock/subsys/ss5
if [ $OS = "SunOS" ]; then
#/usr/sbin/ss5 -m -t
/usr/sbin/ss5 -m -t -b 38.119.52.178:1080
touch /var/lock/subsys/ss5
else
#/usr/sbin/ss5 -m -t
/usr/sbin/ss5 -m -t -b 38.119.52.178:1080
fi
echo “done”
fi
;;


设定开机启动.


ln -s /etc/rc.d/init.d/ss5 /etc/init.d/ss5
update-rc.d ss5 defaults

给我留言

您必须 登录 才能发表留言!

站点定制:GY TECH. 网站设计:Ality
Copyright © 桂圆 TECH. 保留所有权利.  
耗时0.054秒执行了32次数据库检索
此破站已苟活3736天21小时13分22秒!

用户登录