FunnyWeb

据说这里有很多神奇的东西...

ssh+shadowsocks+proxychains让服务器穿透防火墙访问网络

2017-12-07 00:08:023436 views

许多服务器为了安全考虑,不开放外网访问权限,只能单向ssh连接,这样会造成许多不便,为了解决这个问题,本文通过ssh反向连接+客户端shadowsocks创建SOCKS5代理+服务器端proxychains-ng实现任意程序代理访问。

1.客户端shadowsocks

客户端只需打开shadowsocks即可,详细的架设服务器方式不再介绍。

image.png

记住下面的代理端口,下一步需要用到。

这里是socks5代理,端口12568

或者可以直接建立代理服务器

sudo apt-get install squid

仿佛直接就可以了,这里默认是http代理,端口为3128

2.客户端ssh反向连接

反向连接是指主机A主动连接主机B,在主机A和主机B之间建立一个远程连接,也就可以把主机A能访问的机器地址和端口镜像到主机B的端口上,通过这个连接主机B可以主动的向主机A发送一些请求,常用来进行内网穿透。

此处只需要在客户端执行

ssh -R localhost:12568:localhost:12568 192.168.47.131

即可建立服务器(192.168.47.131)端的12568端口与客户端(localhost)的12568端口之间的连接。

putty配置方法

选择connection->SSH->Tunnels

image.png

在Add new forwarded port中

输入Source port(此处为服务器端代理端口)

输入Destination(此处为本地代理端口)

下一行选择Remote

然后点击Add


image.png

然后其他跟普通ssh登陆时配置相同,登陆即可。

3.服务器proxychains-ng

proxychains ng (new generation) - a preloader which hooks calls to sockets in dynamically linked programs and redirects it through one or more socks/http proxies.

https://github.com/rofl0r/proxychains-ng

proxychains-ng-master.zip

安装命令

./configure --prefix=/home/zhuhd/software/ --sysconfdir=/home/zhuhd/software/

make -j12

make install

make install-config

vi /home/zhuhd/software/proxychains.conf

修改最后一行为socks5 127.0.0.1 12568

image.png

安装配置完成,命令行执行:

proxychains4 wget baidu.com

使用此格式实现代理任意软件。