[技术] 架设VPN Server于无实体IP局域网路路由

楼主: roger5486 (Cin_Sung)   2021-11-14 22:24:16
以Tailscale架设VPN Server于无实体IP之局域网路路由器

本文仅供实验用目的,本人不对损坏任何硬件设备、丧失保固资格等行为负责,请完全了解
自身行为对设备造成的影响后再进行操作。
个人计画前往中国工作,想试着在家里架设个VPN Server来翻墙享受下自由的网络,原本计
画于Router使用DDNS服务并架设内建的OpenVPN Server,但尝试后发现自家网络(以4G LTE
作网络分享)并无实体IP而不可行,后尝试以安装ZeroTier或Tailscale于路由器上的方式
来避开无实体IP的问题,最终选用Tailscale来完成。本文将介绍
●布署服务器环境介绍
●安装Asuswrt-Merlin韧体于Asus RT-AX68U路由器
●于AX68U上安装Entware
●于AX68U上安装Tailscale
●Tailscale的执行与设定
本人家中使用Netgear M1设备将4G LTE网络转为RJ45以太网路线,接入RT-AX68U WAN接口后
分享出Wi-Fi。本文以介绍如何设定RT-AX68U为主,Netgear M1设定为IP Passthrough,仅
输出有线网络给RT-AX68U,不作Wi-Fi分享,不使用Tethering功能。
本文没有什么操作过程中的截图,可以参考文章中连结,后续视本文反应,未来有机会要重
复设定时我再对内容截图。
消歧义与名词解释
●本文提及之IP皆指IPv4
●实体IP:public IP,从互联网中连线时真正使用的IP
●虚拟IP:private IP,进入局域网路后,于内部网络使用的IP。以4G LTE来说,一般各家
电信商给到的IP皆是虚拟IP,常见的虚拟IP开头为10.开头、100.开头、172.开头、192.168
开头
●局域网路:LAN,内部网络,局域网路内使用虚拟IP,所有局域网路内的设备共用一个实
体IP。一般而言在局域网路内的某个设备架设服务器是可行的,需要在局域网路中对外连线
的设备上设定Port Forwarding,将特定port的流量全部导到架设server的设备,但4G LTE
对外连线的设备是由电信商管理,电信商不会帮你设定Port Forwarding,因此一般要架设
自己的server会需要办家用有线网络(如光纤、ADSL,或称固网),拥有自己的实体IP,管
理自己的设备
●DDNS:解决实体IP是浮动IP而非固定IP的问题,但本文不会用到,因为我连实体IP都没有
一、架构介绍
网络架构
https://i.imgur.com/yl2tTiH.jpg
我计画中的VPN连线方法
https://i.imgur.com/71KdCJI.jpg
二、Asuswrt-Merlin
Asuswrt-Merlin为一修改过的Asus路由器韧体,可于其网站上查询是否有使用的路由器型号
的韧体,这种韧体会提供一些额外的功能。
刷入韧体的方法:于Asuswrt-Merlin网站上下载好对应路由器型号的韧体后,连线到自家路
由器管理网页(如192.168.50.1)→系统管理→韧体更新,上传Asuswrt-Merlin韧体后开始
更新。
参考:https://www.asuswrt-merlin.net/
三、Entware
于路由器管理网页→系统管理→系统设定下的服务,启动SSH连线,选择LAN only,设定一S
SH连接埠。透过PC以SSH连线到路由器,例如使用PuTTY,于PuTTY上输入路由器 IP address
与设定的port,以路由器登入帐密登入。
于路由器上插上一个USB disk,要将USB disk做格式化并使用合适的Format(ext2/ext3/ex
t4),参考下方的YouTube连结,完成后拔除USB disk并重新插回路由器,可以在路由器管
理网页看看是不是有读到USB disk或是于putty上输入df -T确认是不是有读到这个USB disk
,一般来说路径为/dev/sda1,格式会为ext3。
输入amtm,首次进入会要选择Theme,随便选,进入后输入i来显示所有script,接着输入ep
来安装Entware,一路照着说明输入后就安装好了
SSH连线可参考https://www.vermax.cn/334.html前半部分,后半部分提及zerotier,在本
文中没有使用到zerotier,与Tailscale能做的事情类似,但zerotier可能设定较复杂,我
也没搞出来。
USB disk格式化与使用amtm部分可以参考https://youtu.be/ykMxnWvwbog时间2:06-6:15,
影片最后也有安装Entware可以参考。
四、Tailscale
安装完Entware后,于PuTTY输入opkg install tailscale即会自动开始安装。
五、Tailscale的设定与执行
首先以PC浏览器在Tailscale网页上注册服务,Tailscale显示说要两台以上的设备连线到Ta
ilscale,在一台欲连线至VPN的设备上安装Tailscale并登入即可建立一个连线。
接下来要设定路由器登入到Tailscale,首先先安装screen,在PuTTY上输入opkg install s
creen,安装完成后输入screen开启一个新的输入页,关于screen的功能可以参考网络资源
,不使用screen的话在PuTTY关掉后tailscale服务也会关掉。
输入tailscaled -state \opt\bin\tailscaled &
输入tailscale up
作者: asdfghjklasd (好累的大一生活)   2021-11-15 04:56:00
3G/4G/5G 都是CGNAT , 但有行动业者可申请Public IP固定的,只有花多少钱的问题翻墙这件事自己弄站点只要你没资源就是没什么用你的4G就慢了搞VPN 会卡在 outbound
楼主: roger5486 (Cin_Sung)   2021-11-15 10:17:00
用钱确实可以解决各种问题另想询问一件事,我可以理解连VPN时,设备的下载速度会受限于VPN Server的上行速度,那连VPN的设备,其上行速度瓶颈在哪呢?
作者: b325019 (望月)   2021-11-15 11:20:00
设备处理能力
作者: asdfghjklasd (好累的大一生活)   2021-11-15 11:27:00
假设你申请的是 60M/20M 网络,那就卡在20M设备CPU的能力也会是个问题,比如你的设备只有300Mbps 的VPN 能力,你申请1G/600M ,那只会跑到300Mbps用钱是可以解决各种问题,前提是自己有技术或者找到技术的人
作者: b325019 (望月)   2021-11-15 11:30:00
vpn会有额外的资料加解密不能这样看,不过现在的中高阶分享器应该顶不到处理能力上限不懂你干嘛把wifi速率混进来讲喔干我眼残抱歉
作者: HiJimmy (å—¨ 吉米)   2021-11-16 19:49:00
自己弄最大的问题容易遇上IP不够用 没办法一直换
作者: asdfghjklasd (好累的大一生活)   2021-11-17 02:21:00
我放在云啊XDDD
作者: a0952864901 (Fish)   2021-11-18 11:38:00
VPN我也是放在云上 放自家的问题经常是要维护麻烦出口线路速度不够快 机器不稳 架构稍微复杂 都是问题放云上一次把上面三个问题解掉
作者: ctes940008 (蛤!我只是小兵!?)   2021-12-10 06:44:00
AMAZON那套虚拟机现在还有免费流量吗?
作者: asdfghjklasd (好累的大一生活)   2021-12-10 18:29:00
我不是用AWS的XDD
作者: fashionjack (神奇傑克)   2020-01-23 20:53:00
你应该不会高兴很久,很快你家的电脑就会被封锁。对岸ISP专干这种事, 我是过来人。

Links booklink

Contact Us: admin [ a t ] ucptt.com