利用树莓派实现国内外网站自动翻墙

Google被封得厉害,苹果App Store更新也很慢,以前是通过翻墙VPN方式来解决的,但是这种方式不能实现多设备共用,而且访问国内网站也用VPN,反而降低了速度。

最近弄了一个树莓派,省电,24小时开着都不担心电费问题,自然就想到了用树莓派来解决这个问题。

下面这个就是总体思路,由树莓派当做网关,自动识别访问的目标地址是国内网站还是国外网站,如果是国内网站,直接走路由器访问,如果是国外网站,则通过VPN拨号访问。

技术分享

具体步骤:

  1. 安装操作系统,树莓派支持多种操作系统,我选择的是官方推荐的Raspibian,基于debian。操作系统的安装:

    1. 下载地址:https://www.raspberrypi.org/downloads/

    2. 安装指导:https://www.raspberrypi.org/documentation/installation/installing-images/README.md, 有针对Linux/Mac OSX/Windows的说明,按照说明把系统刷入SD卡

    3.    插入SD卡,启动Raspbian,初次登录用户名和密码: pi / raspberry 

    4. 为了提高raspbian安装其他软件包的速度,建议把更新源设置为国内的,更新源有很多,我用的是搜狐的,执行命令:

      sudo nano /etc/apt/sources.list

      然后用下面的内容替换原来的文字:
      deb http://mirrors.sohu.com/raspbian/raspbian/ wheezy main contrib non-free
      deb-src http://mirrors.sohu.com/raspbian/raspbian/ wheezy main contrib non-free

    5. 更新系统软件:

      sudo apt-get update
      sudo apt-get distupgrade


  2. 在树莓派配置VPN(这里使用PPTP拨号方式翻墙,使用其他翻墙方式的同学请自行搜索配置方式)

    1. 安装PPTP支持

      sudo apt-get install pptp-linux

    2. 建立VPN链接

      /usr/sbin/pptpsetup --create myvpn --server <server-address> --username <username> --password <password> --encrypt --start

      <server-address>、<username>、<password>请用自己的配置进行替换

    3. 测试VPN:

      sudo pon myvpn #连接VPN
      ifconfig  #如果 ifconfig能看到 ppp0这个设备并有IP地址分配,那说明连接成功了
      sudo poff myvpn  #断开链接

  3. 配置树莓派的IP转发
    sudo nano /etc/sysctl.conf
    将 net.ipv4.ip_forward的值改成 1

    sudo iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE # 将访问请求默认转发到ppp0设备,即VPN链路

  4. 将国内IP添加到路由策略中,令其直接走路由器。 脚本参考 https://github.com/sabersalv/freedom-routes

  5. 配置路由器的DHCP服务器,将客户端的IP默认网关指向树莓派的IP地址。


至此,全部配置完成。


PS: 把主DNS服务器设置成8.8.8.8,不然DNS污染问题会导致翻墙失败


本文出自 “IT艺术” 博客,请务必保留此出处http://suman.blog.51cto.com/1860475/1635858

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。