用ss5实现socke代理


SOCKET5和HTTP是不同的协议  
http是超文体传输协议,浏览网页为主;socket是套接字方面的

上一篇讲述了http代理,这里讲下socke代理的搭建过程

系统环境
CentOS 5.6
client: ClientIp

下载地址http://sourceforge.net/projects/ss5/files/ss5/3.8.8-2/ss5-3.8.8-2.tar.gz/download
tar zxf ss5-3.8.8-2.tar.gz
cd ss5-3.8.8
./configure
make && make install

[root@CentOS ~]# ls /etc/opt/ss5/
ss5.conf ss5.conf.old ss5.ha ss5.passwd

配置文件中,设置权限
permit - “ClientIp - 0.0.0.0/0 - - - 10240 -

添加防火墙,对client开放1080端口
iptables -A INPUT -s ClientGateWay -p tcp --dport 1081 -j ACCEPT

为启动程序/etc/rc.d/init.d/ss5添加执行权限
[root@CentOS init.d]# chmod +x ss5

启动
[root@CentOS init.d]# /etc/rc.d/init.d/ss5 start
doneting ss5... [ OK ]

查看进程
[root@CentOS init.d]# ps aux |grep ss5
nobody 6947 0.0 0.0 78396 1452 ? S 17:26 0:00 /usr/sbin/ss5 -t


[root@CentOS ss5]# /etc/rc.d/init.d/ss5 restart
Restarting ss5... Shutting down ss5...
done [ OK ]
doneting ss5... [ OK ]

查看日志启动是否成功
[root@CentOS ss5]# tail -f /var/log/ss5/ss5.log

然后在client设置socke代理
那就在IE的 工具---->Internet选项---->连接----->局域网设置---->高级---->套接字连接

如果是firefox的话
工具---->选项---->高级---->网络---->设置---->手动配置代理---->SOCKS主机

------------------------------------------------------------------------------------
另外如果需要用户认证的话可以参考如下:

#实现用户认证并限制带宽:
set SS5_DNSORDER
set SS5_PAM_AUTH
auth 0.0.0.0/0 - u
permit - 0.0.0.0/0 - 0.0.0.0/0 - - - 10240 -
#如果要实现不同用户认证并分别限制带宽,在/etc/opt/ss5目录创建user和file两个文件,该文件中含有要认证的用户名:
permit - 0.0.0.0/0 - 0.0.0.0/0 - - user 10240 -
permit - 0.0.0.0/0 - 0.0.0.0/0 - - file 102400 -
============+============+============
3. 配置PAM认证:
# vi /etc/pam.d/ss5
============+============+============
auth optional /usr/lib/security/pam_mysql.so user=ss5 \
passwd=121212 host=localhost db=ss5 table=user \
usercolumn=username passwdcolumn=passwd crypt=2
account required /usr/lib/security/pam_mysql.so user=ss5 \
passwd=121212 host=localhost db=ss5 table=user \
usercolumn=username passwdcolumn=passwd crypt=2
============+============+============
4. 安装PAM_MYSQL:
# tar -zxvf pam_mysql-0.7RC1.tar.gz
# cd pam_mysql-0.7RC1
# ./configure --with-openssl --with-mysql=/usr/local/mysql
# make
# make install
# echo "/usr/lib/security" >> /etc/ld.so.conf
# ldconfig
5. 创建数据库:
# mysqladmin -u root -pmysqldbserver create ss5
# mysql -u root -pmysqldbserver
mysql> use ss5;
mysql> GRANT ALL PRIVILEGES ON ss5.* TO 'ss5'@'localhost' IDENTIFIED BY '121212';
mysql> CREATE TABLE user (ID int not null auto_increment,USERNAME varchar(64), PASSWD varchar(255), primary key(ID) );
6. 添加测试用户:
mysql> insert into user (username,passwd) values ('test',password('1234'));

你可能感兴趣的:(SOC)