环境配置
- 远程机器: Ubuntu 22.04
- 本地机器: Mac OS
- 问题: 两台机器内网不互通
第一步:Tailscale网络穿透配置
1. 注册账号
访问 https://tailscale.com/ 注册账号
2. 远程机器(Ubuntu)配置
Linux环境安装相对简单,基本上就几个命令:
# 一键安装
curl -fsSL https://tailscale.com/install.sh | sh
# 启动服务
sudo -i
nohup tailscaled & # 如何以服务形式启动自行查询
exit
tailscale login # 按照给定的登陆网址登陆和授权
tailscale up --ssh # 让本机连机,并开启ssh访问
3. 本地机器(Mac)配置
Mac环境正常安装需要使用App Store,但大陆账号又不允许下载该软件。故也需要使用命令安装,从官网找到的手顺为 https://github.com/tailscale/tailscale/wiki/Tailscaled-on-macOS
# 假设已经安装了go,则一键执行
go install tailscale.com/cmd/tailscale{,d}@main
默认会安装到 $HOME/go/bin/
,同linux版本,也是有2个工具:
-
tailscaled
: 底层服务,只要确保它处于启动状态即可,可以直接启动,也可以以服务的形式启动 -
tailscale
: 用来登陆、连机或其它具体功能
为了方便使用,vim ~/.bash_profile,添加:
alias tailscale=$HOME/go/bin/tailscale
alias tailscaled=$HOME/go/bin/tailscaled
# 启动服务
sudo -i
nohup $HOME/go/bin/tailscaled &
exit
# 登陆
tailscale login
tailscale up --ssh
到这里网络的配置基本就完成了,目前已经可以实现当前机器对远程机器的内网穿透,包括ssh登陆。
这时可以通过tailscale status查看当前账号所建立的"局域网"下的所有机器:
$ tailscale status
100.77.43.30 macos xfek@ macOS -
100.67.14.66 ubuntu24.04 xfek@ linux active; direct 114.249.56.103:27598, tx 7358528 rx 18082896
其中macos就是本机,这时要ssh登陆就像连接一个公网的机器完全一样:
ssh root@100.67.14.66
第二步:基于VSCode Server的开发环境
# 下载安装
curl -fsSL https://code-server.dev/install.sh | sh
# 启动服务
nohup code-server --bind-addr 0.0.0.0:8080 &
到这里就可以通过浏览器访问 http://0.0.0.0:8080
使用vscode。
如果要远程访问,很简单,如前面tailscale status看到的ip,tailscale为远程机器分配的ip是100.67.14.66,故可以通过 http://100.67.14.66:8080/
访问vscode server开发环境,非常方便。