Tailscale Subnet Routers 与 Exit Nodes 实战部署与优化
引言 Tailscale 的 Subnet Routers 和 Exit Nodes 是构建零信任网络架构的核心组件,用于扩展 tailnet 访问本地子网或互联网流量。不同于 DERP(中继服务器,仅用于穿透 NAT 的 fallback),Tailscale 强调 WireGuard 内核级加密 + 策略路由,Subnet Routers 暴露物理子网路由(Layer 3 IP 转发),Exit Nodes 劫持默认路由(0.0.0.0/0),支持多跳拓扑和高性能内核模式。 部署基础:Flags 与系统预备 Subnet Router 部署 使用 tailscale up --advertise-routes=<CIDR> 广告路由,例如: s u d o t a i l s c a l e u p - a d v e r t i s e - r o u t e s = 1 9 2 . 1 6 8 . 1 . 0 / 2 4 , 1 0 . 0 . 0 . 0 / 8 前提:Linux/macOS/Windows,支持内核模式(Linux root)或用户空间(non-root/非 Linux)。 IP 转发启用(Linux 内核模式,必备): e e s c c u h h d o o o ' ' s n n y e e s t t c . . t i i l p p v v - 4 6 p . . i c p e _ n t f f c o . / r a s w l y a l s r . c d f t o l = r . w d 1 a / ' r 9 d 9 | i - n t s g a u i d = l o s 1 c t ' a e l e | e . - s c a u o d n / o f e t t c e / e s y - s a c t / l e . t d c / / 9 s 9 y - s t c a t i l l . s d c / a 9 l 9 e - . t c a o i n l f s c a l e . c o n f 未启用将导致路由黑洞。用户空间模式(--tun=userspace-networking)无需此步,但仅支持 TCP/UDP 重建。 Exit Node 部署 s u d o t a i l s c a l e u p - a d v e r t i s e - e x i t - n o d e 劫持客户端默认路由(0.0.0.0/0, ::/0),所有非 tailnet 流量经此节点上网。 客户端启用:tailscale up --exit-node=<TS-IP|hostname> 或 --exit-node=auto:any(自动选低延迟)。 LAN 访问:--exit-node-allow-lan-access 允许客户端保留本地网络(默认禁用,避免泄露)。 Admin 批准:Machines 页 Edit route settings → 启用 “Use as exit node” / “Use as subnet router”。 ...