新足迹

 找回密码
 注册

精华好帖回顾

· 来聊聊乔布斯的传记吧 (2011-10-30) JuJu · E&E -- 碧绿韭菜煎饼 (2009-4-1) 闲夏采薇
· [美食接龙]第4棒: tritri之经典美味吮指虾 - 接棒食材- 蒜- tintin1976请接棒 (2009-6-6) tritri · 一种格调,一点宠爱,芳香疗法 (2009-4-4) tritri
Advertisement
Advertisement
查看: 7014|回复: 10

建立VPN网关,让使用国内网络更简单 [复制链接]

发表于 2018-6-9 16:05 |显示全部楼层
此文章由 angest 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 angest 所有!转贴必须注明作者、出处和本声明,并保持内容完整
本帖最后由 angest 于 2018-6-9 15:05 编辑

前几天偶然回复这篇文章:TVPAD没有了,还有什么可以装的软件看电视,发现有几位网友对我翻回国的方式感兴趣,于是新开个帖子和大家分享一下。我个人对网络其实并不是特别熟悉,东拼西凑想到了现在的办法。中间的具体步骤如果有可以改进的地方,希望大家提出宝贵意见。

我的方法是建立一个VPN网关。这样做的最终效果,就是让设备不需要自己去连接VPN,设置一下网关就可以使用国内网络。因为设置简单,所以比较适合某些场景。比如电视盒子,VPN应用少,使用遥控器不方便,父母也不会操作。比如我用的智能摄像头,只能进行简单的网络设置,无法运行第三方程序。对于电脑、平板、手机等,我觉得没有太大必要使用这种方式。

基本原理很简单,就是让一个设备连接VPN,然后把它设置为网关,为其他设备提供数据转发服务。动手能力强的网友可以搜索一下国内的一些帖子,很多人使用这种方式进行“科学上网”。下面介绍一下我自己的方法。


首先是选择一个VPN服务。
除了速度之外,还要看它是否使用相对标准的协议,比如支持OpenVPN等作为客户端。至少是要支持Linux系统,如果只能在Windows和移动设备上使用,就不是很适合作为网关(也不是不可能)。
我现在使用的服务是“微林”,每月10元人民币30G流量的套餐对我来说够用了。他们是专门做回国网络的,有单独的澳洲线路,速度还可以。协议现在用的是AnyConnect,可以在Linux系统连接。
如果你还没有VPN,想使用这个服务的话,通过我的推广链接注册,可以让我得到返利:https://vnet.one/?rc=1752&rp=rs


然后是选择一个设备作为网关。
如果你有支持VPN的路由器,或者NAS之类的家庭服务器,或者树莓派之类的单板机电脑,甚至root后的手机,这些都可以用来做网关。首选是支持VPN的路由器,如果本身不支持VPN,但能刷WRT系列固件,应该也可以。我家里的几个路由器都不支持,所以只好作罢。家庭服务器我没有,感觉比较费电。恰好手头有一个闲置的树莓派,所以就用它了。至于root后的手机,我怀疑性能是否能够达到要求,而且会很麻烦吧,也没有去尝试。
如果你什么都没有,我还是推荐花个几十刀买个树莓派。以下说明都以树莓派上的Raspbian系统为例。


我的树莓派没有无线网卡,所以用网线连到了路由器上。
默认情况下,它的IP是动态分配的,我们首先要给它一个静态IP。
编辑/etc/network/interfaces文件,如果现在的IP是动态的,如:
  1. auto eth0
  2. iface eth0 inet dhcp
复制代码
我们要把它改成类似这样的静态IP:
  1. auto eth0
  2. iface eth0 inet static
  3. address 192.168.20.14
  4. netmask 255.255.255.0
  5. gateway 192.168.20.1
复制代码
最后一行是路由器的地址。重启之后,树莓派的静态IP变成了192.168.20.14


然后让它成为一个网关。
修改/etc/sysctl.conf文件,在里边加上一行:
  1. net.ipv4.ip_forward=1
复制代码
运行iptables命令转发数据包
  1. sudo iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
复制代码


然后让树莓派连接VPN。
如果你的VPN服务支持openvpn,并且给了.ovpn文件,那么用openvpn命令执行那个文件即可。
而微林现在用的是AnyConnect,在Linux的客户端是openconnect。
首先安装openconnect:
  1. sudo apt-get install openconnect
复制代码
创建一个文件连接vpn,比如叫/usr/local/sbin/vpn.sh:
  1. #! /bin/sh
  2. echo '{password}' | openconnect -b -u {email} --passwd-on-stdin --reconnect-timeout 3600 ov-d.vnet.one:465
复制代码
{email}那里填你的用户名,{password}那里填你的密码
我发现有时候服务过几个小时会断开,所以我又做了一个/usr/local/sbin/fvpn.sh的文件,每分钟检查进程自动重连:
  1. #! /bin/sh
  2. while true
  3. do
  4.     sleep 60
  5.     flock -n /usr/local/sbin/vpn.lock /usr/local/sbin/vpn.sh
  6. done
