当前主流的科学上网各种方法和评测

“科学上网”是什么,你应该懂的,如果不懂可以谷歌或百度一下。

由于gfw越来越完善,很多科学上网的方式都慢慢退出了历史的舞台。比如Tor,http proxy等等,我就不介绍了这些了。

当前主流的方式有3种:VPN,SSH,goagent。其他各种更优的模式,基本上也是从他们3个衍生而来。

vpn:全局的代理,衍生的项目有chnroutesautoddvpn。最终可以达到国内线路走国内流量,国外线路走vpn流量,设置dd-wrt后,无论电脑还是移动设备,都可以忘掉gfw的存在。请注意autoddvpn方式是可以设置国外网站不走vpn线路的。

SSH:Privoxy可以转化成http proxy方便其他软件设置,稳定性低于vpn模式。收费的linux虚拟主机如果有cpanle也可以在ftp中设置开启ssh连接。

goagent:基于GAE代理。优势是免费,并且访问谷歌服务有最优秀的速度。

服务器或虚拟主机在美国的情况

1.如果您主要使用谷歌服务为主例如youtube,blogger等。goagent  》 vpn 》 ssh

2.如果需要上各种国外网站  vpn 》 ssh 》 goagent

服务器在中国周边的情况

vpn  》 goagent 》 ssh

 

以上假定服务器的带宽大于或等于你本身线路的带宽,因为众所周知长城宽带真实出口带宽200k都无法达到的、香港服务器的出口带宽也一般不超过2m

 

 

Windows 2003 下配置单网卡VPN+NAT代理上网

 

一、启用VPN服务

 

点击Windows 2003的 开始/程序/管理工具 下的“路由和远程访问”,在“路由和远程访问”配置界面中右击本地服务器(如果没有,则需要通过“添加服务器”创建一个),选择“配置并启动路由和远程访问”选项,打开安装向导。

 

选择“自定义配置”后继续,在下一步中选中“VPN访问”和“NAT和基本防火墙”并继续,完成安装向导。注意:一定注意不要忘记选择“NAT和基本防火墙”一项,否则您的VPN创建后,客户端连接上什么也做不了。

 

接下来会弹出对话框说已经完成安装,询问是否启动服务,选择“是”。

  

 

如果服务器启动失败,请尝试一下操作:
1、查看服务中(右击“我的电脑”/“管理”/“服务”)是否启用了“Windows Firewall/Internet Connection Sharing (ICS)”,应将此项服务设置为禁止状态。
2、如果你使用的是Windows 2003系统的VPS服务器,需要先联系主服务器管理员开通VPN功能。

 

如果一切正常,那配置窗口左侧的“XXX(本地)”会显示绿色箭头,表明已启用。接着在上面点击右键,选择属性,并切换到“IP”标签下,在“IP地址指派”中选中“静态地址池”,并添加用于VPN连接的私有地址范围,例如 10.100.100.10 – 10.100.100.99 (客户端连接上后会得到此内部IP地址)。

 

接下来,需要配置“NAT和基本防火墙”,否则客户端连接上后将无法通过这台VPN访问互联网。选中“XXx(本地)”->“IP路由选择”->“NAT/基本防火墙”,点击右键并“新增接口”,选择用来连接外部网络的接口,通常是“本地连接”,在弹出的对话框中选择“公共接口连接到Internet”,并选上“在此接口上启用NAT”,确定。

 

至此,VPN服务器配置完成。最后,您需要进入 我的电脑(右击)/管理/本地用户和组/用户 中新增可以进行VPN连接的客户端用户。新增好后,需要在此用户上点击右键,选择属性并切换至“拨入”标签,在“远程访问权限(拨入或 VPN)”下选中“允许访问”。

 

好了,服务端配置全部完成。客户端可以连接使用了!如果客户端连接不上,请检查VPN服务器上是否禁用了1723端口。

 

二、连接VPN,以Windows XP为例:

 

