域名
→ 返回 计算机网络
域名(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 .cloud | ICANN 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 |
| .ai | AI 产品 | 属安圭拉 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 记录配置
| 场景 | 记录类型 | 示例 |
|---|---|---|
| 网站指向服务器 | A | example.com → 1.2.3.4 |
| 子域名别名 | CNAME | www.example.com → example.com |
| CDN 加速 | CNAME | static.example.com → xxx.cdn.com |
| 邮箱服务 | MX | example.com MX 10 mail.example.com |
| 域名所有权验证 | TXT | _acme-challenge.example.com → <token> |
| 邮件防伪造 | TXT | v=spf1 include:_spf.google.com ~all |
| 服务发现 | SRV | _https._tcp SRV 0 5 443 www.example.com. |
| 证书签发控制 | CAA | example.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.com、b.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 中文.comSSL/TLS 证书与域名
证书类型
| 类型 | 验证级别 | 说明 | 获取方式 |
|---|---|---|---|
| DV(域名验证) | 仅验证域名控制权 | 自动签发,几分钟 | Let’s Encrypt(免费) |
| OV(组织验证) | 验证域名 + 组织信息 | 人工审核 1~3 天 | DigiCert、Sectigo |
| EV(扩展验证) | 严格验证组织合法性 | 浏览器绿色标识,审核 1~2 周 | 各大 CA |
| 泛域名证书 | 覆盖 *.example.com | 一张证书保护所有子域 | Let’s Encrypt(免费) |
| 多域名证书(SAN) | 覆盖多个不同域名 | example.com、example.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-01 | TLS 握手中验证 | 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.toolWHOIS 信息包含:注册人(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 > 其他)、历史流量、年龄。