复制代码
运行sudo fvpn.sh后,运行curl ip111.cn检查一下,如果出来的html是这样的,就是连接上了:
                        <tr>
                                <td>国内网站</td>
                                <td>
182.118.8.42 China / Zhengzhou
                                </td>
                                <td>如果没有全局代理或者VPN,左侧显示的IP就是您本机的IP。如果有,则显示的就是全局代理或者VPN的IP地址。</td>
                        </tr>


最后修改电视盒子设置,连接网关。
电视盒子默认应该是使用动态IP,找到修改设置的地方,把网关设置为192.168.20.14就行了,DNS还用192.168.20.1(路由器地址)。

评分

参与人数 4积分 +11 收起 理由
方言 + 2 感谢分享
vr3ok + 2 感谢分享
神仙 + 4 我得找找有啥能当网关的

查看全部评分

Advertisement
Advertisement

发表于 2018-6-9 20:47 |显示全部楼层
此文章由 小青蛙 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 小青蛙 所有!转贴必须注明作者、出处和本声明,并保持内容完整

发表于 2018-6-9 21:42 |显示全部楼层
此文章由 lingyang 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 lingyang 所有!转贴必须注明作者、出处和本声明,并保持内容完整
哥们儿,感谢分享,不过这种东西还是自己用别分享了。

发表于 2018-6-10 01:01 |显示全部楼层
此文章由 reborn1119 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 reborn1119 所有!转贴必须注明作者、出处和本声明,并保持内容完整
哥们,这有点复杂了~ 感谢分享~

发表于 2018-6-10 19:52 |显示全部楼层
此文章由 yl19 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 yl19 所有!转贴必须注明作者、出处和本声明,并保持内容完整

太難了
头像被屏蔽

禁止发言

发表于 2018-6-11 13:44 |显示全部楼层
此文章由 knovukna 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 knovukna 所有!转贴必须注明作者、出处和本声明,并保持内容完整
你这个是全部流量都走vpn吧, 有没有可以调用Geolocation IP地址数据库的去分流只有国内流量才走VPN的办法
Advertisement
Advertisement

发表于 2018-6-11 17:42 |显示全部楼层
此文章由 angest 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 angest 所有!转贴必须注明作者、出处和本声明,并保持内容完整
knovukna 发表于 2018-6-11 12:44
你这个是全部流量都走vpn吧, 有没有可以调用Geolocation IP地址数据库的去分流只有国内流量才走VPN的办法 ...

应该是可以做到的,不过我没去弄,自己就需要电视盒子和摄像头连回国内,这样暂时够用了。
如果弄了之后,那所有的设备都可以连上来,当然更好。

发表于 2018-6-11 18:15 |显示全部楼层
此文章由 vr3ok 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 vr3ok 所有!转贴必须注明作者、出处和本声明,并保持内容完整
留名回家慢慢,谢谢分享!

发表于 2018-10-28 15:03 |显示全部楼层
此文章由 蒙面超人 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 蒙面超人 所有!转贴必须注明作者、出处和本声明,并保持内容完整
谢谢楼主分享!我也试了一下OneVnet的服务,还不错。我想在我的Synology NAS上设置vpn(没办法用AnyConnect),但是OpenVpn需要一个证书,而OneVnet好像没有提供。请问你知道怎么样找这个证书吗?

发表于 2018-10-30 11:47 |显示全部楼层
此文章由 angest 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 angest 所有!转贴必须注明作者、出处和本声明,并保持内容完整
蒙面超人 发表于 2018-10-28 15:03
谢谢楼主分享!我也试了一下OneVnet的服务,还不错。我想在我的Synology NAS上设置vpn(没办法用AnyConnect ...

OpenVPN好像不用证书吧,就是一个配置文件,包括地址、用户名、密码等。
问题是他们现在改成了只有专业版才支持OpenVPN(据我观察他们的改动非常频繁),而专业版有点贵。

我简单搜索了一下,一些其他较大公司的VPN服务似乎也可以满足以下条件:
1 有中国大陆服务器
2 支持OpenVPN
3 价格便宜
但是速度如何就不知道了。
如果能找到较大公司的VPN也挺好,毕竟还有回国期间翻墙的需求。
头像被屏蔽

禁止发言

发表于 2018-11-4 15:31 |显示全部楼层
此文章由 onevnet 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 onevnet 所有!转贴必须注明作者、出处和本声明,并保持内容完整
angest 发表于 2018-10-30 11:47
OpenVPN好像不用证书吧,就是一个配置文件,包括地址、用户名、密码等。
问题是他们现在改成了只有专业版 ...

OpenVPN的配置方法已在我们官网推出,目前提供支持Padavan和Meilin固件的路由器的支持。
Advertisement
Advertisement

发表回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Advertisement
Advertisement
返回顶部