1、创建VPN连接:在“网上邻居”的“属性”界面,打开“新建连接向导”,选择“连接到我的工作场所的网络”,再选择“虚拟专用网络连接”(既VPN),随便输入一个名字作为公司名(比如VPN,它是作为VPN连接的名字),如果之前有其它的拨号连接根据情况选择是否自动拨入,输入上面配置了VPN服务的服务器地址,完成向导。

 

2、双击刚创建的VPN连接,在连接对话框中输入刚才配置的有拨入权限的用户名和密码,并连接。可能某些协议在VPN上不支持,会弹出警告对话框,“接受”即可。

 

现在,已经可以通过前面配置的Windows 2003 VPN服务来代理来上网了!

搭建GAE设置代理

GAE Proxy

为那些没米买SSH和VPN的同学准备的,有钱淫可以绕道了。

首先来说,用GAE代理不比SSH差哪去,主要是免费,稳不稳定就不清楚了,刚上手,旨在帮助没有SSH的同学。

GAE全称:Google App Engine.顾名思义是谷歌的一项网络应用,功能上应该不会差到哪去。要设置GAE代理,首先你当然要有一个Gmail帐号。

然后,申请一个应用 https://appengine.google.com/,登录帐号后,点击“Create an Application”。申请GAE和申请GMAIL一样,同样需要使用你的手机进行验证码确认,要注意根据自己的地区填写区号,中国大陆地区手机填上+86接手机号码。大约10秒-20秒左右,手机收到发来的一段7位验证码,填写到图中位置,并确认,当验证成功后GAE申请完成。

创建一个应用,yourname.appspot.com.标志签,应用名自行决定就是。

http://code.google.com/p/gappproxy/downloads/list下载uploader-2.0.0-win.zip  ,localproxy-2.0.0-win.zip两个文件。

解压uploader,点开后ID输入标志签,然后Gmail和passwd。登录在浏览器中输入 http://应用程序标识符.appspot.com/fetch.py如果有反应,则证明搭建成功。

最后一步,设置代理。解压localproxy,修改proxy.conf文件,把你创建的http://应用程序标识符.appspot.com/fetch.py按格式加入文件尾部。设置浏览器代理,点开proxy代理即可。

Linux下过程类似,使用python客户端。 ;)

Cygwin + OpenSSH FOR Windows的安装配置

Cygwin是一款世界著名软件,它可将Linux下的自由软件移植到Windows系统上来应用,了解和掌握这个软件,将使您又多了许多有益的选择,并带您到一个更广阔的天空下翱翔,这对于您的学习和工作将起到确定无疑的推动作用。下面我用自己总结的一个例子,带大家进入这个世界。
    在windows操作系统中,使用Cygwin + OpenSSH开源软件来作为远程连接的安全工具,是一个非常好的方法,得到许多网管人员的青睐。然而要想顺利安装配置好这套软件,对于初学者来说,是有一定难度的。为了使同道们少走弯路,特将本人摸索的经验陈列于此,以供需要者参考。建议在安装配置这套软件之前,最好要初步掌握一些Linux终端操作技能及其技术概念。
以下所述是在Windows XP系统中实践完成,其它Windows系统可参照此文实施。
一、安装Cygwin + OpenSSH 
首先打开http://Cygwin.com网页,点击如下链接:

Install or update

now!

将会下载一个安装Cygwin的setup.exe文件,然后在欲安装Cygwin + OpenSSH软件的磁盘上创建Cygwin目录,在此我们假定为:C:\Cygwin,运行setup.exe后打开图一:  
            

                                图一
图一主要提供关于Cygwin软件安装的一些信息,点击下一步后打开图二:

图二

图二提供了三个选项:
第一选项:从Internet上下载并安装所需软件。
第二选项:从Internet上下载所需软件安装包到本地磁盘。
第三选项:从本地磁盘安装包的目录中安装所需软件。
此处选择从Internet上下载并安装所需软件,点击下一步后打开图三:

