当前位置: 首页 > news >正文

小米AX6000上安装tailscale

在之前的小米AX6000解锁ssh避坑笔记中,已经介绍了如何解锁ax6000的ssh,以及必坑指南。
今天突发奇想,为了不让我的nas天天开着tailscale,所以我想让我的tailscale运行在路由器,这样完美实现穿透。
首先,通过ssh登录ax6000,发现ax6000可用闪存奇小。很是无语。
在这里插入图片描述
如上图所示,最大的192MB是在tmpfs中,不是非易失存储。重新上电就会被擦除。

不过还是有办法的,继续看吧。

1.确认ax6000的linux架构

uname -a
Linux XiaoQiang 4.4.60 #0 SMP PREEMPT Mon Mar 22 06:59:08 2021 aarch64 GNU/Linux

aarch64

2.从tailscale官方下载

curl --cacert /etc/curlssl/cacert.pem -O https://pkgs.tailscale.com/stable/tailscale_1.80.3_arm.tgz

这里下载时,需要添加证书,cacert.pem需要从curl官网下载 。
然后通过scp导入到/etc/curlssl/

3.解压

tar -xzf tailscale_1.80.3_arm.tgz

4.第一次运行

cd tailscale_1.80.3_arm
./tailscaled
tailscale up --advertise-routes=192.168.0.0/24

执行后,会生成一个网站,复制打开,登录tailscale,然后连接,就可以添加成功了

===============================================
以上是手动开启的方法,tailscale_1.80.3_arm.tgz解压有50MB+,根本无法保存在ax6000闪存中。

  • 所以怎么办?

有了,我们可以每次开机后,执行shell脚本,然后进行下载到/tmp目录,然后解压重新启动。

  • 但是每次重启后,需要重新登录,怎么办?
    有了,我们可以把第一次手动登录后的缓存存起来,下次开机可以复用。

开整:

1.先将之前的tailscale缓存到/etc目录

cp /var/lib/tailscale /etc/tailscale/cache

2.编写脚本

vi /etc/tailscale/tailscale_install.sh
#!/bin/sh# Define log file path
LOG_DIR="/tmp/tailscale"
LOG_FILE="$LOG_DIR/install_tailscale.log"# Create log directory
mkdir -p "$LOG_DIR" || { echo "Failed to create log directory $LOG_DIR"; exit 1; }# Clear log file (if it exists)
> "$LOG_FILE"# Function: Print log and write to file
log() {echo "$1"echo "$1" >> "$LOG_FILE"
}# Check if 8.8.8.8 is in /etc/resolv.conf, if not, append it
if ! grep -q "8.8.8.8" /etc/resolv.conf; thenlog "Adding Google DNS (8.8.8.8) to /etc/resolv.conf..."echo "nameserver 8.8.8.8" >> /etc/resolv.confif [ $? -eq 0 ]; thenlog "Google DNS added successfully."elselog "Failed to add Google DNS. Please check permissions."exit 1fi
elselog "Google DNS (8.8.8.8) is already in /etc/resolv.conf."
fi# Enter /tmp directory
cd /tmp || { log "Failed to enter /tmp directory"; exit 1; }# Create tailscale directory
mkdir -p tailscale || { log "Failed to create tailscale directory"; exit 1; }
cd tailscale || { log "Failed to enter tailscale directory"; exit 1; }# Download Tailscale package
MAX_RETRIES=3
RETRY_COUNT=0
DOWNLOAD_SUCCESS=falsewhile [ $RETRY_COUNT -lt $MAX_RETRIES ]; dolog "Attempting to download Tailscale package (Attempt $((RETRY_COUNT + 1))..."curl --cacert /etc/curlssl/cacert.pem -O https://pkgs.tailscale.com/stable/tailscale_1.80.3_arm.tgz >> "$LOG_FILE" 2>&1if [ $? -eq 0 ]; thenlog "Download successful!"DOWNLOAD_SUCCESS=truebreakelselog "Download failed, retrying..."RETRY_COUNT=$((RETRY_COUNT + 1))fi
doneif [ "$DOWNLOAD_SUCCESS" = false ]; thenlog "Download failed. Please check your network connection or the URL."exit 1
fi# Check if the file exists
if [ ! -f tailscale_1.80.3_arm.tgz ]; thenlog "File tailscale_1.80.3_arm.tgz not found. Please check if the download was successful."exit 1
fi# Extract the package
log "Extracting Tailscale package..."
tar -xzf tailscale_1.80.3_arm.tgz >> "$LOG_FILE" 2>&1 || { log "Extraction failed. Please check if the file is complete."; exit 1; }# Recover cache
cp /etc/tailscale/cache /var/lib/tailscale -r
# Enter the extracted directory
cd tailscale_1.80.3_arm || { log "Failed to enter tailscale_1.80.3_arm directory"; exit 1; }# Start Tailscale and set up routing
log "Starting Tailscale..."
/tmp/tailscale/tailscale_1.80.3_arm/tailscaled >> "$LOG_FILE" 2>&1 &
if [ $? -ne 0 ]; thenlog "Failed to start tailscaled. Please check permissions or dependencies."exit 1
filog "Setting up Tailscale routes..."
/tmp/tailscale/tailscale_1.80.3_arm/tailscale up --advertise-routes=192.168.0.0/24 >> "$LOG_FILE" 2>&1 &
if [ $? -ne 0 ]; thenlog "Failed to set up Tailscale routes. Please check the configuration."exit 1
filog "Tailscale installation and startup completed!"
log "Log saved to: $LOG_FILE"

注意/etc/resolve.conf中没有注释的8.8.8.8,如果被注释了,可能无法下载。

3.添加脚本到开机启动

vi /etc/rc.local
/etc/tailscale/tailscale_install.sh

重启试试?

添加tailscale monitor
在小米AX6000中添加tailscale monitor


http://www.mrgr.cn/news/95554.html

相关文章:

  • 使用DeepSeek翻译英文科技论文,以MarkDown格式输出,使用Writage 3.3.1插件转换为Word文件
  • 信奥赛CSP-J复赛集训(模拟算法专题)(27):P5016 [NOIP 2018 普及组] 龙虎斗
  • GitLens with `Commit Graph`
  • redis安装
  • LeetCode 每日一题 2025/3/17-2025/3/23
  • How to install samba on Linux mint 22.1
  • 数据库练习2
  • JVM垃圾回收笔记02-垃圾回收器
  • 论文阅读笔记:Denoising Diffusion Probabilistic Models (2)
  • 【记录一下】LMDeploy学习笔记及遇到的问题
  • 【算法】常见dp、多状态dp、背包问题、子序列问题
  • 蓝桥杯 劲舞团
  • 给语言模型增加知识逻辑校验智能,识别网络信息增量的垃圾模式
  • 大数据环境搭建
  • 关于网络的一点知识(持续更新)
  • LangChain Chat Model学习笔记
  • windows清除电脑开机密码,可保留原本的系统和资料,不重装系统
  • python-selenium 爬虫 由易到难
  • 用 pytorch 从零开始创建大语言模型(零):汇总
  • Ubuntu实时读取音乐软件的音频流