在Linux CentOS上安装SS5配置socks5代理服务器的教程(图文)
微wx笑
2020-07-04【网络工具】
4229
8
0关键字:
Linux CentOS socks5 代理服务器 教程
采用socks协议的代理服务器就是SOCKS服务器,是一种通用的代理服务器。Socks是个电路级的底层网关,是DavidKoblas在1990年开发的,此后就一直作为Internet RFC标准的开放标准。
目录
采用socks协议的代理服务器就是SOCKS服务器,是一种通用的代理服务器。Socks是个电路级的底层网关,是DavidKoblas在1990年开发的,此后就一直作为Internet RFC标准的开放标准。Socks 不要求应用程序遵循特定的操作系统平台,Socks 代理与应用层代理、 HTTP 层代理不同,Socks 代理只是简单地传递数据包,而不必关心是何种应用协议(比如FTP、HTTP和NNTP请求)。所以,Socks代理比其他应用层代理要快得多。
SOCKS5
SOCKS5 是一个代理协议,它在使用 TCP/IP协议通讯的前端机器和服务器机器之间扮演一个中介角色,使得内部网中的前端机器变得能够访问Internet网中的服务器,或者使通讯更加安全。SOCKS5 服务器通过将前端发来的请求转发给真正的目标服务器, 模拟了一个前端的行为。在这里,前端和SOCKS5之间也是通过TCP/IP协议进行通讯,前端将原本要发送给真正服务器的请求发送给SOCKS5服务器,然后SOCKS5服务器将请求转发给真正的服务器。
如果您的机器具有一个合法的 Internet IP 地址, 或者您利用自己机器上的调制解调器拨号上网, 可以自由和 Internet 上任何主机沟通, 那么您通常不必关心 SOCKS5 协议。SOCKS5 协议对于处在内部网络中的机器, 需要透过网络中某些可以联通外部 Internet 的机器访问外部时,有用。SOCKS5服务器在将通讯请求发送给真正服务器的过程中,对于请求数据包本身不加任何改变。SOCKS5服务器接收到真正服务器的响应后,也原样转发给前端。因此,SOCKS5 协议是一种代理协议,对于各种基于 TCP/IP的应用层协议都能够适应,几乎是万能的。它虽然不能理解自己转发的数据的内部结构,但是它能够忠实地转发通讯包,完成协议本来要完成的功能。
与SOCKS5协议不同,HTTP代理是通过HTTP协议进行的,HTTP代理服务器软件了解通讯包的内部结构,在转发过程中还要对通讯进行某种程序的修改和转换。和HTTP代理协议不同,SOCKS5实际上是一个传输层的代理协议。我们可以想象,如果每个具体的应用层协议都要设计对应的代理协议表达办法,一个特定的代理服务器无论如何也支持不过来那么多新出现的协议。因此,可以说SOCKS5的出现缓解了各种具体协议需要专门设计代理协议的困难局面。不过,并不是凡是使用基于TCP/IP协议的应用协议的软件,都可以无条件地透过SOCKS5服务器进行通讯,还要求前端软件本身具有SOCKS5的接口,才能利用SOCKS5代理服务器。
安装配置
1、首先,安装SS5需要先安装一些依赖组件
1 | yum -y install pam-devel openldap-devel cyrus-sasl-devel gcc automake make openssl openssl-devel |
2、去官网 http://ss5.sourceforge.net/ 下载SS5的源代码
1 | wget -c http: //sourceforge .net /projects/ss5/files/ss5/3 .8.9-2 /ss5-3 .8.9-2. tar .gz |
如果不行的话,试试
1 2 | wget 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 |
3、编译安装
1 2 3 4 | tar zxvf ss5-3.8.9-2. tar .gz cd ss5-3.8.9 . /configure make make install |
4、启动脚本加执行权限
1 | chmod +x /etc/init .d /ss5 |
5、设置监听端口
1 2 3 | vi /etc/sysconfig/ss5 # Add startup option here SS5_OPTS= " -u root -b 0.0.0.0:1080" |
我使用默认的1080端口,你也可以使用其它的端口。
6、启动ss5,关闭、重启等命令
1 2 3 | /etc/init .d /ss5 start /etc/init .d /ss5 restart /etc/init .d /ss5 stop |
7、让SS5随系统一起启动(可选)
1 2 3 | chmod +x /etc/init .d /ss5 chkconfig --add ss5 chkconfig --level 345 ss5 on |
8、使用用户名密码登录(推荐)
1 | vi /etc/opt/ss5/ss5 .conf |
找到
1 2 3 4 | # /////////////////////////////////////////////////////////////////////////////////// # SHost SPort Authentication # #auth 0.0.0.0/0 - - |
在下边添加一行,参数用空格或Tab键隔开
1 | auth 0.0.0.0 /0 - u |
找到
1 2 3 4 | # ///////////////////////////////////////////////////////////////////////////////////////////////// # Auth SHost SPort DHost DPort Fixup Group Band ExpDate # #permit - 0.0.0.0/0 - 0.0.0.0/0 - - - - - |
添加一行,直接把permit后面的“-”改为“u”吧,这个参数比较多。
添加用户
1 | vi /etc/opt/ss5/ss5 . passwd |
用户名和密码用空格隔开,一行一个用户
1 2 | user1 123456 user2 abcdefg |
重启服务器
1 | /etc/init .d /ss5 restart |
9、开放端口,配置防火墙规则,安全组规则
开放防火墙端口
1 | iptables -I INPUT -p tcp --dport 1080 -j ACCEPT |
配置安全组规则
不同的云服务器有所不同。
测试
使用Curl命令测试
1 | curl --socks5 47.52.145.112:1080 |
带用户名和密码
1 | curl -U username:password --socks5 47.52.145.112:1080 https: //www .google.com |
更多请参考:Curl测试socks5 or http 代理命令
简单的,使用telnet看端口通不通
1 | telnet 47.52.145.112 1080 |
你也可以使用QQ测试
proxifier 客户端
Windows下使用 proxifier 客户端连接代理服务器
proxifier 客户端下载地址:http://forspeed.rbread01.cn/down/84267_20170616155632.zip
百度网盘:链接:https://pan.baidu.com/s/1ZZUwJkDeHOnk_yWS4eY0rg 密码:xt6z
安装过程,一直下一步就可以了。
配置:
添加代理服务器,只需要添加一个代理服务器就可以用了。
更高级的功能留待你去发现吧。
注意:
Windows7下可能遇到错误:DNS_PROBE_FINISHED_NXDOMAIN 问题解决方法(图文)
Mac下使用系统的代理配置无法连接,
提示以下错误:ERR_SOCKS_CONNECTION_FAILED
小结
之前用tinyproxy和Squid搭建HTTP代理都失败了,这一次SS5也是经历了一些曲折,不过总算成功了。凡事还是多尝试,多坚持吧。遇到问题找人交流一下,说不定就有了新了思路。
本文由 微wx笑 创作,采用 署名-非商业性使用-相同方式共享 4.0 许可协议,转载请附上原文出处链接及本声明。
原文链接:https://www.ivu4e.cn/toolbox/newwork/2020-07-04/497.html