Notion Blog
技术分享1 分钟阅读

tailscale aidlux 实现异地组网

Tailscale:是基于WireGuard协议的零配置虚拟组网工具,构建安全私有网络,设备跨网络直连,无需公网IP或复杂配置,具安全、易部署、跨平台等特点。

官方地址:https://tailscale.com/

前置步骤在自己的电脑端安装 tailscale,跟着一步一步往下走就行。

安装使用

安装

curl -fsSL https://tailscale.com/install.sh | sh

启动

sudo tailscaled --tun=userspace-networking --socket=/var/run/tailscale/tailscaled.sock > /dev/null 2>&1 &

添加启动脚本

#!/bin/bash

# --- 配置部分 ---
# 日志文件位置(可选,用于排查问题)
LOG_FILE="/home/aidlux/log/tailscale_monitor.log"
# Socket 文件路径
SOCK_FILE="/home/aidlux/tailscale/tailscaled.sock"

# --- 检查逻辑 ---
# 使用 pgrep 检查 tailscaled 进程是否存在
if pgrep -x "tailscaled" > /dev/null
then
    # 如果进程存在,什么都不做(或者记录日志)
    echo "$(date): Tailscale 正常运行中..." >> $LOG_FILE
    exit 0
else
    echo "-----------------------------------------------------" >> $LOG_FILE
    echo "$(date): 检测到 Tailscale 未运行,正在启动..." >> $LOG_FILE
    
    # 确保目录存在
    mkdir -p /var/run/tailscale
    mkdir -p /var/lib/tailscale

    # 清理可能残留的死锁 socket 文件
    if [ -S "$SOCK_FILE" ]; then
        rm "$SOCK_FILE"
    fi

    # 核心启动命令 (使用 nohup 后台运行,并指定 userspace-networking)
    nohup tailscaled --tun=userspace-networking --socket=$SOCK_FILE > /dev/null 2>&1 &
    
    # 等待 2 秒让它初始化
    sleep 2
    
    # 再次检查是否启动成功
    if pgrep -x "tailscaled" > /dev/null; then
        echo "$(date): Tailscale 启动成功!" >> $LOG_FILE
    else
        echo "$(date): Tailscale 启动失败,请手动检查!" >> $LOG_FILE
    fi
fi

第二步:添加定时任务

输入以下命令编辑定时任务表:

crontab -e

在文件的最底部添加这一行(意思是:每分钟检查一次):

* * * * /bin/bash /root/keep_tailscale.sh

实现打开aidlux 自启

在 ~/.bashrc 文件末尾添加这一行

/root/keep_tailscale.sh

有关使用上的问题,欢迎您在底部评论区留言,一起交流~

读者评论

评论会同步写入该文在 Notion 中的页面底部(与正文同页,便于管理)。

0/1500

暂无评论,欢迎抢沙发。