【Tealscale + Headscale + 自建服务器】异地组网笔记

文章目录

  • 效果
  • [为什么要用 Headscale](#为什么要用 Headscale)
  • [云服务器安装 Headscale](#云服务器安装 Headscale)
  • [配置 config.yaml](#配置 config.yaml)
  • 创建反向代理
  • [搭建管理 UI](#搭建管理 UI)
  • [授权管理 UI](#授权管理 UI)
  • 添加互联设备
  • 参考

效果

首先是连接情况,双端都连接上自建的 Headscale,


手机使用移动流量,测试一下 ping 值

再试试进入游戏

可以看到是没问题的!

为什么要用 Headscale

比较 Wireguard,Headscale 增加了 p2p 的模式,Headscale 会在保证两台异地设备相连的同时,尝试升级到 p2p

云服务器安装 Headscale

可以看 Headscale 的官网的安装教程 ,进入云服务器,然后输入如下命令

这里的 HEADSCALE_VERSION 以及 HEADSCALE_ARCH 是版本和你云系统的架构的变量名,填写对应的值,回车

bash 复制代码
HEADSCALE_VERSION="0.23.0" # See above URL for latest version, e.g. "X.Y.Z" (NOTE: do not add the "v" prefix!)
HEADSCALE_ARCH="amd64" # Your system architecture, e.g. "amd64"
wget --output-document=headscale.deb \
 "https://github.com/juanfont/headscale/releases/download/v${HEADSCALE_VERSION}/headscale_${HEADSCALE_VERSION}_linux_${HEADSCALE_ARCH}.deb"

然后等待下载即可,或者可以下载到本地,然后上传到服务器中

下载完成后安装 Headscale

bash 复制代码
sudo apt install ./headscale.deb

开机自动启动

bash 复制代码
sudo systemctl enable --now headscale

配置 config.yaml

修改 etc/headscale/config.yaml 文件

bash 复制代码
# 这里改成你云服务器的 ip 加上 开放的 tcp 端口
server_url: http://你自己的ip/tcp端口

创建反向代理

bash 复制代码
apt install -y nginx

这里会卡一下

然后到 /etc/nginx/sites-available 这个目录下,编辑 default 文件,替换一下的命令

bash 复制代码
map $http_upgrade $connection_upgrade {
    default      keep-alive;
    'websocket'  upgrade;
    ''           close;
}
server {
    listen 3355;
    listen [::]:3355;
    server_name 云服务器IP;
    location / {
    
    	proxy_pass http://127.0.0.1:8080;
        	proxy_http_version 1.1;
       	proxy_set_header Upgrade $http_upgrade;
        	proxy_set_header Connection $connection_upgrade;
        	proxy_set_header Host $server_name;
        	proxy_buffering off;
        	proxy_set_header X-Real-IP $remote_addr;
        	proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        	proxy_set_header X-Forwarded-Proto $http_x_forwarded_proto;
        	add_header Strict-Transport-Security "max-age=15552000; includeSubDomains" always;

    }
    
    location /web {
		index  index.html;
       	alias  /var/www/web;
	}
}

搭建管理 UI

然后下载这个 ui 项目 https://github.com/gurucomputing/headscale-ui,解压到制定目录

之后开启 headscale 服务,重启 nginx

bash 复制代码
systemctl start headscale
systemctl restart nginx

创建一个 apikeys 用于给网页授权

bash 复制代码
headscale apikeys create --expiration 9999d 

之后访问 http://ip:端口号/web 就可以了


授权管理 UI

接着把生成的密钥粘贴到这里


添加互联设备

之后新增一个User view 即可,这是我添加的两个设备

然后我在安卓端,用流量连接服务器,并 ping 我的 mac

之后我的 mac 端也可以链接并 ping 通我的手机

参考

  1. Tailscale玩法之内网穿透、异地组网、全隧道模式、纯IP的双栈DERP搭建、Headscale协调服务器搭建,用一期搞定,看一看不亏吧?
  2. Tailscale 官方手册
相关推荐
ajassi20009 小时前
AI语音智能体开发日记(十八)智能体服务器xiaozhi-esp32-server源码部署指南
运维·服务器·人工智能·ai·ai编程
‎ദ്ദിᵔ.˛.ᵔ₎9 小时前
linux 进程信号(下)
linux·运维·服务器
AOI小白新手上路9 小时前
DRSformer·论文蒸馏笔记:可学习 Top-k 稀疏注意力去雨网络
网络·笔记·学习
Mikko710 小时前
Linux 磁盘满了但 du 找不到?LVM 扩容 df 不变?fstab 写错开不了机?三台真机实测磁盘排查
linux·运维·centos
蓝胖的四次元口袋10 小时前
Jenkins知识梳理(2)
运维·jenkins
yumgpkpm10 小时前
Acceldata ODP 3.3.6.4 vs CDP Private Cloud Base 7.3.2 对比
大数据·运维·服务器·hadoop·华为·zookeeper·hbase
Liuqy-0510 小时前
特殊进程——孤儿、僵尸、守护进程
linux·运维·服务器
AOI小白新手上路10 小时前
单幅图像去雨·论文蒸馏笔记:统一评测、方法谱系与 HQ-RAIN 新基准
笔记
糖炒栗子要加糖11 小时前
Windows 大量小文件复制太慢?使用 Robocopy 多线程加速
笔记·提升效率
等我调个Bug11 小时前
【Linux系统篇】权限
linux·服务器