技术分享1 分钟阅读
tailscale aidlux 实现异地组网
Tailscale:是基于WireGuard协议的零配置虚拟组网工具,构建安全私有网络,设备跨网络直连,无需公网IP或复杂配置,具安全、易部署、跨平台等特点。
前置步骤在自己的电脑端安装 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 中的页面底部(与正文同页,便于管理)。
暂无评论,欢迎抢沙发。