OpenWrt 运行 tailscale 登录 headscale,配置路由转发
headscale 安装参考:https://www.cnblogs.com/nihaorz/p/18455027
tailscale 安装
cd /var/lib/
curl -OL https://pkgs.tailscale.com/stable/tailscale_1.74.1_arm64.tgz
tar -zxvf tailscale_1.74.1_arm64.tgz
mv tailscale_1.74.1_arm64 tailscale
rm tailscale/systemd/ tailscale_1.74.1_arm64.tgz -rf
tailscale 配置开机自启动
# 配置开机自启动
cat > /etc/init.d/tailscaled << EOF
#!/bin/sh /etc/rc.common
START=99
start(){
mkdir -p /var/log/tailscale/logs
nohup /var/lib/tailscale/tailscaled --state=/var/lib/tailscale/tailscaled.state --socket=/run/tailscale/tailscaled.sock --port=41641 > /var/log/tailscale/logs/tailscaled.log 2>&1 &
}
stop(){
/var/lib/tailscale/tailscaled --cleanup
kill -9 $(ps | grep tailscaled | grep -v grep | awk '{print $1}')
}
restart(){
/var/lib/tailscale/tailscaled --cleanup
kill -9 $(ps | grep tailscaled | grep -v grep | awk '{print $1}')
mkdir -p /var/log/tailscale/logs
nohup /var/lib/tailscale/tailscaled --state=/var/lib/tailscale/tailscaled.state --socket=/run/tailscale/tailscaled.sock --port=41641 > /var/log/tailscale/logs/tailscaled.log 2>&1 &
}
EOF
chmod +x /etc/init.d/tailscaled
/etc/init.d/tailscaled enable
/etc/init.d/tailscaled start
tailscale 配置命令别名
echo 'alias tailscale="/var/lib/tailscale/tailscale"' >> /etc/profile
echo 'alias tailscaled="/var/lib/tailscale/tailscaled"' >> /etc/profile
source /etc/profile
headscale 用户创建
headscale user create nihaorz
tailscale 登录
tailscale up --advertise-routes=192.168.100.0/24 --accept-routes=true --login-server=https://java-jar.fun:1180 --hostname=r68s
根据提示完成登录
headscale 启用路由
# -r 参数是 headscale route ls 列出的路由 id
headscale route enable -r 1
tailscale 笔记本登录
tailscale up --login-server=https://java-jar.fun:1180 --hostname=yoga14s
根据提示完成登录
tailscale 安卓登录
Play 商店下载 tailscale,GetStarted > 右上角⚙️设置图标 > Accounts > 右上角三个点 > Use an alternate server,输入 https://java-jar.fun:1180,点击 Add account,等到手机浏览器弹出 Machine registration 信息,复制 headscale nodes register 命令到 OpenWrt 上执行(记得修改 USERNAME)
node 注册后 headscale node ls 可以发现刚刚注册的手机显示 name 以及 hostname 都是 localhost,可以运行 headscale node rename 命令修改
# -i 参数是 headscale node ls 列出的节点 id
headscale node rename neo9 -i 3
测试验证路由转发
笔记本和手机都断开WIFI,手机开热点,笔记本连上,访问软路由地址:192.168.100.1,远程桌面 mstsc 连台式机:192.168.100.20,测试无误
参考链接
https://blog.yfyang.me/blog/headscale-Tailscale