AWS Lightsail + Tailscale 个人 VPN 部署手册
更新日期:2026-10-29(北京时间)
适用场景:北京的 Windows 电脑、iPhone,通过东京或悉尼云服务器上网;按需邀请朋友使用出口或联机。
已走通的配置:东京 Lightsail、Ubuntu 24.04 LTS、512MB 内存、双栈公网网络、Tailscale 出口节点。
本手册整理了本次实际部署过程。界面文字、价格、注册审核和套餐可能变化,以下以操作当天的官方页面为准。注册可用不代表北京到该服务器的线路一定稳定。本文讲的是技术配置,不据此判断某项跨境联网用途的合规性;使用时遵守适用规定与服务条款。
公开版说明:服务器地址 100.100.100.100、设备名和实例名仅为示例,必须替换为自己的配置。费用、套餐人数与界面以官方当前页面为准。本文保留原手册日期,不表示所有步骤已重新实测。
目录
1. 先弄清楚方案与费用
3. 从零创建服务器
6. 查询流量与创建桌面图标
7. 其他人如何连接
8. 常见问题与处理
9. 日常使用、安全与停用
10. 示例配置记录与官方资料
1. 先弄清楚方案与费用
1.1 连接路径
Windows / iPhone → Tailscale 加密连接 → 东京或悉尼服务器 → 目标网站选择服务器作为出口节点后,经过该出口的网站访问显示服务器的公网出口 IP。东京服务器通常对应日本 IP,悉尼通常对应澳洲 IP;网站的地区数据库可能有误差。云服务器 IP 属于机房地址,不是住宅宽带 IP。
仅登录 Tailscale、看到设备在线,并不代表已经使用服务器上网;每个客户端都要单独选择 Exit Node。
1.2 配置与预算
| 项目 | 入门配置 | 说明 |
|---|---|---|
| 云服务器 | Ubuntu 24.04 LTS,512MB 内存 | 个人轻量转发先测试;运行游戏服务端需另算 |
| 网络 | Dual-stack,包含公网 IPv4 | 避免误选仅 IPv6 套餐 |
| 参考租金 | 512MB 公网 IPv4 套餐约 US$5/月;1GB 约 US$7/月 | 不含可能的税费、超额流量与附加服务 |
| Tailscale | Personal 免费方案 | 查询时支持最多 6 位用户;商业用途、人数超额另查计划 |
| 域名 | 不需要 | 这套部署不必购买域名、网站证书或负载均衡器 |
| 静态公网 IPv4 | 建议关联一个 | 关联实例时不额外收费,闲置未关联可能收费 |
这些是标价参考,不是固定人民币报价或免费承诺。新用户抵用金、Free/Paid 账户计划和优惠资格按实际账号显示;不要把旧教程中的“固定免费三个月”当作保证。Paid 账户计划不等于必须购买付费技术支持。
参考:Lightsail 定价、Tailscale 定价、Lightsail 计费与优惠说明。
1.3 流量怎样计算
- Lightsail 实例的入站和出站都会消耗套餐流量额度。
- 超过额度后,计费规则对入站和出站不同:超额入站不收费,符合计费条件的超额公网出站会收费。
- VPN 下载 10GB 文件,通常会产生约 10GB 入站、10GB 出站,即约 20GB 额度消耗,另有协议开销。
- 东京与悉尼额度不同:悉尼属于官方列出的流量额度减半地区,东京不在该列表内。请按创建页面对应地区与套餐确认。
- 流量额度每月重置;本地统计的自然月与账单明细、单位和延迟可能存在差异,最终以 AWS 为准。
参考:官方流量规则。
2. 中国用户注册前需要准备什么
2.1 AWS 全球账号和中国区账号不要混淆
本方案租东京或悉尼资源,使用 AWS 全球服务账号,入口是 AWS 全球网站 和 Lightsail 控制台。
AWS 中国区域(北京、宁夏)的账号和全球账号属于不同体系。网站的 /cn/ 中文页面不等于中国区域账号;判断时看所注册的服务体系和控制台,而不是页面语言。
参考:AWS 全球与中国账号区分。
2.2 AWS 要准备的资料
| 信息 | 如何准备 | 是否必须境外资料 |
|---|---|---|
| 邮箱 | 自己长期可访问、能接收验证码与账单的邮箱 | 不要求必须境外邮箱 |
| 姓名、联系地址、邮编 | 填写真实信息;按表单格式填写 | 不需要虚构日本、澳洲或美国地址 |
| 联系电话 | 使用本人可接收验证短信或电话的号码,按表单选择国家代码 | 没有“必须境外手机号”的通用要求;具体验证以页面为准 |
| 支付方式 | 准备符合账号页面要求的有效信用卡 | AWS Inc. 已支持中国银联信用卡开户路径,不必一概认为必须境外卡 |
| 身份资料 | 选择人民币/银联支付时,个人通常需按提示完成身份证件信息核验 | 按官方页面要求提供本人真实资料 |
| MFA | 准备验证器或账号支持的通行密钥等验证方式 | 注册后保护账号使用 |
AWS 官方明确提供:地址与账单国家填写中国,选择中国银联信用卡并进行个人或企业身份核验。人民币信用卡路径当前不支持人民币借记卡。不要将该政策理解为所有银行卡、所有账号都一定能通过审核;是否扣款成功也取决于发卡行。
参考:AWS 支持银联信用卡开户公告、人民币支付与身份核验。
2.3 AWS 注册流程
1. 从 AWS 全球网站选择 Create an AWS Account。注册界面可能提供传统账号或其他登录方式,本文按可管理 Lightsail 的完整 AWS 账号说明。
2. 验证邮箱,填写账号名称,并按页面设置登录方式。
3. 个人用途选择个人类型,填写真实中国联系方式和地址。
4. 按页面添加有效支付方式;选择银联/人民币路径时完成所需身份验证。
5. 按提示完成手机验证。
6. 如要求选择 Support plan,可选择适合本用途的免费 Basic 支持,避免误订付费支持。
7. 等待账号激活。若有额外审核,查看邮箱与官方 Support Center,不要连续创建多个账号绕过审核。
8. 登录 Lightsail,确认可选择 Tokyo 或 Sydney 并创建所需规格。账号处于受限体验状态时,按页面核实是否需要升级到可使用该服务的完整计划,再确认费用。
9. 开启 AWS MFA,设置费用提醒。
参考:AWS 注册流程。
2.4 Tailscale 要准备的账号
Tailscale 通常通过已有身份服务登录,例如个人 GitHub、Microsoft、Google 或 Apple 账号;不是直接建立一套 Tailscale 邮箱密码。本次使用个人 GitHub。自己的电脑、手机和服务器应使用同一个身份加入同一网络;朋友使用各自账号。
创建个人网络没有租服务器那样的账单地址要求。免费个人方案不要求先购买境外地址、外国手机号、境外信用卡或付费域名。身份服务自身可能要求邮箱、手机或其他验证,按其实际注册要求完成。
2.5 国内访问与 iPhone 下载
- 先确认能访问 Tailscale 官网、管理页面及你选择的登录服务,再购买服务器。北京不同运营商、时段和网络环境下,可用性可能不同。
- Google 登录不应作为唯一预设路径;可先测试自己已有的 GitHub、Microsoft 或 Apple 账号能否正常完成授权。
- 如果登录页或客户端连接失败,检查服务状态、网络连通性和账号验证;不要误以为租了服务器就自动解决控制面登录问题。
- iPhone 通过官方 App Store 链接安装。不同商店地区的可用性以手机实际页面为准;本手册不将“必须有境外 Apple 账号”写成通用条件。如果显示该地区不可用,通过 Apple/Tailscale 官方支持核实可用渠道。
3. 从零创建服务器
3.1 先准备 Windows 客户端
1. 从 Tailscale 官方下载页下载安装。
2. 打开并登录自己的身份账号。
3. 进入 Machines 设备列表,确认 Windows 电脑在线。
3.2 创建 Lightsail 实例
打开 Lightsail,点击 Create instance:
| 项目 | 本次选择 |
|---|---|
| Instance location | Tokyo,代码 ap-northeast-1 |
| 若需要澳洲 IP | 改选 Sydney,代码 ap-southeast-2 |
| 平台 | Linux operating system |
| Blueprint | Ubuntu 24.04 LTS;没有时可选仍受支持的 22.04 LTS |
| Networking type | Dual-stack,含公网 IPv4 |
| 规格 | 512MB 内存起步 |
| 名称 | hz-vpn 或自己容易识别的名字 |
| 数量 | 1 |
注意:界面中的 Linux apps 是预装应用类别。本方案选择 Linux operating system → Ubuntu。不要误选 OpenClaw、WordPress 或 Windows 镜像。
先不添加快照、额外磁盘、域名和负载均衡器。核对地区、价格、数量后创建。等实例显示 Running、健康检查通过后继续。若地区选错,重新在目标地区创建;普通实例的地区不能在原页面直接切换。确认新实例可用后删除不需要的旧实例。
参考:创建 Lightsail 实例。
3.3 关联静态公网 IPv4
1. 进入实例 Networking,点击 Attach static IP;若无现成地址,选择创建。
2. 或从 Lightsail 左侧 Networking → Create static IP 进入。
3. 地区选择实例所在地区,关联自己的实例。
4. 起名,例如 hz-vpn-ip,创建并关联。
5. 记录新的公网 IPv4;它可能与最初动态 IP 不同。
参考:静态 IP 创建说明。
3.4 添加 UDP 防火墙规则
实例 → Networking → Firewall rules → Add rule:
| 项目 | 填写 |
|---|---|
| Application | Custom |
| Protocol | UDP |
| Port or port range | 41641 |
| Source | Anywhere IPv4;启用公网 IPv6 时可同时添加 Anywhere IPv6 |
点击 Add rule 保存。保留 SSH TCP 22 和 Lightsail browser SSH 访问能力。开放 UDP 41641 是帮助直连,不是开放所有端口。普通客户端不需要另开放公网 DNS 53 或网页端口来使用出口。
如服务器自身启用了 UFW,也应按所需规则放行,例如 sudo ufw allow 41641/udp。不要为了排错盲目启用或关闭 UFW;先检查 sudo ufw status,避免锁住 SSH。
4. 安装与启用 Tailscale 出口
4.1 打开服务器终端
实例 → Connect → Connect using SSH。看到 ubuntu@...:~$ 后,才在该窗口执行本节 Linux 命令。不要把它们粘贴到 Windows PowerShell。
4.2 安装 Tailscale
每一框执行完成后,再执行下一框:
sudo apt-get update
sudo apt-get install -y curlcurl -fsSL https://tailscale.com/install.sh | sh看到 Installation complete 后继续。上面脚本来自 Tailscale 官方域名;如果不希望运行安装脚本,可按官方文档使用系统软件源安装。
参考:Linux 安装说明。
4.3 开启 IPv4 / IPv6 转发
整段复制,包括最后的 EOF:
sudo tee /etc/sysctl.d/99-tailscale.conf >/dev/null <<'EOF'
net.ipv4.ip_forward = 1
net.ipv6.conf.all.forwarding = 1
EOF
sudo sysctl -p /etc/sysctl.d/99-tailscale.conf预期输出两个 = 1。这将配置保存下来,服务器重启后仍会加载。
4.4 登录并声明出口
sudo tailscale up --advertise-exit-node1. 复制终端这次新生成的登录链接到浏览器。
2. 使用与 Windows 相同的账号授权。
3. 等服务器终端完成登录,再执行:
tailscale status正常会看到服务器、电脑等设备,而不是 Logged out。登录链接是临时凭据,不要公开发布。
4.5 在管理页面批准出口
进入 Machines,找到 Ubuntu 服务器:
1. 点击右侧 …。
2. 选择 Edit exit node;部分版本放在 Edit route settings。
3. 勾选 Use as exit node 并保存。
如果开启了新设备审批,还要分别批准服务器本身加入。设备审批和允许充当出口是不同事项。默认策略一般已允许成员使用出口;自定义过访问规则的网络,需要额外核实 autogroup:internet 权限。
参考:出口节点配置。
5. Windows 与 iPhone 连接
5.1 Windows 使用出口
1. 打开任务栏右下角隐藏图标区,右键 Tailscale。
2. 确认登录的是自己的同一网络。
3. 选择 Use exit node → Ubuntu 服务器。
4. 如需继续访问家中打印机、路由器、NAS,启用 Allow local network access。
不要选 Run exit node,那是把 Windows 自己设为出口。
在 Windows PowerShell 验证 IPv4:
curl.exe -4 https://checkip.amazonaws.com返回地址应与服务器当前公网 IPv4 一致,而不是服务器的 100.x.x.x 虚拟 IP。IPv4 验证成功只证明该次 IPv4 请求走了出口;如果关心 IPv6,也应通过支持 IPv6 的 IP 查询工具单独检查。
恢复直接上网:Use exit node → None。
5.2 iPhone 使用出口
1. 从 官方 iOS 下载入口安装 Tailscale。
2. 打开,允许添加 VPN 配置,按提示验证。
3. 登录自己的同一身份账号。
4. 若开启设备审批,去管理页面批准这台 iPhone。
5. 在手机 Tailscale 中打开连接开关,进入 Exit Node,选择 Ubuntu 服务器。
6. 用 Safari 打开 https://checkip.amazonaws.com,核对公网 IPv4。
手机不需要 AWS 私钥,也不需要复制 Windows VPN 配置。电脑与手机可同时使用,但共用服务器带宽和套餐流量。蜂窝网络下也会消耗手机运营商流量。
若手机上有其他 VPN 或网络过滤类应用,排查时先只保留当前要测试的 VPN 连接,避免配置冲突。停用出口选择 None;完全停用 Tailscale可关闭其连接。
5.3 开机后怎样使用
- AWS 实例保持 Running;Tailscale 服务通常随 Linux 启动,不用每次重装或 SSH 登录。
- Windows 在系统“设置 → 应用 → 启动”或任务管理器启动项中确认 Tailscale 的启动配置;客户端若提供 Run unattended,可按需要启用,让其在未登录用户会话时运行。
- 开机后检查出口是否仍选中服务器;若未选中,再选一次。不要仅凭客户端已启动就认定出口生效。
- 账号登录到期需要重新验证时,按提示完成;重复使用同一设备通常无需每次审批。
6. 查询流量与创建桌面图标
6.1 AWS 与本地统计的区别
| 查看方式 | 适合查看 | 注意 |
|---|---|---|
| Lightsail → 实例 → Metrics | 收发趋势、峰值、CPU | 图中每个点不是本月累计总量 |
| AWS Billing → Bills → Lightsail → 对应地区 | AWS 已记录的用量和超额费用 | 账单有延迟;费用为 0 不表示流量为 0 |
| vnStat / 桌面流量球 | 本地按天、按月累计 | 从安装之后记录,不能恢复之前流量,不等于官方计费 |
账单关注 TotalDataXfer-In-Bytes、TotalDataXfer-Out-Bytes、DataXfer-Out-Overage-Bytes 等用量项。
参考:AWS 账单说明、Metrics 说明。
6.2 安装 vnStat
在服务器终端执行:
sudo apt-get update
sudo apt-get install -y vnstat
sudo systemctl enable --now vnstat确认联网网卡:
ip route show default本次网卡是 ens5。如果你的输出里是其他名称,下面命令和工具配置要一起修改。
vnstat -i ens5 -m
vnstat -i ens5 -d- rx 为接收,tx 为发送,total 为合计。
- 日期行是实际记录;estimated 是推算值,并非已经用掉的量。
- avg. rate 是统计期间的平均速率,不是限速。
- 新安装后若数据不足,使用几分钟后再查。
- 服务器使用 UTC 时,北京凌晨可能仍显示前一天;UTC 比北京时间慢 8 小时。
- 不要把 ens5 与 tailscale0 的流量再相加,避免把同一转发重复计算。
参考:Ubuntu vnStat 手册。
6.3 资料包里有什么
本文配套 ZIP 的结构:
VPN部署资料包/
AWS与Tailscale个人VPN部署手册.md
工具/
TrafficBall.ps1 悬浮球主程序
Launch-TrafficBall.vbs 隐藏终端启动器
Create-Shortcut.ps1 按解压位置生成桌面快捷方式
创建桌面快捷方式.cmd 双击运行上面的安装步骤
Check-VPN-Traffic.cmd 文字统计窗口包内不包含 AWS 私钥、登录凭据或授权链接。已有原版流量球能正常使用的话,可继续使用,不必重复安装。
6.4 下载 SSH 私钥
仅桌面统计工具需要这一步;普通 VPN 上网不需要私钥。
在实例 Connect 页面选择 Download default key,或在 Lightsail 的 Account → SSH keys 下载实例对应地区的默认私钥。若实例使用自定义密钥,必须使用对应私钥。
本次东京默认文件名:
LightsailDefaultKey-ap-northeast-1.pem保存至 Windows 的 %USERPROFILE%\Downloads。资料包流量球也会尝试 %USERPROFILE%\.ssh。
参考:AWS SSH 密钥说明。
6.5 首次手动验证 SSH
先在 AWS 浏览器终端执行:
sudo ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub然后在 Windows PowerShell 执行,地址换成服务器在 Machines 中的 Tailscale IPv4:
$serverIp = '100.100.100.100'
$keyPath = "$env:USERPROFILE\Downloads\LightsailDefaultKey-ap-northeast-1.pem"
ssh -i $keyPath "ubuntu@$serverIp" "vnstat -i ens5 -m"首次提示主机真实性时,核对 ED25519 指纹与 AWS 终端输出一致后输入 yes。如果本地找不到 ssh,在 Windows 可选功能中安装 OpenSSH Client。出现私钥权限错误时,按第 8.4 节修复后再试。
小球使用严格主机验证和非交互登录,因此应先完成这次验证。
6.6 创建文字统计图标
可以使用资料包的 Check-VPN-Traffic.cmd。本次默认服务器地址是 100.100.100.100,网卡为 ens5,私钥为东京默认文件名。新部署需要用记事本修改其中相应字段。
也可以自己用记事本建立以下内容,保存为 UTF-8 的 查看VPN流量.cmd,文件类型选择“所有文件”,避免保存成 .cmd.txt:
@echo off
set "VPN_SERVER=100.100.100.100"
set "VPN_KEY=%USERPROFILE%\Downloads\LightsailDefaultKey-ap-northeast-1.pem"
ssh.exe -o ConnectTimeout=15 -o IdentitiesOnly=yes -i "%VPN_KEY%" ubuntu@%VPN_SERVER% "vnstat -i ens5 -m && vnstat -i ens5 -d"
pause双击显示月度与每日统计。保存到桌面或为这个文件创建快捷方式即可。
6.7 创建悬浮球图标
1. 将整个 ZIP 解压至固定位置,例如“文档”下的 VPN部署资料包;不要直接在压缩包里运行。
2. 确保 vnStat 已安装、私钥已保存且手动 SSH 成功。
3. 若是新服务器,用记事本打开 工具\TrafficBall.ps1,修改文件开头三项:
$script:serverAddress = '100.100.100.100'
$script:interfaceName = 'ens5'
$script:keyFileName = 'LightsailDefaultKey-ap-northeast-1.pem'4. 双击 工具\创建桌面快捷方式.cmd。
5. 桌面出现 VPN流量球.lnk,双击启动。
安装脚本按当前解压位置生成快捷方式,避免沿用只适用于原电脑位置的 .lnk。如果桌面已有同名快捷方式,它不会覆盖;已有工具工作正常时无需再次创建。若要换成资料包版本,先自行移走旧快捷方式,再重新创建。
如果桌面写入被 Windows 权限拒绝,可手动创建:右键桌面 → 新建 → 快捷方式 → 浏览选择 工具\Launch-TrafficBall.vbs → 起名“VPN流量球”。这时也要保留工具目录不动。
6.8 小球怎样使用
| 操作 | 效果 |
|---|---|
| 左键拖动 | 改变位置,退出时保存 |
| 悬停 | 查看详细用量、状态与更新时间 |
| 双击 | 显示用量说明 |
| 右键 → 立即刷新 | 手动读取 |
| 右键 → 设置每月参考额度 | 按自己的套餐调整分母 |
| 右键 → 始终置顶 | 切换置顶 |
| 右键 → 退出小球 | 停止运行 |
计算规则为:本月 ens5 的接收字节 + 发送字节,除以你设置的参考额度。默认是 1000GB,工具中 1GB = 10亿字节。它只是参考预算,不保证与 AWS 对 TB/GB 的计费口径完全一致,也不自动读取账户套餐。
按服务器 UTC 自然月取实际记录,不使用 estimated。数据来源是安装 vnStat 之后的记录,因此不能替代完整 AWS 账单。累计很少时显示 <0.1%,不是故障。
每 60 秒通过 SSH读取一次简短 JSON。没有测速、网页抓取或大文件下载;SSH 握手和响应有少量流量,确切值取决于环境,不能把先前粗估当成实测。需要省流量时,可将脚本中自动刷新判断的 TotalSeconds -ge 60 改为 TotalSeconds -ge 300,关闭并重开小球;0.5秒界面轮询计时器不会每次都联网。
小球要求 Tailscale 已连接,但不要求 Windows 选中服务器作为全局出口。失联时显示“未连接”等状态,并保留同月上次记录作为旧值;悬停检查更新时间。跨月没有有效记录时显示 --%。
6.9 开机自动启动小球
1. 按 Win + R。
2. 输入 shell:startup,回车。
3. 把桌面的 VPN流量球.lnk 复制进去。
这是当前用户登录后启动,不是电脑尚未登录时就显示小球。保留原始程序目录,不要移动或删除;目录变化后需重新生成快捷方式。取消自启只需删除启动文件夹中的 .lnk。
7. 其他人如何连接
先分清:只想借用日本 IP,优先只共享服务器;希望互相访问电脑、游戏联机,则考虑邀请加入同一网络。朋友始终使用自己的身份账号,不共用你的 GitHub 或 AWS 账号,不发送服务器私钥。
7.1 方式 A:只共享服务器出口
这是仅借用出口时较合适的范围:朋友可访问共享服务器,不因此加入你的整个网络。
你操作:
1. Machines → 找到服务器 → … → Share。
2. 使用邀请链接或邮箱共享。
3. 确认 Allow use as an exit node 已勾选。
4. 把一次性链接发给指定朋友,避免公开传播。
朋友操作:
1. 使用自己的 Tailscale 账号接受共享邀请。
2. 安装并登录客户端。
3. 在 Exit Node 中选择你共享的服务器。
4. 查询公网 IP,核对是否与服务器出口一致。
共享双方的访问策略都会影响连接。对方若在组织网络中,可能需要其管理员批准。这个共享不会自动让朋友看到或访问你的个人电脑,也不等于双方游戏电脑已经组成局域网。
取消:服务器的 Share 设置中撤销对应分享。
参考:共享机器与出口节点。
7.2 方式 B:邀请加入同一 Tailscale 网络
你操作:
1. 管理网站 → Users → Invite external users。
2. 选择 Copy invite link。
3. 角色选择 Member,而不是 Admin。
4. Generate & copy invite link,发给朋友。
朋友操作:
1. 打开链接,用自己的账号接受。
2. 安装 Tailscale 并登录相同账号。
3. 如果有多个网络,选择你的网络。
你再检查:
- 若开启用户审批,在 Users 批准该用户。
- 若开启设备审批,在 Machines 核对并批准朋友的设备。
默认互通规则下,成员可能访问你电脑上开放的服务。仅需要出口的朋友不必获得整个网络成员权限;确需加入时,按实际用途调整访问策略。默认策略通常允许成员使用已批准出口,自定义过策略则核实权限。
参考:邀请用户。
7.3 用来玩局域网游戏时
- 房主创建游戏,其他人使用房主电脑的 Tailscale IP 与游戏端口加入;不是一律填写云服务器 IP。
- Windows 防火墙需允许相应游戏连接,版本、模组和端口要一致。
- Tailscale 普通组网不会自动转发传统局域网发现所需的广播/组播。能输入 IP 的游戏比较适合;只能搜索房间的游戏,可能需游戏专用发现工具或 ZeroTier、SoftEther 等其他方案。
- 开启云服务器出口不等于两台游戏电脑间的 Tailscale 流量必定经过该服务器。Tailscale 会选择自己的设备间连接路径,可能直连或中继。
- 通常不需要为游戏联机打开全局出口。若想强制固定中转,需要另行设计路由,不能仅靠选中 Exit Node 假定已经实现。
7.4 费用与流量归属
朋友使用服务器出口时,共用该服务器带宽和流量额度;收发流量会体现在同一 ens5 统计,小球不会自动分人统计。网络内游戏若直接连接两台电脑,不经过服务器的部分不会记入该服务器流量。
Tailscale 人数/方案额度按当前个人计划核对,不应承诺无限人数免费。移除网络成员用 Users 中的暂停/移除操作;只共享机器的朋友在 Share 中撤销。
8. 常见问题与处理
8.1 AWS 或身份服务注册失败
| 现象 | 优先检查 |
|---|---|
| 收不到邮件 | 垃圾箱、邮箱拼写、收信规则,使用长期可控邮箱 |
| 手机验证码收不到 | 国家代码、号码格式、短信拦截、页面提供的其他验证方式 |
| 卡验证失败 | 是否为支持的信用卡、银行限制、账单资料、身份核验状态 |
| 提示中国区/全球账号不匹配 | 从正确的全球服务入口注册、登录 |
| 激活或创建实例被限制 | 账号激活邮件、支付验证、配额和官方账户支持 |
| 登录 Tailscale 后看不到原设备 | 是否选了不同身份服务、账号或网络 |
| 官网/授权页访问不稳定 | 先区分网站连通性与账号错误;查看官方状态或联系支持 |
不要购买来历不明的成品账号、借用身份资料,或为通过审核填写虚假境外地址。需要补交资料时,只在官方账户页面提交。
8.2 tailscale status 显示 Logged out
在服务器终端执行:
sudo tailscale up --advertise-exit-node打开本次新生成的链接重新登录并授权,再执行 tailscale status。网站显示过 Login successful,不代表服务器当前一定仍在线;以当前状态和网络连接测试为准。
sudo systemctl restart tailscaled 成功时通常不输出内容。重启服务并不能代替账号重新登录。
8.3 Windows / 手机看不到出口或启用后无法上网
按顺序检查:
1. AWS 实例是否 Running、健康检查是否正常。
2. 服务器 tailscale status 是否已登录。
3. 服务器与客户端是否属于正确账号/网络。
4. 设备是否需要审批;服务器是否允许 Use as exit node。
5. sysctl net.ipv4.ip_forward net.ipv6.conf.all.forwarding 是否为 1。
6. Tailscale、系统时间、客户端版本是否正常。
7. 自定义策略是否允许 autogroup:internet;共享模式是否勾选允许出口。
8. 如果出现 DNS 错误,检查 Tailscale DNS 配置和服务器的解析能力,不要凭猜测全面关闭防火墙。
如启用出口后断网,先在客户端选择 None 恢复本地连接,再继续排查。服务器在管理列表显示灰点本身不是完整诊断,应结合 tailscale status、实际连接和健康检查判断。
8.4 私钥权限过宽:UNPROTECTED PRIVATE KEY FILE
本次出现过 CodexSandboxUsers 等组可访问私钥,Windows OpenSSH 因此忽略密钥。只修改该文件 ACL,不需要重新购买服务器或生成所有密钥。
在你自己的 Windows PowerShell 中执行:
$keyPath = "$env:USERPROFILE\Downloads\LightsailDefaultKey-ap-northeast-1.pem"
$userSid = [System.Security.Principal.WindowsIdentity]::GetCurrent().User
$acl = [System.Security.AccessControl.FileSecurity]::new()
$acl.SetOwner($userSid)
$acl.SetAccessRuleProtection($true, $false)
$rule = [System.Security.AccessControl.FileSystemAccessRule]::new(
$userSid,
[System.Security.AccessControl.FileSystemRights]::FullControl,
[System.Security.AccessControl.AccessControlType]::Allow
)
$acl.AddAccessRule($rule)
Set-Acl -LiteralPath $keyPath -AclObject $acl -ErrorAction Stop
Write-Host '密钥权限已修复'这会将私钥访问权限限制为当前账号。路径必须指向你实际保存的私钥。若访问被拒绝,确认文件所有者和当前登录账号,使用自己的账户处理,不要把私钥改为 Everyone 可读。
参考:微软 OpenSSH 密钥管理。
8.5 其他 SSH、桌面图标与统计问题
| 现象 | 处理 |
|---|---|
| Permission denied (publickey) | 先处理密钥权限,再确认用户名为 ubuntu、密钥匹配实例地区/自定义密钥 |
| Connection timed out | Tailscale 是否在线、虚拟 IP 是否正确、实例是否运行、服务器 SSH 服务及防火墙 |
| Host key verification failed | 用 AWS 浏览器终端核对指纹;确认服务器确实重建过后,再清理对应旧记录,不盲目禁用主机校验 |
| vnstat: command not found | 按 6.2 安装 vnStat |
| 没有 ens5 数据 | ip route show default 确认实际网卡,修改命令和工具配置 |
| No data available | 刚安装时等待采样;再检查 sudo systemctl status vnstat --no-pager |
| 小球一直显示未连接 | 先完成 6.5 手动 SSH;双击小球或悬停查看错误;确认密钥路径 |
| 小球显示数据滞后 | 检查 vnStat 服务和服务器时间,数据库超过 15 分钟未更新会提示 |
| 小球双击没有出现 | 保留同目录主程序;从 PowerShell 手动运行以查看错误;检查系统是否限制 VBS/脚本 |
| 快捷方式移动后失效 | .lnk 只是指向程序的位置;程序目录移动后需重新生成 |
| 统计日期比北京少一天 | UTC 时区差异,不是数据丢失 |
| 预计流量非常大 | 看实际日期行 total,不要看 estimated |
小球手动诊断示例:在“工具”文件夹空白处打开 PowerShell,然后执行:
powershell.exe -NoProfile -STA -ExecutionPolicy Bypass -File .\TrafficBall.ps1该执行策略参数只用于此进程运行本资料包脚本,不需要修改系统全局执行策略。若电脑由组织管理且禁止脚本,应遵守管理策略。
8.6 速度慢
Windows PowerShell 查看连接路径:
& "$env:ProgramFiles\Tailscale\tailscale.exe" status先产生一些访问流量,再看服务器对应行:direct 为直连,relay 为中继。也可执行 tailscale ping 对虚拟 IP 测试。中继可能降低性能,但不能把所有慢速都归因于中继。
检查北京晚间与白天表现、丢包、服务器 CPU 和内存;有需要再考虑地区或线路。512MB 小规格如果内存不足,可查看 free -h,升级可能解决内存瓶颈,却不能修复跨国线路拥堵。
东京可能比悉尼延迟低,但没有保证。服务器端口标称带宽也不是北京的实际下载承诺。测速会实际产生流量,只在需要诊断时做。
参考:Tailscale 连接类型。
9. 日常使用、安全与停用
9.1 新设备审批
管理页面 Settings → Device management → Device approval,按提示开启。之后到 Machines 找 Needs approval 设备,核对后 … → Approve。免费方案也支持;账号需具备相应管理权限。
设备审批并不能替代登录账号的 MFA。给本次使用的 GitHub 和 AWS 账号开启双重验证;维护设备列表,只保留认识的设备。
参考:设备审批。
9.2 服务器和客户端维护
- 保持 Ubuntu、Tailscale 和 Windows 更新;维护前确认能从 AWS 浏览器终端进入。
- 服务器记录更新 sudo apt-get update,按需使用 sudo apt-get upgrade;若提示重启,在可接受的中断时段重启并验证出口。
- SSH 密钥、登录链接和邀请链接不公开传播;朋友连接 VPN 不需要拿到私钥。
- 未使用网站服务时,可以删除 HTTP 80 放行规则。SSH 限制来源时保留浏览器 SSH,避免失去管理入口。
- Tailscale 加密保护客户端到出口;访问网站仍优先 HTTPS。VPN 不会令账号登录、Cookie 或网页行为匿名。
- 出口节点的登录密钥到期会影响连接。到期后重新认证;若决定为长期自用服务器关闭到期,先保护好账号并了解它会延长该节点凭据有效期,不要把关闭到期作为所有设备的默认选择。
9.3 费用提醒与停用
在 AWS Billing and Cost Management → Budgets 创建月费用预算,例如 US$10,并设置邮件阈值。注意预算范围是否含其他 AWS 服务、抵用金和税费。提醒不是实时硬限额,也不会自动停机。
只想暂时停止走出口:在电脑/手机选 None。服务器仍在运行、继续产生租金。
确定不再使用:
1. 客户端停用出口,关闭小球。
2. 删除不需要的 Lightsail 实例;仅 Stop 仍会计费。
3. 删除不再使用的静态 IP、快照等独立资源。
4. 从 Tailscale 移除退役服务器,撤销分享和不再需要的用户。
5. 删除启动文件夹里不再需要的流量球快捷方式。
10. 示例配置记录与官方资料
10.1 本次已知配置
| 项目 | 示例记录 |
|---|---|
| 实例名 | hz-vpn |
| 地区 | Tokyo / ap-northeast-1 |
| 系统 | Ubuntu 24.04 LTS |
| 规格 | 512MB,20GB SSD,双栈 |
| 服务器 Tailscale 名称 | your-server |
| 服务器 Tailscale IPv4 | 100.100.100.100 |
| 系统网卡 | ens5 |
| SSH 用户 | ubuntu |
| 默认私钥文件 | LightsailDefaultKey-ap-northeast-1.pem |
| 公网 IPv4 | 以 AWS 实例当前值为准,不沿用最初截图的动态地址 |
这些值是本次配置,不是新建账号都会分配到的值。工具包默认沿用它们;重建实例或给别人部署时,必须替换。私钥、密码、MFA 恢复码不记录到本文件。
10.2 官方资料索引
- AWS 全球网站
- AWS 注册流程
- 人民币支付说明
部署检查:账号可登录 → 地区正确 → 实例运行 → UDP 规则 → Tailscale 登录 → 批准设备与出口 → 客户端选出口 → 公网 IP 验证 → 记录流量与费用。