随身WiFi作为跳板访问内网服务

随身Wi-Fi作为跳板访问内网服务

前情提要:

本人在家中搭建了服务器,但是由于误操作,导致无法访问服务器,于是在一通查阅后,发现了我的服务器是支持vpro的 但众所周知的原因,ipv4公网在我这个小地方几乎是没有的 Ipv6又是动态,vpro无法配置ddns,于是有了这个教程 在随身Wi-Fi上部署tailscale通过路由访问内网主机的vpro

正式开始:

本教程使用了GitHub上的openstick项目 OpenStick

Step1:获取随身Wi-Fi的相关信息

查看随身Wi-Fi的版本 拆开外壳,在主板或天线上应该会有标识 我这里是UFI_001C

Step2:准备必要的文件

  1. 一款ssh客户端 我这里用的是termius(界面真的好看)
  2. openstick项目的固件

打开openstick项目的releases页面,找到最新的release

Tip:如果你的设备版本为ufi001c或ufi001b,则下载base.zip
如果是其它设备,则下载base-generic.zip

我这里是ufi001c,所以我使用base.zip
然后我们需要下载Debian固件,下载debian.zip即可


下载好后得到这两个文件
解压到没有中文名称的路径

在刷机之前,请确保你已经备份了你的原厂固件!!!
在刷机之前,请确保你已经备份了你的原厂固件!!!
在刷机之前,请确保你已经备份了你的原厂固件!!!


Step3:刷入Debian

  • 进入fastboot
    在我的随身Wi-Fi上有一个重置按键,我们可以通过它来进入fastboot
    在通电的一瞬间按下它,显示一蓝一绿,即表示进入了fastboot
    如果没有亮灯,则是9008模式,请拔出,再尝试重新进入
  • 处理所得的文件
    打开base文件夹,shift+右键空白区域
    选择在此处打开PowerShell窗口
    随后,将flash.bat拖入命令行,回车执行
    随后一路回车即可,如果脚本自动退出且没有任何报错,则表示base刷写成功
    现在我们再来刷入Debian
    打开Debian文件夹,将里面的flash.bat,改名为debian.bat
    然后将所有文件移动到base文件夹
    提示有重名的文件,忽略即可
    你的base文件夹下应该是这种结构

  • 然后将debian.bat拖入PowerShell中
    回车执行
    显示all done!即表示完成

Step4:配置Debian系统

  • 刷写完成后,拔出在重新插入随身Wi-Fi
    此时会看到有这个提示(Windows8以及以上系统)

    选择是(否则会有莫名其妙的问题)
    然后我们打开一款ssh软件,我这里以termius为例子
    输入连接信息:
    IP:192.168.68.1
    用户名:user
    密码:1
    然后连接

  • 现在我们开始配置网络 输入ntmui,打开networkmanager的tui配置界面
    选择“Edit a connection
    先删除不必要的Wired connection 1
    按下键选择“Wired connection 1”,后按右键,选定delete,执行
    Tip:这里不要删错,保留USB,以防将来维护使用
    然后Back,回到主界面
    选择“Activate a connection”连接无线网络
    选择你的无线网络,输入密码后连接
    此时,你的随身Wi-Fi应该可以正常访问网络了,现在,你可以把它丢到离你路由器近的地方进行配置
    它的IP地址可以在路由器后台看到(我这里是10.10.10.119

    把连接信息中的IP改为你路由器分配的IP即可

Step5:更新Debian

如果你用过Linux的话,那你应该会输入apt update
此时apt会报一堆错
这是因为它自带的apt源过于老旧且部分源已经失效,所以我们这里要给他换上新的源
安装vim,ca-certificates和apt-transport-https
Vim用于编辑文件,ca-certificates用于添根加证书,使用https源增强安全性,apt-transport-https使apt可以使用https的源
apt install vim ca-certificates apt-transport-https -y
现在我们来更新源
输入
cp /etc/apt/sources.list /etc/apt/sources.list.bak
备份现有的源
rm /etc/apt/sources.list删除现有的源配置信息
vim /etc/apt/sources.list编辑源
按下键盘上的Ins键或i键进入编辑
填入如下源的内容(我这里以清华源为例)

1
2
3
4
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye main contrib non-free
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-updates main contrib non-free
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-backports main contrib non-free
deb https://security.debian.org/debian-security bullseye-security main contrib non-free

按esc退出编辑,输入:wq保存退出
然后删除Mobian源
输入rm /etc/apt/sources.list.d/mobian.list
即可
最后输入apt update更新软件列表,会发现此时没有了报错

Step6:配置tailscale子网路由

如果你不需要我的上述需求的话,现在的随身WiFi已经足够你的需求的话,可以忽略一下内容~

  • 安装tailscale
    以下是官方的教程 : 官方教程_Debian
    一步一步输入命令即可
    如果提示“bash: curl: command not found”
    输入 apt install curl -y 安装curl即可
    输入tailscale up会出现一个链接,打开这个链接,即可配置tailscale
    配置完成后,可以在链接了tailscale的设备上ping一下tailscale给随身WiFi分配的ip,确认是否连接成功
  • 现在我们正式来配置子网路由
    输入tailscale down
    暂时关闭tailscale 然后输入tailscale up --advertise-routes=10.10.10.0/24 --advertise-exit-node
    这里的10.10.10.0是你的内网地址
    比如说你的随身WiFi的内网地址是192.168.1.2
    那么这里就输入192.168.1.0/24
    以此类推,最后一位是0
    然后打开tailscale后台,你的随身Wi-Fi设备上应该有subnetExit Node的标识


首先,为了维护方便,我们关闭key的过期时间

然后打开子网路由,如图所示

勾选上保存即可
但是,此时,它提示我们无法进行转发,这需要我们设置路由转发
终端中输入以下命令

1
2
3
echo 'net.ipv4.ip\_forward = 1' | sudo tee -a /etc/sysctl.d/99-tailscale.conf
echo 'net.ipv6.conf.all.forwarding = 1' | sudo tee -a /etc/sysctl.d/99-tailscale.conf
sudo sysctl -p /etc/sysctl.d/99-tailscale.conf

最后输入tailscale downtailscale up --advertise-routes=10.10.10.0/24 --advertise-exit-node
重启tailscale(记得改命令中的ip)
现在,使用手机热点或其它网络,访问你的内网中的服务,如果可以访问,则表示配置成功
我这里以路由器后台为例
由于此时p2p隧道还没有连接,所以访问速度比较慢

完成,结束

教程可能存在些许不足,还请谅解~
Licensed under CC BY-NC-SA 4.0
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计