最近学习了下 SSH 隧道代理转发本地流量,做个记录。
前言
之前一个项目有些使用爬虫的需求,当时为了避免请求过多被封 IP , 尝试使用过几台 socks5 代理服务器来分流。
最近了解到 22 端口连接到服务器后,也可以作为本地的 socks5 代理转发流量,遂花点时间学习了解下。
Windows 配置
通常在 Windows平台下,我们使用 putty 来连接操作远程服务器。下载 putty 完整版,使用自带的 plink 工具,执行下边的命令。
plink.exe -C -N -D 127.0.0.1:8080 root@x.x.x.x -P 22 -v
输入服务器密码连接成功后,即在本地成功开启了一个 socks5 代理服务,如下,代理地址为本机 127.0.0.1,端口为 8080。
也可以指定参数直接输入密码,不过这样貌似很不安全。
之后我们可以配置浏览器、IDE 等应用程序,使用本地 socks5 代理服务。也可以在 Internet 选项中,配置计算机使用全局代理。通过排除规则 192.168.*.*
也可以同时使用内网服务。
Ubuntu 配置
MacOS X 配置
MacOS X 平台相比 Windows 方便了许多,打开终端,执行命令。
ssh -N -D 8080 root@x.x.x.x
同样输入服务器密码连接成功后,即可开启本地 socks5 代理服务。
在 设置 > 网络 > 高级 > 代理
中,可以设置多种类型的代理,我们勾选 SOCKS 代理,输入地址 127.0.0.1 端口 8080。之后在下边的文本框中输入不需要被代理的地址,即 192.168.*.*
,完成后确定启用。
以上是学习了解的一些记录,以备遗忘时参考。