域名

返回 计算机网络

域名(Domain Name)是互联网上服务器地址的可读标识,通过 DNS 解析为 IP 地址后才能访问。整个域名体系由 ICANN 统一协调管理。


域名结构

www.example.com.
│   │       │  └── 根域(".",通常省略)
│   │       └───── 顶级域 TLD(.com)
│   └───────────── 二级域(example,注册域)
└───────────────── 三级域 / 子域(www)

blog.cn.example.com.
     ↑   ↑       ↑
  三级域 二级域  TLD(.com)
  子域名层级最多 127 级,总长度不超过 253 字符
  每级标签不超过 63 字符,只允许字母/数字/连字符
  • FQDN(Fully Qualified Domain Name):包含完整层级,末尾加点,如 www.example.com.
  • DNS 查询时加末尾点可避免 search 域拼接(K8s 中常用)

域名管理体系

ICANN(互联网名称与数字地址分配机构)
  └── 制定政策,授权根区域管理
  └── IANA(互联网号码分配机构,ICANN 下属)
        └── 维护根区域数据库(Root Zone Database)
        └── 授权各 TLD 注册局(Registry)

TLD 注册局(Registry)
  └── .com → Verisign
  └── .cn  → CNNIC(中国互联网络信息中心)
  └── .io  → Internet Computer Bureau
  └── 维护该 TLD 的权威 DNS 和注册数据库
  └── 通过批发价向注册商(Registrar)开放注册

域名注册商(Registrar)
  └── 阿里云、腾讯云、Namecheap、GoDaddy、Cloudflare
  └── 直接面向用户,提供查询/注册/续费/DNS 管理
  └── 必须获得 ICANN 认证资质

顶级域(TLD)类型

类型示例说明
通用顶级域 gTLD.com .net .org无国家限制,最广泛使用
国家顶级域 ccTLD.cn .us .uk .jp对应国家/地区,部分限制注册资质
新通用顶级域.io .app .dev .ai .cloudICANN 2012 年后开放,约 1200+ 种
赞助顶级域 sTLD.edu .gov .mil限特定机构,严格资质审核
基础设施域.arpa反向 DNS 解析(in-addr.arpa、ip6.arpa)

热门新 TLD 使用场景

TLD实际用途注意事项
.io科技公司、开发工具属英属印度洋地区 ccTLD,但被广泛用于 tech 项目
.dev开发者相关网站Google 管理,强制 HTTPS(HSTS Preload)
.app移动应用Google 管理,强制 HTTPS
.aiAI 产品属安圭拉 ccTLD,价格较高
.cn中国网站需实名认证,企业/个人资质不同

域名注册流程

1. 选择注册商(阿里云/腾讯云/Namecheap/Cloudflare)
2. 查询域名可用性(WHOIS / 注册商查询界面)
3. 付费注册(按年计费,.com 约 $10~15/年)
4. 填写注册人信息(WHOIS,实名制地区需验证)
5. 配置 DNS 服务器(用注册商 DNS 或自定义 NS)
6. 添加 DNS 记录(A / CNAME / MX 等)
7. 等待 DNS 生效(通常 5 分钟~48 小时)

.cn 域名注册要求

  • 个人注册:身份证实名认证
  • 企业注册:营业执照
  • 网站运营:需备案(ICP 备案),否则国内用户无法访问
  • 备案流程:通过阿里云/腾讯云等提交到工信部,约 20 个工作日

域名生命周期

注册         到期          赎回期          释放
  │            │               │              │
  ▼            ▼               ▼              ▼
[Active] → [Expired] → [Redemption Period] → [Deleted]
              ↑              (30~45天)           ↓
           续费可激活      费用高($50~200)   可被重新注册
           
各阶段时长因注册局而异,.com 宽限期约 45 天

域名锁定状态(EPP Status):

状态含义
clientTransferProhibited注册商锁定,禁止转移(常见,防盗转)
serverDeleteProhibited注册局锁定,禁止删除
serverTransferProhibited注册局锁定,禁止转移
registryLock高级注册锁,防高价值域名被盗(需人工操作解锁)

域名转移

将域名从一个注册商迁移到另一个:

1. 在原注册商解锁域名(取消 clientTransferProhibited)
2. 获取 EPP 授权码(Auth Code / Transfer Key)
3. 在新注册商发起转移请求,填写 EPP 码
4. 原注册商收到确认邮件(5 天内响应,不响应视为同意)
5. 注册局完成转移(通常 5~7 个工作日)
6. 转移后续期 1 年

