用代理解决google上不去了的方法

 google上不去了,对我们做技术的或者做外贸的,影响还是挺大的,用别人的代理又不放心毕竟涉及到账户安全问题,那么怎么办呢?

本文教大家自己用服务器建立安全的代理,因为用的是自己的服务器绝对安全

本文主要是教大家用Linux服务器和Putty的SSH Tunnel(隧道)做安全代理

前提条件:一台可以通过ssh登陆的服务器(linux)、Putty软件 

1、首先我们要先购买一台国外服务器:

购买地址:https://www.digitalocean.com/?refcode=eb78e40385dd

ps:成功注册后,账户会送有10美金,大家可以用这10美金购买一台5美金的服务器,这样就相当于免费用2个月了。

注册成功后,就可以购买服务器了,购买教程:

 

点击如上图左边绿色按钮,购买相应的主机后,选择系统,如下图:

 

后点击如下图:

2、putty下载地址:http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

原理:设置Putty软件中将连接到本地某个端口的数据转发到通过合法/不合法的账号登陆远程linux主机的ssh端口上,而这个链接是加密传输(secure tunnel)的! 

本文我采用的是linux是本地局域网中的CentOS,采用root登陆,当然,只要能登陆的账号都可以!首先,配置Putty,如果已经有保存记录的,选择记录后,直接Load(本文为168那个ip) 

090802_ssh1.jpg  大小: 42.32 K 尺寸: 300 x 290 浏览: 7 次 点击打开新窗口浏览全图

切换到SSH标签下的Tunnels:

选中SSH -->Tunnels设置里的 Source port 代理端口我写的1080
选上Dynamic和Auto,点击"Add"
如果你想让别人的电脑也可以通过你的电脑进行访问(比如说别人的电脑上不了外网,但是可以上内网连接到你的电脑),你可以把“Local ports accept connections from other hosts”(本机端口接受其他主机的的连接)勾上。当然,你也可以再增加其他端口,每个端口分配给不同的人用,呵呵! 
最后不要忘记保存哦~

做完上面这些操作,点击Open打开ssh登陆界面,登陆即可!然后不要关闭该窗口,那么连接到本地1080端口的数据都会转发到远程linux的22端口下,实现加密代理效果! 

090802_ssh3.jpg  大小: 9.82 K 尺寸: 300 x 76 浏览: 6 次 点击打开新窗口浏览全图

在Firefox浏览器中进行代理设置(sock5代理),如图,那么之后像QQ软件都可以通过这个sock5代理地址进行连接了!简单方便! 

090802_ssh4.jpg  大小: 31.27 K 尺寸: 300 x 266 浏览: 26 次 点击打开新窗口浏览全图


做 了上面步骤后便可上网了,下面为高级教程,可以忽略。

以下为成功打开1080端口进行监听(下面7070是开了另外一个ssh进行转发操作,主要是对比了下,当允许外部主机连接本机作为代理服务器,那么必然有两个监听地址,上面这条记录是任意的,下面这条记录针对本机) 

090802_ssh5.jpg  大小: 10.93 K 尺寸: 300 x 65 浏览: 17 次 点击打开新窗口浏览全图

以下为通过1080端口进行转发的数据连接(26主机通过我的电脑出去的) 

090802_ssh6.jpg  大小: 13.87 K 尺寸: 300 x 61 浏览: 9 次 点击打开新窗口浏览全图

访问http://ip.chinaz.com/查询: 

  • 代理前ip:++ 您的ip:[*.*.*.235] 来自: 浙江省 杭州市 电信 ++
  • 代理后ip:++ 您的ip:[*.*.*.233] 来自: 浙江省 杭州市 电信 ++

注:前三个*代表一样的,最后一个不一样,因为出口外网的ip是随机的,但是只针对单台内网电脑,不是针对每次链接。 

这样就说明成功使用了代理!

注意,你的终端期间是不能关的,关了后代理就失效了~~如果想关终端的话,就要用putty里面的plink.exe,以命令行方式运行 plinkusername@hostname -C -D 127.0.0.1:8088(username就是你的登录帐号,hostname是服务器的地址),后面的8088是你自己定义的端口号。-C 表示允许压缩。-D 表示基于SOCKS的动态端口转发。根据提示,输入你的密码。不要关闭这个窗口,否则通道就关闭了。为了避免因为过久没有数据传输而连接被中断,你可以在窗口输入一条这样的指令,让它保持连接:ping google.com -i 60 (-i 60 表示每隔 60 秒才 ping 一次)。呵呵很帅吧~~

在使用SSH做代理的时候,发现一个问题,就是其他所有网站都能打开,但Youtube和http的Facebook打不开。  后来发现,原来某些网站的域名会被DNS劫持,使用SSH代理也无法解决,必须更换DNS服务器。  解决的方法是,域名不使用本地解析,而使用服务端来解析,对于Firefox来说,在 about:config 改成 network.proxy.socks_remote_dns=true 就可以了。