Skip to content

通过 Tailscale 异地组网 实现远程访问局域网

前言

Tailscale 是一款基于 WireGuard 的异地组网工具,它可以将不同网络环境的设备组成一个虚拟局域网,使其可以互相访问。我们只需要在路由器或者 Nas 上安装 Tailscale 进行组网,就可以实现以下效果:

  • 连接到 Tailscale 的设备,可以直接使用内网 IP 访问家庭局域网
  • 内网设备可以直接使用 Tailscale 分配的 IP 来访问连接到 Tailscale 的设备
  • 支持多个局域网互相访问,每个局域网只需一台设备安装 Tailscale (每个局域网的网段不能相同)

安装步骤

  1. 打开 Tailscale 官网,点击右上角的 Log in,可以直接选择 Google 或者 Microsoft 授权登录
  2. 根据提示下载对应平台的客户端,更多平台下载请参考官方文档
    • Windows
    • Android (国区 Play Store 无法直接下载,可以在 APKMirror 下载)
    • Linux 一键安装脚本 curl -fsSL https://tailscale.com/install.sh | sh
    • 卸载apt-get remove tailscale rm -rf /var/lib/tailscale/tailscaled.state
  3. 有图形化界面的平台,直接登录账号即可;而在无图形化界面的平台上,需要输入 tailscale up

tailscale1

  1. 打开出现的链接,进行登录即可
  2. 默认情况下,会开启 Key Expiry,设备一段时间后会自动失效,可以在设备列表中选择 Disable Key Expiry

tailscale2

  1. 完成以上步骤后,启动客户端,即可使用列表中的 IP 进行直接访问

访问局域网

此时,只有连接到 Tailscale 的设备可以互相访问,并不能直接使用内网 IP 来访问整个局域网,我们还需要进行以下配置

开启 IP 转发

  1. 编辑 sysctl.conf 文件 vim /etc/sysctl.conf

  2. 将以下代码取消注释

txt
net.ipv4.ip_forward=1
net.ipv6.conf.all.forwarding=1
  1. 加载内核参数 sysctl -p

添加子网路由

  1. 例如我的路由器地址为 10.0.0.1,光猫地址为 192.168.1.1,则需要配置的网段为 10.0.0.0/24 与 192.168.1.0/24
sh
tailscale up --advertise-routes=10.0.0.0/24,192.168.1.0/24
  1. 在 Tailscale 控制面板中,将刚才添加的子网路由进行开启

tailscale3

tailscale4

访问 Tailscale 设备

通过上面的设置,已经实现了连接到 Tailscale 的设备使用内网 IP 访问局域网,但是局域网内的设备仍然无法使用 Tailscale 分配的 IP 来访问那些连接到 Tailscale 的设备,我们还需要在路由器中配置静态路由

  • 网络 / 主机 IP: Tailscale 的网段 100.64.0.0
  • 网络掩码: 255.192.0.0
  • 网关: 安装 Tailscale 设备的内网 IP

tailscale5

无法打开网页

部分设备在连接 Tailscale 后,可能存在无法打开网页的问题,只需要在 Tailscale 控制面板中的DNS设置中,将 MagicDNS 进行关闭即可

tailscale6

你认为这篇文章怎么样?
  • 0
  • 0
  • 0
  • 0
  • 0
  • 0

预览:

评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v3.1.3