使用Tailscale实现异地组网,让笔记本电脑通过手机流量上网

前言

场景描述: 苏州有一台开着流量的安卓手机,杭州有一台连接Wi-Fi的笔记本电脑。目标是让笔记本电脑的所有网络流量都通过手机的蜂窝网络转发,实现"异地漫游"效果。

准备工作

重要提醒: 在开始配置之前,请先退出所有VPN和代理软件,包括但不限于:

  • 代理软件: Clash、V2rayN、Shadowsocks、Surge等
  • 抓包工具: Fiddler、Charles、Burp Suite等
  • 其他VPN: ExpressVPN、NordVPN等商业VPN服务

这些软件可能会与Tailscale产生冲突,导致网络路由异常。建议在配置完成并验证Tailscale正常工作后,再根据需要重新启用其他网络工具。

基础知识

账号与网络关系

Tailscale采用**一账号一网络(tailnet)**的架构。同一个Tailscale账号下的所有设备会自动组成一个虚拟私有网络,设备间可以直接通信。您只需要在手机和笔记本上使用相同的Tailscale账号登录即可。

设备数量限制

计划类型用户数量设备数量超出限制费用
免费个人计划最多3个用户100台设备每台$0.50/月
Starter商业计划无限制100台 + 每用户10台每台$0.50/月
Premium商业计划无限制100台 + 每用户20台每台$0.50/月

对于个人用户,免费计划的100台设备限制已经足够使用。

出口节点要求

理论上任何运行Tailscale的设备都可以作为出口节点,包括Linux服务器、Windows电脑、macOS设备、Android手机等。但需要注意的是,Android设备作为出口节点存在一定的性能限制,因为它使用用户空间路由而非内核级路由,性能不如Linux系统优化。建议Android出口节点保持电源连接以确保稳定运行。


配置步骤

1. 在手机上安装并配置Tailscale

首先,在您的手机上安装Tailscale客户端。您可以从以下渠道下载:

安装并登录后,请按照以下步骤操作:

  1. 打开Tailscale应用,进入Settings(设置)界面。

  2. 点击 DNS settings(DNS设置)。

    DNS设置入口

  3. 大陆网络需要关闭 Use Tailscale DNS

    关闭Tailscale DNS

  4. 返回上一级菜单,找到并点击 Exit nodes(出口节点)选项。

  5. 选择 Run as exit node(作为出口节点运行)。这将允许您的手机成为网络流量的出口。

    设置为出口节点

1.5. 在管理后台授权出口节点

在手机上启用“作为出口节点运行”后,该设备仅仅是“广播”了它可以作为出口节点。您还需要在Tailscale的管理后台审核并批准该请求,然后才能在其他设备上看到并使用它。

  1. 登录到您的Tailscale管理后台:https://login.tailscale.com/admin/machines
  2. 在设备列表中,找到您刚刚设置为出口节点的手机。
  3. 点击该设备最右侧的 “⋮” (三个点) 菜单,然后选择 Edit route settings... (编辑路由设置)。
  4. 在弹出的侧边栏中,勾选 Use as exit node (用作出口节点) 选项。
  5. 点击 Save (保存) 来确认更改。

完成这一步后,您的手机才正式成为一个可用的出口节点。

2. 在笔记本电脑上配置Tailscale

接下来,在您的笔记本电脑上安装Tailscale客户端,并使用与手机相同的账号登录。

  1. 在系统托盘找到Tailscale图标,右键点击,然后将鼠标悬停在 Exit nodes(出口节点)上。

  2. 在弹出的子菜单中,选择您的手机设备(图片中为oppo-p...)作为出口节点。

  3. 同时,请务必勾选 Allow local network access(允许访问本地网络),否则您可能无法访问局域网内的其他设备。

    选择出口节点

  4. 为了确保所有子网流量都能正确路由,请再次右键点击Tailscale图标,进入 Preferences(偏好设置)。

  5. 配置参考图片(大陆网络需要关闭DNS,其它国家/地区则不用)

    启用子网路由


验证与故障排除

验证连接状态

完成配置后,您可以通过以下方式验证是否成功:

  1. 检查IP地址: 访问 ip.sbwhatismyipaddress.com,确认显示的IP地址是否为手机的IP地址。

  2. Tailscale状态检查: 在笔记本上打开命令行,执行 tailscale status 查看连接状态,应该能看到手机设备在线且标记为出口节点。

常见问题

Android出口节点性能较慢: 这是正常现象,因为Android使用用户空间路由。如果需要更好的性能,建议使用Linux服务器作为出口节点。

无法访问本地网络: 确保在选择出口节点时勾选了"Allow local network access"选项。

连接不稳定: 确保手机保持电源连接,避免系统休眠导致网络中断。


总结

通过Tailscale的出口节点功能,您可以轻松实现异地组网和流量转发。这种方案相比传统VPN具有更好的P2P连接性能和更简单的配置流程。虽然Android设备作为出口节点存在一定的性能限制,但对于日常的网页浏览和轻量级应用已经足够使用。

Tailscale的免费计划支持最多100台设备,对于个人和小团队使用完全足够。如果您需要更高的性能,可以考虑使用Linux服务器或专业的VPS作为出口节点。