使用场景

SOCKS5 是一个代理协议,它在使用TCP/IP协议通讯的前端机器和服务器机器之间扮演一个中介角色,使得内部网中的前端机器变得能够访问Internet网中的服务器,或者使通讯更加安全。socks5-百度百科

socks5类似于梯子,可以通过socks5协议,将自己的设备“伪装”成对应的服务器(socks5属于明文代理,不能用来做一些特殊的事),可以使用socks5来做跳板机等常用的运维工具。

这里使用danted来实现socks5,开源项目,1k start

Docker方式部署(推荐)

下载镜像

docker pull lozyme/sockd

编辑配置文件

cd /data/socks5-docker
vi sockd.passwd

#格式:用户名:加密后的密码。
#代表默认用户名:sockd,默认密码:sockd
#从官方github copy获得,尝试过乱写密码。最终的结果是新增用户失败
#这些注释不要放在文件里,我不确定有注释会不会有问题
sockd:xJY9EJy0Bk//U

sockd.passwd

sockd:xJY9EJy0Bk//U

安装

docker run -d --name sockd --publish 2020:2020 --volume /data/socks5-docker/sockd.passwd:/home/danted/conf/sockd.passwd lozyme/sockd

创建用户

docker exec sockd script/pam add testu testp

验证

 curl https://ifconfig.co --socks5 127.0.0.1:2020 --proxy-user testu:testp
 #此处显示为机器ip,则为成功

验证失败

#出现此报错,参考常用操作中的例子添加一个新用户使用即可
curl: (7) User was rejected by the SOCKS5 server (11).

其他常用操作

[查看]		docker exec sockd script/pam show
[添加/修改]	docker exec sockd script/pam add USER PASSWORD
[删除]		docker exec sockd script/pam del USER

[例子]		docker exec sockd script/pam add testu testp

脚本方式部署

cd /data/socks5-script
wget --no-check-certificate https://raw.github.com/Lozy/danted/master/install.sh -O install.sh
bash install.sh
bash install.sh --port=2020 --user=sockd --passwd=sockd 

其他常用操作

#卸载
bash install.sh --uninstall
#添加用户
/etc/init.d/sockd adduser testu testp
#查看应用状态
service sockd status

注意点

  • 用户名密码很重要,如果泄露出去,很容易被滥用,导致服务器被黑等一系列意想不到的情况
  • 用户的密码是加密的,并且不能大于8位,大于8位会被截取
  • 如果是云服务器,记得打开防火墙和服务器安全组

连接工具

安卓端

SocksDroid,开源项目,仅771kb的小软件,配置简单,输入host、ip、用户名、密码即可用

IOS端

没有IOS的机子,这种正规的协议,官方商店应该有对应的软件吧

文章作者: Administrator
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 AE86小行星
服务运维 linux socks5
喜欢就支持一下吧