Tailscale的子网路由和出口节点

在这里插入图片描述

2 年前,老苏写了 『 外网访问群晖的新方案Tailscale 』,第一次隆重的给大家推荐了 Tailscale,但当时还有很多功能并不具备,比如今天要介绍的 Subnet RouterExit Node

【特别说明】:老苏使用的是DSM6 ,所以下面的操作都是在 DSM6 上完成的。DSM7 据说对权限引入了更严格的限制,建议去看官方文档。

安装

一般群晖是 7*24 小时开机的,所以老苏还是以群晖来介绍。

和 2 年前不同, Synology NASTailscale 套件现在由 Tailscale 统一发布,所以目前有两种方式安装:

Subnet Router

之前老苏基本上是在每台需要远程访问的设备上都安装 Tailscale 客户端,按官方的说话,这是效果最佳的用法,因为流量会被端到端加密,并且无需配置即可在物理位置之间移动机器。

但是在某些情况下,我们不能给每台设备都安装 Tailscale,例如一些使用不运行外部软件的嵌入式设备,常见的有打印机、普通路由器、玩客云等,这个时候我们就可以设置一个 Subnet Router来实现从 Tailscale 访问这些设备。

什么是 Subnet Router ?

Subnet Router的字面意思是子网路由,以前称为relay node 或者 relaynode,其作用是充当网关,将流量从您的 Tailscale 网络中继到您的物理子网。

借用一张官方的图来做说明

在这里插入图片描述

左侧Tailscale Network,包含了所有安装了 Tailscale 客户端的设备,其中包括了老苏在公司用的办公机;

中间Subnet Router 是放在家里的群晖主机,局域网 IP192.168.0.197,同时也安装了 Tailscale 客户端

右侧是局域网中的设备,包括了路由器(192.168.0.1)、玩客云(192.168.0.2)等设备;

设置

  • 将群晖作为子网路由器连接到 Tailscale

SSH 客户端登录到群晖,在命令行中输入

因为后面还会用到 Exit Node,所以一并处理了 😊

sudo tailscale up --advertise-routes 192.168.0.0/24 --advertise-exit-node --reset

如果是多个网段,用逗号隔离就行,像下面这样

sudo tailscale up --advertise-routes 192.168.0.0/24,192.168.1.0/24 --advertise-exit-node --reset
  • 从管理控制台启用群晖的子网路由功能

进入管理控制台:https://login.tailscale.com/admin/machines

找到安装了 Tailscale 的群晖主机

主机名是可以自己修改的,主要是方便自己识别,也可以配合 DNS 用作域名;

在这里插入图片描述

进入 Edit route settings

在这里插入图片描述

可以看到我们命令行中设置的局域网地址段

在这里插入图片描述

而没有启用 Subnet Router 的是下面这样的

在这里插入图片描述

现在我们要启用局域网 IP

在这里插入图片描述

多个子网时

在这里插入图片描述

验证

现在老苏在公司的办公机上,直接输入 192.168.0.xxx就可以访问家里的设备了

当然如果公司也有 192.168.0.xxx 网段的话就比较尴尬了;

Exit Node

什么是 Exit Node ?

Exit Node功能允许您通过网络上的特定设备路由所有非 Tailscale 互联网流量,这台特定的路由设备称为 Exit Node

虽然解释很绕口,但是举个 栗子 就很容易明白了

大部分情况下, 安装了Tailscale 客户端的设备,访问互联网是👇下面这样的

在这里插入图片描述

左侧为 Tailscale Network

看的出来,和是不是安装了 Tailscale 没任何关系,该怎么访问还是怎么访问,这种模式被称之为 Split-Tunnel VPN 模式;

但是,在 Wi-Fi 不受信任的咖啡馆中,或者在出国旅行时需要访问仅在您本国可用的在线服务(例如银行业务)

这时候,我们可能需要另一台安装了 Tailscale 客户端的设备路由所有公共互联网流量。

比如下图中,laptop 是通过 desktop 访问互联网,这台 desktop 就被称为 Exit Node,也就是出口节点,这种模式被称为 Full-Tunnel VPN 模式;

在这里插入图片描述

在实际应用中,我们还是继续以群晖 ds3617xs 作为 Exit Node

设置

群晖端的命令已经合并处理过参数 --advertise-exit-node,所以不需要再执行了。

只要进控制台启用即可

在这里插入图片描述

接下来要设置使用 Exit Node 的设备,比如老苏的办公机

出于安全目的,每个设备都必须明确选择使用出口节点,MacOSWindows 上比较简单,菜单中可以找到 Exit Node

在这里插入图片描述

默认是 None, 选择为被设为 Exit Node 的设备 ds3617xs 就可以了

在这里插入图片描述

这个时候 Tailscale 客户端的图标

在这里插入图片描述

会多一个箭头
在这里插入图片描述

验证

只能通过验证你的公网 IP 才知道是否生效了,比如通过这个网站:https://www.whatismyip.com

当老苏 Exit node 选择 noneds3617xs 时,公网 IP 是会发生变化的,选择了 ds3617xs 后,公网 IP 和在家里局域网中是一样的,这就说明已经 OK

参考文档

Subnet routers and traffic relay nodes · Tailscale
地址:https://tailscale.com/kb/1019/subnets/

Access Synology NAS from anywhere · Tailscale
地址:https://tailscale.com/kb/1131/synology/

Exit Nodes (route all traffic) · Tailscale
地址:https://tailscale.com/kb/1103/exit-nodes/

DNS in Tailscale · Tailscale
地址:https://tailscale.com/kb/1054/dns/

  • 11
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杨浦老苏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值