最近项目组里使用了防火墙的产品,访问网站动不动就被block,出现非法访问的页面。那个怒啊。。。。。
开始想使用一些在线的代理服务器,没想到根本就不行。在线代理全部被屏蔽了 囧。。。。。
查找了资料后,发现可以通过ssh tunnel的方式来穿越防火墙。
网络拓扑:
|client|-------------|gateway(Firewall)|---------|proxy|------------------|web server|
client:192.168.1.5
gateway:192.168.1.1, 10.40.3.3
proxy:10.40.3.66
自己的机器就是client了。在client上网会被限制,但是在proxy机器上网就不会被限制。我们需要通过proxy来上网. 注意在proxy上已经开启了ssh server.
Proxy系统和client系统都是Debian
在client端执行下面的命令
ssh -N -f -D 127.0.0.1:10000 user@10.40.3.66
-N告诉ssh server, 我们仅仅做端口转发,不需要登录。
-f表明该ssh放在后台执行。
-D 绑定的本地端口,为了安全起见,我们仅仅打开了localhost的10000端口。如果要给其他的人作为代理,可以将之改为0.0.0.0
user是在proxy上的帐号。接着输入密码就好了。
打开Firefox,设置代理:
注意: ssh支持的是sock5代理
高级->网络->设置
选择手动代理:
socks主机: 127.0.0.1 端口10000
下面选择sockv5
为了防止DNS被劫持,建议修改DNS选项:
about:config
network.proxy.socks_remote_dns 设置为 true
再尝试就发现完全可以通过ssh tunnel模式上网了。
上面介绍的是Linux环境下使用ssh tunnel. 下面介绍在windows下使用ssh tunnel.
1. 下载plink.exe. 可以从官方网站下载:
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
2. 将plink.exe复制到C:/
3. 在C:/创建plink.bat
C:/plink.exe -N user@10.40.3.66 -pw passwd1234 -D 127.0.0.1:10000
这里user是我在10.40.3.66上的账号,密码是passwd1234.
运行这个bat会弹出一个cmd窗口,且不会退出。
如果希望在后台运行,那么创建一个plink.vbs, 内容如下:
set ws=wscript.createobject("wscript.shell")
ws.run "C:/plink.bat /start",0
运行时,就会放在后台了。
IE8设置:
工具->Internet选项->连接->局域网设置->高级
在sock代理中填入127.0.0.1 10000
这样就可以在windows下使用ssh-tunnel了。
enjoy!
540

被折叠的 条评论
为什么被折叠?



