什么是 FQDN(完全限定域名)?
完全限定域名(FQDN)是用于指明主机在 DNS 层级结构中确切位置的完整域名。它包含从具体主机名一直到根域的所有标签,因此引用的位置不会产生歧义。
FQDN 结构
组成部分
hostname.subdomain.domain.tld.
↓ ↓ ↓ ↓
www blog example com (root)
读取层级
从右到左(从最重要到最不重要):
- 根(由末尾的点表示)
- TLD(.com)
- 域名(example)
- 子域名(blog)
- 主机名(www)
FQDN 示例
| FQDN | 组成部分 |
|---|---|
| www.example.com. | host.domain.tld |
| mail.subdomain.example.com. | host.sub.domain.tld |
| server1.dc1.internal.company.com. | host.sub.sub.domain.tld |
FQDN 与部分域名
FQDN(绝对域名)
- 到根的完整路径
- 以末尾的点结束
- 引用明确无歧义
- 示例:www.example.com.
相对域名
- 不完整的路径
- 没有末尾的点
- 取决于所在上下文
- 示例:www
末尾的点
它表示什么
末尾的点代表 DNS 根:
www.example.com.
↑
Root zone (empty label)
使用场景
- DNS 区域文件
- BIND 配置
- 指向主机名的 MX 记录
- 规范性的 DNS 说明
省略场景
- Web 浏览器
- 电子邮件客户端
- 大多数用户界面
- 营销材料
DNS 记录中的 FQDN
区域文件示例
; Zone file for example.com
www.example.com. A 93.184.216.34
mail.example.com. A 93.184.216.35
example.com. MX 10 mail.example.com.
常见错误
如果省略末尾的点,名称会被追加:
mail.example.com MX 10 mail
; Resolves to: mail.example.com.example.com.
FQDN 要求
有效 FQDN 的标准
- 总长度最多 253 个字符
- 每个标签最多 63 个字符
- 标签之间以点分隔
- 可以包含字母、数字和连字符
- 不能以连字符开头或结尾
字符规则
Valid: www.example-site.com.
Invalid: www.-example.com.
Invalid: www.example-.com.
不同场景中的 FQDN
Web 服务器
ServerName www.example.com
SSL 证书
- 证书必须匹配 FQDN
- www.example.com ≠ example.com
- 通配符:*.example.com
电子邮件配置
MX 记录必须使用 FQDN:
@ MX 10 mail.example.com.
解析 FQDN
DNS 解析流程
1. 查询 www.example.com。
2. 根服务器将请求指向 .com 服务器
3. .com 服务器将请求指向 example.com 的 NS
4. 权威服务器返回 A 记录
5. 将 IP 地址返回给客户端
正确理解 FQDN 对配置 DNS、避免区域文件和服务器配置中的常见错误至关重要。