注意:

  • 注册后 60 天内禁止转移(ICANN 规定)
  • 过期域名到期前 30 天禁止转移
  • 转移不影响 DNS 记录,但 NS 服务器可能需要重新配置

常用 DNS 记录配置

场景记录类型示例
网站指向服务器Aexample.com → 1.2.3.4
子域名别名CNAMEwww.example.com → example.com
CDN 加速CNAMEstatic.example.com → xxx.cdn.com
邮箱服务MXexample.com MX 10 mail.example.com
域名所有权验证TXT_acme-challenge.example.com → <token>
邮件防伪造TXTv=spf1 include:_spf.google.com ~all
服务发现SRV_https._tcp SRV 0 5 443 www.example.com.
证书签发控制CAAexample.com CAA 0 issue "letsencrypt.org"

子域名管理

example.com          主域名,官网
www.example.com      官网别名(CNAME → example.com)
api.example.com      API 服务(A 记录 → 后端服务器)
admin.example.com    后台管理(仅内网可访问)
static.example.com   静态资源(CNAME → CDN 域名)
mail.example.com     邮件服务(MX 记录指向)
dev.example.com      开发/测试环境

子域名通过 DNS 控制台添加对应记录实现,无需额外付费注册。

泛域名(Wildcard)

*.example.com → 1.2.3.4

匹配所有单级子域(a.example.comb.example.com),但不匹配多级(a.b.example.com)。
常用于:SaaS 平台为每个租户分配子域({tenant}.app.com)、泛域名 SSL 证书。


国际化域名(IDN)

支持非 ASCII 字符(中文、阿拉伯文等)的域名,底层使用 Punycode 编码:

中文域名:中文.com
Punycode:xn--fiq228c.com

示例:
  例子.jp → xn--fsq.jp
  münchen.de → xn--mnchen-3ya.de
# 查询 IDN 的 Punycode 形式
python3 -c "print('中文'.encode('idna').decode())"
# 输出:xn--fiq228c
 
# dig 可直接使用中文(内部自动转换)
dig 中文.com

SSL/TLS 证书与域名

证书类型

类型验证级别说明获取方式
DV(域名验证)仅验证域名控制权自动签发,几分钟Let’s Encrypt(免费)
OV(组织验证)验证域名 + 组织信息人工审核 1~3 天DigiCert、Sectigo
EV(扩展验证)严格验证组织合法性浏览器绿色标识,审核 1~2 周各大 CA
泛域名证书覆盖 *.example.com一张证书保护所有子域Let’s Encrypt(免费)
多域名证书(SAN)覆盖多个不同域名example.comexample.net商业 CA

Let’s Encrypt 自动申请(ACME 协议)

# 使用 certbot 申请证书
certbot certonly --webroot -w /var/www/html -d example.com -d www.example.com
 
# 泛域名证书(需要 DNS-01 验证)
certbot certonly --dns-cloudflare \
  --dns-cloudflare-credentials ~/.secrets/cloudflare.ini \
  -d "*.example.com" -d example.com
 
# 自动续期(证书 90 天有效期)
certbot renew --dry-run          # 测试续期
crontab: 0 3 * * * certbot renew  # 每天凌晨 3 点检查续期

证书验证方式(DV)

方式原理适用场景
HTTP-01/.well-known/acme-challenge/ 放置文件普通域名
DNS-01添加 _acme-challenge TXT 记录泛域名、内网域名
TLS-ALPN-01TLS 握手中验证443 端口可用时

邮件域名配置(防伪造)

完整的企业邮件域名需配置三条记录:

; 1. MX 记录:指定邮件服务器
example.com.  MX  10  mail.example.com.
 
; 2. SPF(Sender Policy Framework):声明授权发件 IP
example.com.  TXT  "v=spf1 ip4:1.2.3.4 include:_spf.google.com ~all"
; ~all = SoftFail(建议拒绝但不强制),-all = HardFail
 
; 3. DKIM(DomainKeys Identified Mail):邮件签名
selector._domainkey.example.com.  TXT  "v=DKIM1; k=rsa; p=MIGfMA0GCS..."
 
; 4. DMARC:SPF/DKIM 验证策略
_dmarc.example.com.  TXT  "v=DMARC1; p=quarantine; rua=mailto:dmarc@example.com"
; p=none(监控)/ quarantine(隔离)/ reject(拒绝)