图三

图三为指定软件安装的目标路径,其它按图上默认的选项选择。点击下一步后打开图四:

图四

图四为指定软件安装包的本地存放路径。点击下一步后打开图五:

图五

图五是选择连接Internet的方式,照图点选Use IE5 Settings,点击下一步后打开图六:

图六

图六是选择下载Cygwin的网站,尽量选离我国近的网站,以提高安装速度。点下一步打开图七:

图七

图七为软件包的选择界面,All所在行是选择全部软件包的位置,其它各行是软件组的选择位置,点击软件组前部的+号,可以打开软件组来选择所属软件项。点击所选软件项的循环箭头,可以选择对相应项目的操作方式,每点一次,该项目的操作方式就变化一次。
针对All及软件组的操作方式有四种选择:即Default、Install、Reinstall和Uninstall,依次代表:默认状态、安装、重新安装和反安装项。
针对软件项的操作方式有两类五种:
第一类:对未安装的软件项有两种选择,即Skip和该软件的版本号,Skip为跳过该软件的安装,显示软件版本号为确定安装该软件。
第二类:对已安装的软件项有三种选择,即Keep、Reinstall和Uninstall,依次代表:保持现状、重新安装和反安装项。
图八为打开NET软件组的界面

图八

图八表示选择网络相关软件,我们要安装的是OpenSSH,故点击OpenSSH软件项相应的循环箭头,使原来的Skip变为版本号即可,与OpenSSH软件包相关的Cygwin支持软件包会自动配套选中,例如下一行的OpenSSL软件包也就自动选中了。点击下一步打开图九:

图九

图九显示安装工作的进度,完成后自动打开图十:

图十

图十中提示将在桌面建立Cygwin控制台图标和在开始菜单中添加Cygwin控制台图标。点击完成按钮结束安装工作。
注意:安装软件时,必须以Administrator用户身份来安装,否则可能出现许多莫名的问题,大概是由于用户权限不够造成的,估计是该软件出于安全考虑而有意设计的。
二、Openssh基本配置
1.增加环境变量
用鼠标右键单击我的电脑 à属性 à高级 à环境变量,
A.在系统变量框中新建变量名为:CYGWIN,变量值为:ntsec tty 的变量。
B.编辑path变量,在原变量值后加上以分号分隔的C:\Cygwin\bin字符串,注意保留原变量的值!
2OpenSSH服务配置
双击Cygwin图标打开控制台,键入:cd /bin转入bin目录,再键入:ssh-host-config -y,执行后系统提示“CYGWIN=” 时输入ntsec tty即可。至此,SSH服务已被加入到Windows的自动启动服务项中了。
重新启动电脑进入普通用户界面,打开Cygwin控制台后,系统会在Cygwin的home目录下生成一个同名目录:youname (此处假设用户名为:youname),用户可以在command控制台上用:
ssh  [email protected]
登录自己的SSH服务器试一试,若能登录则表示安装配置基本成功,可以进行远程登录连接,若远程登录失败,应在SSH服务器防火墙的例外中添加允许SSH端口通过的条目,SSH服务默认使用的是22号端口。
3.启动OpenSSH服务的方法
A.在command控制台上启动:
Net  start  sshd     #启动SSH服务
Net  stop  sshd      #停止SSH服务
B.在Cygwin控制台上启动:
Cygwin  –start  sshd      #启动SSH服务
Cygwin  –stop  sshd       #停止SSH服务
三、Openssh高级配置
提示:A. 修改sshd_config 文件前应先通过Cygwin控制台修改文件属性值,使当前用户具有修改权:
cd /etc                    #转到sshd_config文件所在目录
Chmod 777 sshd_config      #修改文件属性值,使其他用户可以修改该文件
。。。。。                 #然后参照后面介绍的1、2、3条进行操作
Chmod 644 sshd_config      #修改文件属性,使其恢复原来的属性值
B. sshd_config文件被修改后,必须重启SSH服务后改动项才能生效。
1.更改OpenSSH工作端口及协议版本

