背景:最近开发部有需求,需要一个代理服务器模拟客户现场环境。好吧,那就选择socks5吧。
环境 :Centos6.6 X64
SOCKS简介:
SOCKS是什么:防火墙安全会话转换协议 (Socks: Protocol for sessions traversal across firewall securely) SOCKS 协议提供一个框架,为在 TCP 和 UDP 域中的客户机/服务器应用程序能更方便安全地使用网络防火墙所提供的服务。这个协议从概念上来讲是介于应用层和传输层之间的 “中介层(shim-layer)”,因而不提供如传递 ICMP 信息之类的网络层网关服务。SOCKS5 是一个代理协议,它在使用TCP/IP协议通讯的前端机器和服务器机器之间扮演一个中介角色,使得内部网中的前端机器变得能够访问Internet网中的服务器,或者使通讯更加安全。SOCKS5 服务器通过将前端发来的请求转发给真正的目标服务器, 模拟了一个前端的行为。在这里,前端和SOCKS5之间也是通过TCP/IP协议进行通讯,前端将原本要发送给真正服务器的请求发送给SOCKS5服务器,然后SOCKS5服务器将请求转发给真正的服务器。
安装配置步骤如下:
1. 安装socks 5
1.1 安装依赖开发库
1
|
# yum install pam-devel openldap-devel openssl-devel
|
1.2 安装socks 5
1
2
3
4
5
6
7
8
9
10
11
12
|
socks
5
下载地址
http:
/
/
sourceforge.net
/
projects
/
ss5
/
files
/
http:
/
/
ss5.sourceforge.net
/
官方实例
http:
/
/
ss5.sourceforge.net
/
examples.htm
# wget http://downloads.sourceforge.net/project/ss5/ss5/3.8.9-8/ss5-3.8.9-8.tar.gz?r=&ts=1396802581&use_mirror=cznic
# tar -xzvf ss5-3.8.9-8.tar.gz
# cd ss5-3.8.9
# ./configure
# make
# make install
|
2. socks 5配置
2.1 修改配置文件
ss5 默认使用1080端口,并允许任何人使用
1
2
3
4
5
6
7
|
# vim /etc/opt/ss5/ss5.conf
auth
0.0
.
0.0
/
0
–
-
改为
auth
0.0
.
0.0
/
0
– u
permit –
0.0
.
0.0
/
0
–
0.0
.
0.0
/
0
– – – –
-
改成为
permit u
0.0
.
0.0
/
0
–
0.0
.
0.0
/
0
– – – –
-
|
3. 添加socket 5用户
1
2
3
|
# cat /etc/opt/ss5/ss5.passwd
##用户 密码
test
123456
|
4. 启动socket 5
1
2
3
4
5
6
7
|
# sh /etc/rc.d/init.d/ss5 start
doneting ss5...
默认情况ss5文件没有执行权限,如果觉得使用sh来启动麻烦,那么按如下方法:
# chmod u+x /etc/rc.d/init.d/ss5
# chkconfig --add ss5 //可选
# chkconfig ss5 on //可选
# service ss5 start
|
5. 查看是否启动
1
2
3
|
# netstat -lntp | grep ss5
tcp
0
0
0.0
.
0.0
:
1080
0.0
.
0.0
:
*
LISTEN
16724
/
ss5
默认端口
1080
|
6. 测试socks5
安装Proxifier,默认情况所有请求都走socks5.打开百度,输入IP,
软件下载地址:http://down.51cto.com/data/2238033
7. 常见错误
1
2
3
4
5
6
7
8
9
|
7.1
缺少PAMconfigure: error:
*
*
*
Some of the headers weren't found
*
*
*
# yum -y install pam-devel
7.2
configure: error:
*
*
*
Some of the headers weren't found
*
*
*
# yum -y install pam-devel
7.3
/
usr
/
sbin
/
ss5: symbol lookup error:
/
usr
/
lib
/
ss5
/
mod_proxy.so: undefined symbol: S5UdpResolvHostName
此错误我在登录QQ之后报出来的,应该是此版本的一个BUG
解决方法:更换低版本的。
|
8. 扩展
打开QQ, 直接通过代理登录,看到这里,你是不是突然想到了什么.................
本文转自pizibaidu 51CTO博客,原文链接:http://blog.51cto.com/pizibaidu/1844871,如需转载请自行联系原作者