用SSH Tunnel穿越防火墙

这次接上篇

很多企业对互联网的访问进行了限制,如何突破防火墙的限制成了一个问题。本文就是利用了SSH tunnel搭建了socket5代理。

首先,申请一个外网的ssh帐户,个人建议使用http://www.unix-center.net/提供的免费资源,该网站还提供多种平台主机可供测试之用,非常不错!当然,如果可以使用密钥方式登录那就完美了。

申请好账户之后,依然在本地安装ssh的客户端,windows推荐putty

安装好后执行putty,在hostname里面输入主机名,或者用户名@主机名。我选了FreeBSD的那台,有兴趣的话还有ubuntu,Sun,甚至龙芯一系列主机可供挑选

Putty 主界面
Putty 主界面

选择ssh->tunnels,在source栏里添加你要提供的端口号,一般随便填一个未使用的端口就可,我用了8080端口。选择Dynamic,点击add。这里需要说明的是,如果你的主机允许别人使用的话,请勾选最上面的Local ports accept connection from other hosts。

Putty ssh tunnel界面
Putty ssh tunnel界面

点击Open确认连接,在接下来的窗口中输入用户名和密码。最小化窗口,不要关闭。

打开命令行,输入命令netstat -an,如果出现了你刚才输入的那个端口号的侦听,说明搭建成功!socket服务已经完成。

netstat -an
netstat -an

浏览器设置,IE:internet选项,连接,局域网设置,勾选“为LAN使用代理服务器”,高级,套接字选择127.0.0.1并填写端口号。完成设置。

IE 设置
IE 设置

对应的命令行:

  1. plink : plink -C -N -f -D 端口号 用户名@主机名
  2. ssh: ssh  -C -N -f -D 端口号 用户名@主机名

PS:
话两头说,如果你负责一个企业局域网的话,稍大点的企业如果要限网,SSH端口是绝对要加以限制使用的。伟大的防火墙亦是如此。

推荐阅读:
自打从硬件方向研究性能优化起,
之前我们通过几个概念简单的介绍

“用SSH Tunnel穿越防火墙”的6个回复

发表评论

电子邮件地址不会被公开。 必填项已用*标注

请补全下列算式: *

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据