这篇文章及其脚本可以写的更好,欢迎到 https://github.com/haoel/haoel.github.io 更新m5b免费翻墙网
准备
首先,你应该对英文读写没什么问题
为什么这么说?逻辑是这样的,如果你上了Google还是在用中文关键词,那么你科学上网有什么意义呢? 换言之,科学上网的目的是为了进入广阔的世界范围与全世界的人交流,所以,英文是必备的,如果你英文有问题,VPN过去也的用处也不大。m5b免费翻墙网
所以,我把这个前提条件放在第一的位置,就是说—— 真正的墙不是GFW,而是人的大脑m5b免费翻墙网
然后,你需要一个VPN
这里我用的是PPTP,可以上AWS日本申请个免费试用一年的EC2 VPS,或是Linode买个一月USD10刀的VPS,然后自建一个PPTP的VPN。m5b免费翻墙网
我在北京,感觉日本的VPS是比较快,其本上ping值可以在100ms以内,linode的似乎可以在50ms左右。Anyway,现在你买一台VPS也不贵了,也就是一个月10美金左右(60-70元),千万别告诉我,一个月你花60-70元钱对你是件很奢侈的事。m5b免费翻墙网
关于PPTP服务器的设置,请参看 《How To Setup Your Own VPN With PPTP》m5b免费翻墙网
最后,你需要一台ASUS的路由器
用这台路由器的目的是为了用路由器科学上网,这样全家或全公司就科学上网了。m5b免费翻墙网
朋友安利我的是 华硕(ASUS) RT-AC68U 1900M AC 双频智能无线路由路,可能这个路由器对你来说有点贵,你也可以看看别的,比如:RT-AC66U,大约600元。m5b免费翻墙网
当然,不用这样的路由器也没有什么问题,在所有的客户端设备上设置VPN也没有问题。m5b免费翻墙网
路由器设置
给路由器刷 merlin 固件
首先Asuswrt是华硕公司为他的路由器所开发的固件。Asuswrt-merlin是一个对Asuswrt固件二次开发进行各种改进和修正的项目。源代码在这里:https://github.com/RMerl/asuswrt-merlinm5b免费翻墙网
Merlin固件拥有更多的功能,由于第三方不断维护代码,各种新功能也在不断增加。Merlin固件的升级并不需要反复的操作过程,方法与官方固件的升级相同,有很好的硬件软件兼容性。继承了Asuswrt官方固件优秀的交互界面。m5b免费翻墙网
另外,不必担心把路由器刷废了,华硕的路由器可以让你一键重置回来m5b免费翻墙网
1)下载固件。先到 https://asuswrt.lostrealm.ca/download 下载相应的固件,并解压。(我下载的是 RT-AC68U_380.61_0.zip )m5b免费翻墙网
2)升级固件。登录到你的路由器后台 http://192.168.1.1/ ,在 系统管理 -> 固件升级 中上传固件文件(我上传的是:RT-AC68U_380.61_0.trx )m5b免费翻墙网
3)打开 JFFS 分区。系统管理 -> 系统设置 -> Persistent JFFS2 partition m5b免费翻墙网
Format JFFS partition at next boot - 否
Enable JFFS custom scripts and configs - 是
4)打开 ssh 登录。 系统管理 -> 系统设置 -> SSH Daemon m5b免费翻墙网
Allow SSH password login - 是
连接 VPN
1)到 VPN -> PPTP/L2TP Client 中 添加设置文件。m5b免费翻墙网
注:最好使用PPTP,设置起来比较简单。L2TP不支持PEK的共享密码。m5b免费翻墙网
2)保存配置后,点 Active , 如果一切正确,可以看到连接成功。m5b免费翻墙网
设置路由
此时,你的路由器就VPN了,但是,包括访问中国的网站也被代理了。所以,还要设置一下路由表。m5b免费翻墙网
ssh [email protected]
输入你设置的路由器后台的登录口令,你就可以进入路由器的操作系统了。m5b免费翻墙网
下载路由表
为什么要设置路由表?m5b免费翻墙网
路由器VPN后,你所有的网络访问都得多国外绕一圈了。所以,需要把国内的IP给过滤出来,所以,需要设置静态路由表。m5b免费翻墙网
cd /jffs/scripts wget https://haoel.github.io/downloads/route.sh echo -e "#!/bin/sh\n\n/jffs/scripts/route.sh delete\n/jffs/scripts/route.sh add" > /jffs/scripts/wan-start chmod a+rx /jffs/scripts/*
wan-start 是什么?m5b免费翻墙网
注:wan-start 是一个事件脚本,在wan口连上后会运行,这里的运行指令是,先删除路由,再加入(因为WAN口的IP可能会换了)m5b免费翻墙网
route.sh 怎么来的?m5b免费翻墙网
下载动态DNS配置
为什么要设置动态DNS?m5b免费翻墙网
因为很多网站都会使用CDN,使用CDN的通常都会用DNS的CNAME做解析,所以,你的路由器VPN后,你的DNS服务器也会变了,我们这里默认使用的是Google的8.8.8.8,当然,这台服务器在国外,所以,用这台服务器解析域名的时候,就会解析到国外。所以,我们还需要一个动态的DNS配置,对于国内的站点,使用国内的DNS,对于国外的站点,使用8.8.8.8m5b免费翻墙网
cd /jffs/configs wget https://haoel.github.io/downloads/dnsmasq.conf.add
dnsmasq.conf.add怎么来的?m5b免费翻墙网
注:文件里用到的是 114.114.114.114 作为国内的DNS解析服务。经网友指出这个不靠谱http://bobao.360.cn/news/detail/1793.htmlm5b免费翻墙网
你可以在路由器上通过 nvram get wan0_dns 查看你自己的DNS,然后替换掉,如:m5b免费翻墙网
sed -i "s/114.114.114.114/$(nvram get wan0_dns|awk '{print $1}')/" dnsmasq.conf.add
运行命令生效
/jffs/scripts/route.sh add service restart_dnsmasq
接下来,你需要让你的设备重新连接一下WiFi路由器。m5b免费翻墙网
检查
你可以使用一些命令在检查,相应的域名是否被CNAME到了正确的地方。m5b免费翻墙网
如:m5b免费翻墙网
nslookup itunes.apple.com
ping www.google.com
traceroute weibo.com
然后查一查相关的IP是的位置在哪个国家。m5b免费翻墙网
来自https://haoel.github.io/m5b免费翻墙网
|