WHOIS 与隐私保护

# 命令行查询 WHOIS
whois example.com
whois -h whois.verisign-grs.com example.com  # 指定 WHOIS 服务器
 
# RDAP(新一代 WHOIS,JSON 格式)
curl https://rdap.verisign.com/com/v1/domain/example.com | python3 -m json.tool

WHOIS 信息包含:注册人(Registrant)、注册商、创建/更新/到期时间、NS 服务器、状态。

隐私保护(WHOIS Privacy / RDAP Redaction):注册商代替注册人显示信息,防垃圾邮件骚扰,多数注册商免费提供。ICANN 2018 年 GDPR 后要求默认隐藏个人信息。


域名安全

域名被盗风险与防护

威胁说明防护
域名转移劫持攻击者窃取 EPP 码后转移开启注册锁、双因素认证
DNS 记录篡改入侵注册商账号修改 DNS强密码 + 2FA,Registry Lock
域名到期被抢注忘记续费后被他人注册开启自动续费,提前多年续费
子域名接管删除服务但 CNAME 仍指向第三方定期审计 DNS 记录

子域名接管(Subdomain Takeover)

场景:
  1. 配置了 test.example.com CNAME → myapp.herokuapp.com
  2. 删除了 Heroku 应用,但 CNAME 记录未删除
  3. 攻击者在 Heroku 注册同名应用
  4. test.example.com 流量被攻击者控制(Cookie 窃取、钓鱼)

防护:删除第三方服务时同步删除对应 DNS 记录
工具:subjack、nuclei 可批量检测悬空 CNAME

仿冒域名(Typosquatting)

注册与知名域名相似的域名用于钓鱼:

正版:  paypal.com
仿冒:  paypa1.com(l→1)、paypa1.com、paypaI.com(l→I)
        paypa-l.com、paypal.com.evil.com

品牌保护:注册常见拼写变体、向 ICANN UDRP 仲裁申诉

DNS 传播与生效

修改 DNS 记录后的生效流程:

修改权威 DNS 记录
  → 全球递归解析器缓存逐步过期(TTL 时间内)
  → 各地用户看到新记录的时间不同(最长 = 旧 TTL)

加速生效方法:
  1. 提前 24~48h 将 TTL 降低到 60~300s
  2. 修改记录
  3. 待传播完成后恢复 TTL

检查各地解析情况:
  https://dnschecker.org      # 全球节点检查
  https://www.whatsmydns.net  # 可视化传播地图
# 本地检查不同 DNS 服务器的解析结果
dig @8.8.8.8 example.com      # Google DNS
dig @1.1.1.1 example.com      # Cloudflare DNS
dig @223.5.5.5 example.com    # 阿里 DNS
dig @119.29.29.29 example.com # DNSPod

反向 DNS(PTR 记录)

IP → 域名的反向解析,常用于邮件服务器信誉验证:

正向:example.com → 1.2.3.4(A 记录)
反向:1.2.3.4 → mail.example.com(PTR 记录)

查询格式:将 IP 倒序 + .in-addr.arpa
  1.2.3.4 → 4.3.2.1.in-addr.arpa PTR mail.example.com

邮件场景:发件服务器若无反向 DNS,或 PTR 与 EHLO 主机名不匹配,会被接收方判定为垃圾邮件。

PTR 记录由 IP 所有者(通常是 IDC/云服务商)配置,普通用户需联系服务商或在云控制台设置。


域名后市场

已注册域名的二手交易市场:

平台类型
Sedo、Afternic国际域名拍卖/买卖
GoDaddy Auctions删除域名拍卖
SnapNames域名抢注(Drop Catching)
西部数码、易名中国国内域名交易

域名价值评估因素:长度(短 > 长)、含义(通用词 > 造词)、TLD(.com > 其他)、历史流量、年龄。


相关

  • DNS — 域名解析的技术实现(解析流程、记录类型、工具)
  • CDN — 通过 CNAME 将子域名指向 CDN 节点
  • TLS — 证书与域名绑定、CAA 记录
  • HTTPS — HTTPS 站点
  • IP与路由 — 域名最终解析的目标,PTR 反向解析
  • 网络安全 — 域名劫持、子域名接管、网络钓鱼防护
  • HTTP — HTTP 请求中的 Host 头与域名