ssh+shadowsocks+proxychains让服务器穿透防火墙访问网络
许多服务器为了安全考虑,不开放外网访问权限,只能单向ssh连接,这样会造成许多不便,为了解决这个问题,本文通过ssh反向连接+客户端shadowsocks创建SOCKS5代理+服务器端proxychains-ng实现任意程序代理访问。
1.客户端shadowsocks
客户端只需打开shadowsocks即可,详细的架设服务器方式不再介绍。
记住下面的代理端口,下一步需要用到。
这里是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
在Add new forwarded port中
输入Source port(此处为服务器端代理端口)
输入Destination(此处为本地代理端口)
下一行选择Remote
然后点击Add
然后其他跟普通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
安装命令
./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
安装配置完成,命令行执行:
proxychains4 wget baidu.com
使用此格式实现代理任意软件。