IP Anchor Domain Naming
本文约定标准 IP 锚点域名的命名空间、命名格式、字段和 DNS 记录写法。
示例统一使用 example.com 。实际落地时替换为自己的根域名。
基础规范
命名空间
保留四类核心命名空间:
命名空间 | 表达对象 | 用途 |
|---|---|---|
| 单个主机地址 | 主机 IP 锚点,例如 VPS、PC、NAS、Router、Gateway |
| 单个公网出口地址 | 公网出口 IP 锚点,例如家庭出口、办公出口、DDNS 出口 |
| 单个网络入口地址 | 网络入口 IP 锚点,例如 VPN、Tunnel、Proxy、SSH Gateway |
| 多个地址组成的目标组 | 多 IP 目标组,例如 DNS 轮询、入口集群、负载均衡目标组 |
不使用 svc.example.com 或 dyn.svc.example.com 。业务服务域名不纳入本规范;动态出口统一放在 wan.example.com 下。
本规范不定义端口、协议、环境、业务服务、证书和访问控制。业务服务可以引用 IP 锚点域名,但业务服务名不进入 IP 锚点域名本身。
命名格式
类型 | 格式 | 示例 |
|---|---|---|
主机 IP 锚点 |
|
|
主机地址作用域 |
|
|
公网出口 IP 锚点 |
|
|
网络入口 IP 锚点 |
|
|
多 IP 目标组 |
|
|
命名约束
全部使用小写字母、数字和连字符
-。单个标签不以连字符开头或结尾,不使用连续连字符;单个标签长度不超过 63 个字符,完整域名长度不超过 253 个字符。
identity表达稳定实例身份,不使用 IP、端口、环境名或临时状态。不把
grafana、registry、api这类业务服务名放进 IP 锚点域名。不把
prod、dev这类环境名放进 IP 锚点域名;环境信息放到标签、Inventory 或业务域名中。host、wan、net表达单个稳定对象;pool表达多个地址组成的集合。主机存在多个地址时,使用
host-scope的priv、pub、egress区分地址作用域。pool-scope表达目标组覆盖范围,不要求目标地址属于同一个地域。pool不固定network字段,成员 IP 可以来自不同线路、厂商或地域。pool使用基础设施功能命名,例如edge、ingress、proxy,避免使用具体业务服务名。
字段与取值
本节按命名格式说明字段。 region、 network、 identity 是跨多个命名空间复用的公用字段; pool 不使用 network ,因为目标组成员的 IP 来源可能不同。
公用命名字段
字段 | 含义 | 使用范围 | 说明 / 示例 |
|---|---|---|---|
| 地域 |
| 例如 |
| 网络、线路、运营商或云厂商 |
| 例如 |
| 稳定对象身份 |
| 用于区分同类对象,例如 |
network 取值按对象来源选择,避免在同一个字段中混合表达多个维度:
家庭、办公、实验室、IDC 等物理出口,优先使用运营商、线路或本地网络,例如
ct、cu、cmcc、cernet、lan。云主机、云 NAT、云负载均衡、云上入口,优先使用云厂商或平台,例如
aliyun、tencent、aws、oracle、gcp。第三方网络平台或明确的全局网络入口,使用平台或线路能力,例如
cf、bgp。不在
network中拼接多个来源。需要表达更细的实例差异时,放到identity、标签、Inventory 或业务配置中。
host 命名字段
适用格式:
格式 | 用途 |
|---|---|
| 主机默认 IP 锚点 |
| 主机指定地址作用域 |
字段说明:
字段 | 含义 | 说明 / 示例 |
|---|---|---|
| 主机稳定身份 | 默认格式为 |
| 主机角色 | 例如 |
| 地域 | 公用字段 |
| 网络、线路、运营商或云厂商 | 公用字段 |
| 稳定对象身份 | 公用字段,用于区分同类主机 |
| 主机地址作用域 | 仅用于 |
使用 host-scope 后,地址类型已经由 priv、 pub、 egress 表达, host-id 可以只保留识别主机所需的稳定字段。简化时以不冲突为前提,不要为了缩短名称牺牲唯一性。
场景 | 建议 host-id 格式 | 示例 |
|---|---|---|
需要完整自解释,或没有外部资产清单 |
|
|
已使用 |
|
|
小规模固定资产,名称不会跨地域或厂商冲突 |
|
|
<host-scope>.host.example.com 是作用域子命名空间:
host-scope 取值 | 作用域子命名空间 | 含义 | 记录建议 |
|---|---|---|---|
|
| 主机内网地址 | 优先维护在私有 DNS 或分视图 DNS 中;确认允许暴露时才放公网 DNS |
|
| 主机入站公网地址 | 直接维护 |
|
| 主机出站公网地址 | 直接维护 |
priv.host.example.com 可能暴露内网地址、资产命名和网络结构。公网 DNS 中发布 priv 记录前,应确认该暴露符合安全和运维要求;否则应使用私有 DNS、分视图 DNS 或内部解析区域。
<host-id>.host.example.com 可作为主机默认地址;需要同时管理内网、公网入站和公网出站地址时,优先使用显式作用域。
egress 用于标识主机访问外部网络时对端看到的公网 IP。它常用于第三方服务 IP 白名单、防火墙放行、审计排查和出口一致性检查。 egress 可以与 pub 相同,也可以指向 NAT Gateway、共享 EIP、家庭出口或办公出口等 wan.example.com 锚点。
wan 命名字段
适用格式:
格式 | 用途 |
|---|---|
| 公网出口 IP 锚点 |
字段说明:
字段 | 含义 | 说明 / 示例 |
|---|---|---|
| 场地或出口来源 | 例如 |
| 地域 | 公用字段 |
| 网络、线路、运营商或云厂商 | 公用字段 |
| 稳定对象身份 | 公用字段 |
net 命名字段
适用格式:
格式 | 用途 |
|---|---|
| 网络入口 IP 锚点 |
字段说明:
字段 | 含义 | 说明 / 示例 |
|---|---|---|
| 网络入口类型 | 例如 |
| 地域 | 公用字段 |
| 网络、线路、运营商或云厂商 | 公用字段 |
| 稳定对象身份 | 公用字段 |
pool 命名字段
适用格式:
格式 | 用途 |
|---|---|
| 多 IP 目标组 |
字段说明:
字段 | 含义 | 说明 / 示例 |
|---|---|---|
| 多 IP 目标组功能 | 例如 |
| 多 IP 目标组覆盖范围 | 例如 |
| 稳定目标组身份 | 用于区分同类目标组,例如 |
function 用来说明这组 IP 作为哪类基础设施目标被使用,例如边缘入口、统一入口、代理或网关。它不表达具体业务服务; grafana、 api、 registry 这类业务域名应 CNAME 到 pool 锚点,而不是写进 function。
identity 也不用于绕过业务服务名限制。需要区分多个目标组时, identity 表达稳定的基础设施目标组身份;业务服务名称保留在业务域名、配置、标签或 Inventory 中。
常用 pool-scope:
取值 | 含义 |
|---|---|
| 跨地域或全球目标组 |
| 多地域目标组,但不强调具体范围 |
| 中国大陆目标组 |
| 亚太目标组 |
| 香港目标组 |
| 新加坡目标组 |
| 武汉目标组 |
字段取值参考
地域缩写
地域 | 缩写 | 地域 | 缩写 | |
|---|---|---|---|---|
武汉 |
| 香港 |
| |
上海 |
| 新加坡 |
| |
北京 |
| 日本东京 |
| |
广州 |
| 韩国首尔 |
| |
深圳 |
| 美国洛杉矶 |
| |
杭州 |
| 美国圣何塞 |
| |
南京 |
| 德国法兰克福 |
|
网络和厂商缩写
网络 / 线路 | 缩写 | 云厂商 / 平台 | 缩写 | |
|---|---|---|---|---|
中国电信 |
| 阿里云 |
| |
中国联通 |
| 腾讯云 |
| |
中国移动 |
| Google Cloud Platform |
| |
教育网 |
| AWS |
| |
BGP 多线 |
| Oracle Cloud |
| |
LAN 内网 |
| Cloudflare |
|
不要使用 tc 表示中国电信,避免与 Tencent Cloud 混淆。统一使用 ct。
常用 function
function 用于表达 pool 的基础设施职责,不表达业务服务名。
取值 | 含义 | 适用场景 |
|---|---|---|
| 边缘入口 | 对外入口、多地域入口、边缘节点集群 |
| 入站入口 | 统一入站流量入口,后续再转发到服务 |
| 网关 | 协议网关、API Gateway、HTTP Gateway |
| 代理 | 正向代理、反向代理、协议代理 |
| 中继 | 隧道中继、跨网络转发、中转节点 |
| 负载均衡 | 明确表示负载均衡器地址组 |
| 出站出口组 | 多个出口 IP 组成的出站池 |
常用 identity
identity 用于表达稳定对象身份,不限于数字编号或主备角色。
对 pool 而言,多个同类目标组需要区分时,可以把稳定的目标组身份放在 identity 中。 identity 只用于区分目标组,不改变 function 的基础设施职责,也不承载业务服务名。
取值 | 含义 | 取值 | 含义 | |
|---|---|---|---|---|
| 主实例 |
| 实验节点 | |
| 备用实例 |
| 构建节点 | |
| 边缘入口 |
| 存储节点 | |
| 中继节点 |
| 监控节点 | |
| 代理节点 |
| 数字实例标识 |
DNS 记录示例
以下内容按命名格式展示常见 DNS 记录写法,不代表唯一实现。实际记录类型和目标应结合 DNS 服务商能力、自动化方式和网络拓扑调整。
DNS 记录约束
同一记录名使用
CNAME时,不应再同时维护A、AAAA或其他记录。pool使用多条A/AAAA、DNS 服务商的权重记录、地理解析或健康检查能力实现目标组,不使用多条CNAME聚合多个主机锚点。DNS 轮询不等于健康检查。需要自动摘除故障地址时,应使用 DNS 服务商健康检查、负载均衡能力或外部自动化同步。
CNAME链路应尽量短,避免业务域名、net、wan、host之间形成难以排查的长链路。使用方需要指定地址族时,应查询同一锚点的
A或AAAA记录自行选择,不额外定义v4/v6子命名空间。
业务域名引用示例
业务服务域名可以引用 IP 锚点域名。业务名称保留在业务域名中,IP 锚点域名只表达基础设施对象。
业务用途 | 业务域名 | 类型 | 值 / 目标 |
|---|---|---|---|
Grafana |
|
|
|
API 入口 |
|
|
|
Registry |
|
|
|
示例类型 | 命名格式 |
|---|---|
主机默认地址 |
|
主机地址作用域 |
|
公网出口地址 |
|
网络入口地址 |
|
多 IP 目标组 |
|
主机默认地址
记录名 | 类型 | 值 / 目标 | 说明 |
|---|---|---|---|
|
|
| IPv4 默认解析,将主机默认地址解析到一个 IPv4 地址 |
|
|
| IPv6 默认解析,将主机默认地址解析到一个 IPv6 地址 |
|
|
| 复用显式作用域地址,默认地址跟随 |
主机地址作用域
记录名 | 类型 | 值 / 目标 | 说明 |
|---|---|---|---|
|
|
| 主机内网地址,管理主机私网地址 |
|
|
| 主机入站公网地址,管理主机公网入站地址 |
|
|
| 出站地址复用入站公网地址,出站 IP 与入站公网 IP 相同时使用 |
|
|
| 共享出口场景下的内网地址,仍单独维护每台主机内网地址 |
|
|
| 共享出口映射,主机出站地址指向共享出口锚点 |
|
|
| 共享出口映射,主机出站地址指向共享出口锚点 |
公网出口地址
记录名 | 类型 | 值 / 目标 | 说明 |
|---|---|---|---|
|
|
| 公网动态出口 IPv4,由 DDNS 或自动化任务更新 |
|
|
| 公网动态出口 IPv6,由 DDNS 或自动化任务更新 |
|
|
| 共享 NAT 出口,例如 NAT Gateway、统一公网出口或共享 EIP |
网络入口地址
记录名 | 类型 | 值 / 目标 | 说明 |
|---|---|---|---|
|
|
| VPN 入口,网络入口指向公网出口 |
|
|
| SOCKS 入口,网络入口指向公网出口 |
|
|
| SSH Gateway 入口,网络入口指向主机锚点 |
|
|
| NAT 入站 EIP,NAT 网关上专门负责入站的 EIP |
|
|
| Tunnel 入口,网络入口指向上游隧道目标 |
多 IP 目标组
记录名 | 类型 | 值 / 目标 | 说明 |
|---|---|---|---|
|
| 多个 | 同一记录名维护多条 IPv4 地址,用于 DNS 轮询或 DNS 负载均衡 |
|
| 多个 | 同一记录名维护多条 IPv6 地址,用于 DNS 轮询或 DNS 负载均衡 |
|
| 由 DNS API、Inventory 或自动化任务同步 | 自动化同步目标组, |
记录反例
不推荐 | 推荐 | 原因 |
|---|---|---|
|
| 地址族不应放在首位,且 |
|
| 动态出口是公网出口锚点,不是服务域名 |
|
| 服务名不应作为主机身份 |
|
| IP 不应进入稳定域名 |
|
| 环境应通过标签、Inventory 或业务域名表达 |
|
|
|
|
| 同名多 |