以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