100.100.100.100是局域网,为什么我在tailscale设置的时候提示 Cannot update address to reserved IP

30 次阅读

本文最后更新于 2026年10月29日。

✅ 一句话结论

100.100.100.100 本身在 RFC6598 的 100.64.0.0/10(100.64.0.0–100.127.255.255)里面,属于CGNAT保留段; 但是 它是 Tailscale 自己单独扣出来的内部特殊地址(叫 Quad100),不能分配给节点当设备IP,所以报错:Cannot update address to reserved IP

什么是 Quad100

100.100.100.100 是 Tailscale 的本地虚拟服务地址:

  • 作用:本机访问 Tailscale DNS、local service,流量只留在本机,不会在tailnet里路由
  • Tailscale 硬性保留了这几块,不允许给机器手动分配:
    • 100.100.0.0/24
    • 100.100.100.0/24 (就是它,整个/24都锁死)
    • 100.115.92.0/23

虽然大段 100.64–100.127 是CGNAT地址池给设备用,但里面这三个小区块被Tailscale征用做内部用途,属于“池子里的禁区”。

怎么选可用的 Tailscale IP

在 100.64.0.0/10 里,避开上面三个网段就行,例如:

  • ✅ 100.70.0.1
  • ✅ 100.90.5.10
  • ✅ 100.120.1.10
  • ❌ 100.100.100.1~100.100.100.255 全部不行

翻译 + 完整规则

Address must be a valid Tailscale IPv4 address: within 100.64.0.0/10 but excluding 100.115.92.0/23 地址必须是合法的 Tailscale IPv4:属于 100.64.0.0/10,并且不能在 100.115.92.0/23 里面

Tailscale 一共有三段强制保留、不能手动分配给设备:

  1. 100.100.0.0/24
  2. 100.100.100.0/24(Quad100,含 100.100.100.100)
  3. 100.115.92.0/23 → 范围:100.115.92.0 ~ 100.115.93.255

✅ 总合法区间: 100.64.0.0 ~ 100.127.255.255 扣掉上面 3 小段,剩下的都可以手动指定。

✅ 随便挑几个直接能用的例子

  • 100.64.0.1
  • 100.80.1.10
  • 100.110.5.20
  • 100.120.8.8

❌ 不能用的:

  • 100.100.100.100(Quad100)
  • 100.115.92.1、100.115.93.254(落在 /23 保留段)

如果你想彻底不用 100.x 段(推荐,避开CGNAT冲突)

在 ACL 里配置 ipPool,直接切到传统内网段,示例:

{
  "nodeAttrs": [
    {
      "target": ["autogroup:admin"],
      "attr": {
        "ipPool": ["10.10.0.0/16"]
      }
    }
  ]
}

配置后,新增节点、手动指定IP就可以填 10.10.x.x 了,不再受 100.64/10 限制。