随身WI-FI作为跳板访问内网服务
前情提要:
本人在家中搭建了服务器,但是由于误操作,导致无法访问服务器,于是在一通查阅后,发现了我的服务器是支持vpro的
但众所周知的原因,ipv4公网在我这个小地方几乎是没有的
Ipv6又是动态,于是有了这个教程
在随身Wi-Fi上部署tailscale通过路由访问内网主机的vpro
正式开始:
本教程使用了GitHub上的openstick项目
https://github.com/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和flash.sh,改名为debian.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键进入编辑
填入如下源的内容(我这里以清华源为例)
按esc退出编辑,输入:wq保存退出
然后屏蔽Mobian源
输入rm /etc/apt/sources.list.d/mobian.list
即可
最后输入apt update更新软件列表,会发现此时没有了报错
Step6:配置tailscale子网路由
如果你不需要我的上述需求的话,现在的随身Wi-Fi已经足够你的需求的话,可以忽略一下内容~
安装tailscale
以下是官方的教程
https://tailscale.com/kb/1038/install-debian-bullseye
一步一步输入命令即可
如果提示“bash: curl: command not found”
输入 apt install curl -y 安装curl即可
打开这个链接,即可配置tailscale
配置完成后,可以ping一下tailscale分配的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设备上应该有subnet和Exit Node的标识
首先,为了维护方便,我们关闭key的过期时间
然后打开子网路由
勾选上保存即可
此时,它提示我们无法进行转发,这需要我们设置路由转发
终端中输入以下命令
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 down
和
tailscale up –advertise-routes=10.10.10.0/24 –advertise-exit-node
重启tailscale
现在,使用手机热点或其它网络,访问你的内网中的服务,如果可以访问,则表示配置成功
我这里以路由器后台为例
由于此时p2p隧道还没有连接,所以访问速度比较慢
完成!