作者roger5486 (LeopardCat)
看板Network
标题[技术] 架设VPN Server於无实体IP区域网路路由
时间Sun Nov 14 22:24:16 2021
以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 --advertise-exit-node --reset
回应会显示一个网址要登入
在PC浏览器上输入网址,以同样的帐号登入Tailscale
於Tailscale管理网页上将路由器设为exit node
在欲连线至VPN的设备上设exit node为路由器即完成VPN连线功能,可以尝试透过IP查询网
站确认是否有完成VPN连线。
Tailscale的使用可以参考
https://post.smzdm.com/p/ad2kw7xx/ ,但我使用的是exit nod
e功能。
六、结果
透过Speedtest by Ookla测速,结果网路速度偏慢,延迟也较高、浮动大,但至少是一个堪
用的VPN Server,小流量看看网站还行,透过家人於日本测试连线也确认确实可用,看影片
网站也可行,但是否能作为於中国稳定翻墙的手段尚不确定,得看我未来的使用体验了。
尚有一问题是每次路由器重启要重新连SSH进去开Tailscale,类似电脑重新开机要开启一些
软体,懂Linux可以设定自动化的脚本,但我也没弄,有兴趣可以自行研究。
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.200.8.22 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Network/M.1636899863.A.67D.html
1F:→ asdfghjklasd: 3G/4G/5G 都是CGNAT , 但有行动业者可申请Public IP 11/15 04:56
2F:→ asdfghjklasd: 固定的,只有花多少钱的问题 11/15 04:56
3F:→ asdfghjklasd: 翻墙这件事自己弄站点只要你没资源就是没什麽用 11/15 04:59
4F:→ asdfghjklasd: 你的4G就慢了搞VPN 会卡在 outbound 11/15 05:06
5F:→ roger5486: 用钱确实可以解决各种问题 11/15 10:17
6F:→ roger5486: 另想询问一件事,我可以理解连VPN时,设备的下载速度会 11/15 11:00
7F:→ roger5486: 受限於VPN Server的上行速度,那连VPN的设备,其上行速 11/15 11:00
8F:→ roger5486: 度瓶颈在哪呢? 11/15 11:00
9F:→ b325019: 设备处理能力 11/15 11:20
10F:→ asdfghjklasd: 假设你申请的是 60M/20M 网路,那就卡在20M 11/15 11:27
11F:→ asdfghjklasd: 设备CPU的能力也会是个问题,比如你的设备只有300Mbp 11/15 11:28
12F:→ asdfghjklasd: s 的VPN 能力,你申请1G/600M ,那只会跑到300Mbps 11/15 11:28
13F:→ asdfghjklasd: 用钱是可以解决各种问题,前提是自己有技术或者找到 11/15 11:29
14F:→ asdfghjklasd: 技术的人 11/15 11:29
15F:推 b325019: vpn会有额外的资料加解密不能这样看,不过现在的中高阶分 11/15 11:30
16F:→ b325019: 享器应该顶不到处理能力上限 11/15 11:30
17F:→ b325019: 不懂你干嘛把wifi速率混进来讲 11/15 11:31
18F:→ b325019: 喔干我眼残抱歉 11/15 11:32
19F:推 HiJimmy: 自己弄最大的问题容易遇上IP不够用 没办法一直换 11/16 19:49
20F:→ asdfghjklasd: 我放在云啊XDDD 11/17 02:21
21F:推 a0952864901: VPN我也是放在云上 放自家的问题经常是要维护麻烦 11/18 11:38
22F:→ a0952864901: 出口线路速度不够快 机器不稳 架构稍微复杂 都是问题 11/18 11:40
23F:→ a0952864901: 放云上一次把上面三个问题解掉 11/18 11:41
24F:推 ctes940008: AMAZON那套虚拟机现在还有免费流量吗? 12/10 06:44
25F:→ asdfghjklasd: 我不是用AWS的XDD 12/10 18:29
26F:推 fashionjack: 你应该不会高兴很久,很快你家的电脑就会被封锁。 01/23 20:53
27F:→ fashionjack: 对岸ISP专干这种事, 我是过来人。 01/23 20:55