用写字板打开C:\Cygwin\etc\sshd_config文件,将port 22改为port 10022或其它自己想改的端口号,最好选1025 — 65535之间其它软件未用的端口号。再将#Protocol 2,1 改为Protocol 2,使当前的SSH服务只支持2.0协议版本。此两项更改的目的是为了增强系统的安全性。

2.禁止超级用户远程登录OpenSSH

用写字板打开 C:\Cygwin\etc\sshd_config 文件,将 #PermitRootLogin yes 修改为PermitRootLogin no即可。若系统需要超级用户登录,则不必修改此项目。

3.仅使用非对称密钥安全登录

A用写字板打开 C:\Cygwin\etc\sshd_config 文件,将#PasswordAuthentication yes 修改为 PasswordAuthentication no 。

B.在Cygwin控制台:

cd /home/youname      #转到当前用户目录

mkdir .ssh            #建立 .ssh隐含目录

C.将制作好的authorized_keys公钥文件复制到c:\Cygwin\home\youname\.ssh目录下

D.在Cygwin控制台:

cd /home/youname/.ssh    #转到 .ssh隐含目录

chmod 600 authorized_keys   #修改文件属性使之生效(注:属性值大于600时该文件无效)
此后用户远程访问ssh服务器时,将不能凭用户密码登录,只能凭借对应的私钥来登录,排除了密码暴力破解的可能,提高了网络访问的安全性。
4.公钥对的生成
由于习惯了用putty作为登录ssh服务器的工具,故在此仅介绍用putty软件生成密钥对的方法。
A可以从http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html处,选择putty.zip下载,该软件为自由软件,可免费使用,当前版本为V 0.60。
B解压后运行puttygen.exe , 打开图十一:

图十一

如图选择SSH-2 RSA和1024密钥长度,点击Generate按钮,打开图十二:

图十二

将鼠标在电脑屏幕上随机移动,密钥生成进度条随鼠标指针移动而前进,直至完成并呈现图十三:

图十三

图上部框中显示的是公钥内容,用户可以在key passphrase框及confirm passphrase框中输入密钥密码,以使密钥丢失后多一道安全防护。当然如果为了方便也可以不设密钥密码。
依次点击save public key和save private key按钮,分别保存生成的公钥和私钥,将保存的公钥文件改为authorized_key文件名,或将图十三上部框中的公钥内容复制到authorized_key文件中,并保存为纯文本文件(本人习惯于后一种方法),然后将该文件复制到用户的 .SSH目录中应用,注意:该文件在使用时必须将其属性值改为小于等于600方可应用,否则该公钥不会生效。而默认以 .ppk扩展名保存的私钥文件,则要妥善保管好,今后访问SSH服务器就要凭此私钥登录了。
四、卸载Cygwin
卸载Cygwin与安装Cygwin的过程差不多,也是先运行setup.exe,与安装时一样操作,直到出现图七所示界面时,将All设置为UnInstall后再点击下一步,系统将自动完成Cygwin软件的卸载,Cygwin的安装目录需要手工删除,注册表内与Cygwin相关的项目也要手动删除,如若删除不尽,可能会影响到以后Cygwin的顺利安装和配置,切记!
五、PUTTY软件的简单应用
运行Putty.exe打开图十四:

图十四

在Host Name框中输入SSH服务器的IP地址,Port框中输入OpenSSH服务的端口号,然后点开Connection à SSH à Auth打开图十五:

图十五

按图中选择相应项,在private key file for authentication框中填入自己私钥的保存路径,再回到图十四,在Saved sessions框中输入一个相关名字,再点击Save按钮将当前会话以相关命名保存起来,以供将来重复使用该会话。使用时选中会话,点击Load按钮装入,再点击Open按钮开始连接SSH服务器,连接界面弹出后,按提示输入用户名、私钥密码,验证通过后即可登录服务器了。