21、DNS 使用指南:从基础到高级应用

企业DNS使用从基础到高级指南

DNS 使用指南:从基础到高级应用

1. DNS 在企业中的作用

DNS(域名系统)在企业中扮演着关键角色,为企业应用提供支持。例如,若企业的域名为 Example.com,开发服务器可位于 dev.example.com 这个 DNS 区域,质量保证(QA)服务器可在 qa.example.com,生产服务器则在 prod.example.com。此外,应用程序可采用命名方案来唯一标识服务器,如为公司网站前端提供服务的生产 Web 服务器可命名为 web001 - fe.prod.example.com,其中 web001 代表第一台 Web 服务器,fe 表示前端;若数据库服务器为前端应用服务,可命名为 db001 - fe.prod.example.com。

DNS 还能让企业轻松找到 Web 门户,具体方式如下:
- URL 重定向 :例如创建一个易于记忆的内部网站,如 http://hr.example.com,方便员工访问人力资源页面。
- DNS 快捷方式 :像 http://example.com/payroll 可重定向到 http://hr.example.com/hr/payroll,也可使用其他快捷方式,如 http://example.com/holidays 指向列出公司假期的人力资源页面。
- URL 缩短服务 :对于长 URL,如 http://hr.example.com/holidays/2014,可使用 URL 缩短服务将其缩短为 http://example.com/xylt。虽不易记忆,但便于嵌入需引用长 URL 的文档中。企业可下载并安装开源 URL 缩短工具,如:
- http://yourls.org/
- http://www.tighturl.com/project/p/tighturl/
- https://code.google.com/p/phurl/

2. DNS 解决方案选择

企业在选择 DNS 解决方案时,需考虑是将 DNS 外包给云提供商(如 Google Cloud),还是自行托管。若选择自行托管,还需决定是采用商业解决方案还是开源版本。这一决策取决于以下因素:
- 企业已安装的操作系统基础
- 工程资源的可用性
- 企业对开源或商业工具的偏好

不同操作系统基础和偏好下的选择建议如下:
| 操作系统基础 | 偏好 | 推荐解决方案 |
| ---- | ---- | ---- |
| Windows | 无特殊偏好 | 基于 Windows 的解决方案,如 Microsoft DNS |
| Linux | 倾向开源工具 | BIND |
| 无特殊操作系统倾向 | 偏好商业支持的闭源工具 | Nominum 或 Cisco 等提供商的产品 |

商业 DNS 解决方案示例:
- Nominum Vantio (http://nominum.com)
- Cisco Prime IP Express (http://www.cisco.com/c/en/us/products/cloud - systems - management/prime - ip - express/index.html)
- Simple DNS Plus (http://www.simpledns.com/)

开源 DNS 解决方案示例:
- BIND (https://www.isc.org/downloads/bind/)
- PowerDNS (https://www.powerdns.com/)
- TinyDNS (http://tinydns.org/)
- NSD (https://www.nlnetlabs.nl/projects/nsd/)

3. 域名注册

要注册域名(如 Example.com),需选择域名注册商。建议选择 ICANN 认可的注册商,因为它们能为注册者提供保护,并对注册商进行问责。可在 https://www.icann.org/registrar - reports/accredited - list.html 查看最新的注册商列表。确定特定域名的注册商,可使用 whois 命令或访问 http://www.internic.net/whois.html。以下是 whois 命令的使用示例:

#view registration information about EXAMPLE.ORG using the 'whois' command
$ whois example.org
Domain Name:EXAMPLE.ORG
Domain ID: D2328855 - LROR
Creation Date: 1995 - 08 - 31T04:00:00Z
Updated Date: 2010 - 07 - 27T20:57:51Z
Registry Expiry Date: 2010 - 08 - 30T04:00:00Z
Sponsoring Registrar:Internet Assigned Numbers Authority (IANA) (R193 - LROR)
Sponsoring Registrar IANA ID: 376
WHOIS Server:
Referral URL:
Domain Status: serverDeleteProhibited
Domain Status: serverRenewProhibited
Domain Status: serverTransferProhibited
Domain Status: serverUpdateProhibited
Registrant ID:IANA
Registrant Name:Internet Assigned Numbers Authority
Registrant Organization:Internet Assigned Numbers Authority (IANA)
Registrant Street: 4676 Admiralty Way
Registrant City:Marina del Rey
Registrant State/Province:CA
Registrant Postal Code:92092
Registrant Country:US
Registrant Phone:+1.3108239358
Registrant Phone Ext:
Registrant Fax: +1.3108238649
Registrant Fax Ext:
Registrant Email:res - dom@iana.org
Admin ID:IANA
Admin Name:Internet Assigned Numbers Authority
Admin Organization:Internet Assigned Numbers Authority (IANA)
Admin Street: 4676 Admiralty Way
Admin City:Marina del Rey
Admin State/Province:CA
Admin Postal Code:92092
Admin Country:US
Admin Phone:+1.3108239358
Admin Phone Ext:
Admin Fax: +1.3108238649
Admin Fax Ext:
Admin Email:res - dom@iana.org
Tech ID:IANA
Tech Name:Internet Assigned Numbers Authority
Tech Organization:Internet Assigned Numbers Authority (IANA)
Tech Street: 4676 Admiralty Way
Tech City:Marina del Rey
Tech State/Province:CA
Tech Postal Code:92092
Tech Country:US
Tech Phone:+1.3108239358
Tech Phone Ext:
Tech Fax: +1.3108238649
Tech Fax Ext:
Tech Email:res - dom@iana.org
Name Server:A.IANA - SERVERS.NET
Name Server:B.IANA - SERVERS.NET
...[SNIP]...
DNSSEC:signedDelegation
DS Created 1:2010 - 07 - 27T20:57:22Z
DS Key Tag 1:31589
Algorithm 1:8
Digest Type 1:1
Digest 1:7b8370002875dda781390a8e586c31493847d9bc
DS Maximum Signature Life 1:1814400 seconds
DS Created 2:2010 - 07 - 27T20:57:36Z
DS Key Tag 2:31589
Algorithm 2:8
Digest Type 2:2
Digest 2:3fdc4c11fa3ad3535ea8c1ce3eaf7bfa5ca9ae8a834d98fee10085cfaeb625aa
DS Maximum Signature Life 2:1814400 seconds
...[SNIP]...

其中,注册者是域名注册的实体,管理联系人用于域名的计费管理,技术联系人负责处理与域名相关的技术问题。并非所有域名都可注册,互联网号码分配机构(IANA)在 https://www.iana.org/domains/reserved 维护了一份保留域名列表。

4. 顶级域名类型

注册域名时,有多种顶级域名(TLD)可供选择,可分类如下:
- 双字母国家代码 TLD :如美国的 .us、墨西哥的 .mx,完整列表可在 http://www.iso.org/iso/country_codes.htm 查看。
- 特殊 TLD :目前仅有 .arpa,由 ICANN 管理,也称为基础设施 TLD,不可用于注册(http://icannwiki.com/index.php/.arpa)。
- 通用 TLD(gTLD) :最多为三个或更多字符,如 .com。已分配了 300 多个 gTLD,列表可在 http://newgtlds.icann.org/en/ 查看。gTLD 可进一步细分:
- 无限制的 .com、.net 和 .org,任何人都可使用。
- 有限制用途的 .edu、.gov、.int 和 .mil,需符合指定类别才能注册。
- 赞助型 gTLD,如 .aero、.coop 和 .museum,需由组织申请并满足额外要求。
- 非赞助型 gTLD,如 .biz、.info、.name 和 .pro。
- 国际化域名 :包括非拉丁字符的 TLD,如印地语、阿拉伯语等语言的域名,列表可在 https://www.icann.org/resources/pages/idn - 2012 - 02 - 25 - en 查看。

企业在选择 TLD 进行商业域名注册时需谨慎决策,常见的 .com、.net 和 .org 是不错的选择。企业尝试在所有可用 TLD 中注册其名称可能成本高昂,且部分 TLD 有注册限制。选择 TLD 后,还需确定域名名称,域名长度有限制,拉丁字符不包括 . 和 TLD 时,长度不得超过 63 个字符,更多规则可在 https://www.register.com/policy/domain - extension - rules.rcmx 查看。企业通常会选择公司名称作为面向外部互联网的域名,而内部网域名常与外部域名不同,如 Example Inc. 可能将 Example.com 用于外部网站,example.int 用于内部网。

5. 域名注册保护

域名是品牌标识的一部分,失去互联网存在可能导致业务损失。注册域名时,需关注以下重要信息:
- 注册到期日期 :使用 whois 命令可查看该日期,若到期未续费,域名可能被他人注册。
- 域名状态 :可要求注册商启用以下安全功能:
- clientTransferProhibited:防止域名被转移给他人,避免劫持。
- clientDeleteProhibited:防止域名意外删除,防范自身失误和黑客攻击。
- clientUpdateProhibited:防止域名信息被更新,若未启用此功能,黑客可能更改域名的管理联系人信息并删除域名。

不同域名状态列表可在 https://www.icann.org/en/system/files/files/epp - status - codes - 30jun11 - en.pdf 查看,其他状态代码包括:
- Active:域名的正常状态。
- RedemptionPeriod:请求删除域名后,域名进入为期五天的赎回期,期间可请求恢复域名。
- PendingRestore:若在赎回期内请求恢复域名,域名将进入待恢复阶段。

此外,使用私人注册可保护域名,其优势在于没人知道域名的最终所有者,域名的管理和技术联系人信息显示为注册商的信息,可避免被营销实体垃圾邮件骚扰。为外部域名设置额外的异地名称服务器可在企业与互联网连接中断时提供保障,如企业广域网覆盖加利福尼亚、得克萨斯和弗吉尼亚,可在这些地区之外的公共云(如 Google Cloud Platform)中托管 DNS 服务器,确保广域网中断时,公司外部 DNS 仍可解析。

6. DNS 记录类型

DNS 有多种记录类型,企业可根据需求选择,但要实现功能完备的 DNS 解决方案,需以下基本记录:
- A 记录 :将主机名映射到 IP 地址。
- PTR 记录 :将 IP 地址映射到主机名。
- MX 记录 :用于邮件记录,指示邮件发送的目标地址。
- NS 记录 :指定权威名称服务器。
- SOA 记录 :表示权威起始,包含序列号和与域名相关的其他计时器。
- TXT 记录 :存储服务器信息,如操作系统或位置。

以下是一些 DNS 资源记录的示例:

#TTL is time to live. Because we are specifying one for the zone, all records inherit this default 
value. TTL is how long the record is valid for before it is considered stale.
$TTL 1d

#the zone is dev.example.org and the contact e-mail address in case of a problem with the zone is 
admin@example.org. The serial number and other time-related values are discussed after the example 
listing.
@ IN SOA dev.example.org. admin.example.org. (
        2014082601      ;serial
        1h              ;refresh->slave refresh from master
        15m             ;retry->how long will slave try
        5d              ;expiry->expire slave data after
        5m)             ;nx->negative cache

        #two name servers
        IN NS ns01.example.org.
        IN NS ns02.example.org.
        #two mail records, the lower value one will be attempted first
        #in our case the lower value of '10' is mail01
        IN MX 10 mail01.example.org.
        IN MX 20 mail02.example.org.

#one web server with IP 10.1.1.100
#the web server has an alias calling it 'www'
#it also has a TXT record that specifies the operating system of the web server
web   IN      A       10.1.1.100
www   IN      CNAME   web
web   IN      TXT     "CentOS 6.4"

序列号是一个随机顺序号,用于让从服务器知道是否需要从主服务器拉取更新。从服务器会将自己的序列号与主服务器的进行比较,若不同则更新区域数据,序列号的最大值为 2³² - 1(即 4,294,967,295)。从服务器刷新值表示从服务器向主服务器请求更新数据的频率,RFC 1912 建议为 1200(20 分钟)到 43,200(12 小时)秒,若使用 NOTIFY 功能,该值可设为较高数值,因为主服务器有更新时会通知从服务器。重试值是从服务器在无法联系主服务器时等待重试的时间,典型值为 3 分钟到 15 分钟。过期值是从服务器在停止响应查询前保留数据的时间,每次从服务器成功联系主服务器时,过期和刷新计时器会重置。nx 是负缓存,即保留 NAME ERROR = NXDOMAIN 值的时间,最大值应小于三小时。

CNAME 记录用于创建别名,如服务器名为 web,可使用 CNAME 记录将其别名设为 www。TXT 记录可存储任意值,但需注意,若区域面向公众,不要在 TXT 字段中存储机密信息,以免被黑客利用。企业选择的时间存活(TTL)、序列号、刷新、重试、过期和 nx 值取决于 DNS 基础设施的设置和公司的技术需求。例如,频繁更改刷新和重试(RR)的公司应设置较低的 TTL 值,如在线托管提供商 Google Compute Engine 可能会有较低的 TTL,因为其每天会频繁创建和删除实例或虚拟机,需快速在 DNS 中更新;而很少添加新 RR 的企业可设置较长的 TTL。RR 值可根据主区域文件的编辑频率设置,若使用 NOTIFY 功能,可设置较高的刷新阈值;重试值可根据网络环境的稳定性设置,网络稳定且主服务器很少崩溃时,可将重试值设为较高数值;过期值应谨慎设置,尽量设高,以避免从服务器无法联系主服务器且过期值到达时停止响应查询,导致生产相关故障。完整的 DNS 记录类型列表可在 https://www.iana.org/assignments/dns - parameters/dns - parameters.xhtml#dns - parameters - 4 查看。

7. DNS 反向映射

DNS 有一个名为 PTR 的资源记录,用于将 IP 地址映射到主机名,称为反向映射。这是 DNS 中常被忽视的部分,可能会导致某些应用出现问题。反向映射与正向查找区域类似,但反向映射仅限于 .arpa 这个特殊根区域。以下是在 named.conf 中指定反向区域的示例:

#in named.conf, you can specify a reverse zone as follows
#the special .arpa root domain lets BIND know that this is a reverse zone
zone "1.1.10.in-addr.arpa" {
    type master;
    file "maps/reverse/10.1.1.rev";
};

写带有域名的主机名时,域名的根在右侧,如 www.example.org,根是 .,接着是 .org,再是 .example;而 IP 地址则相反,如 IP 地址 10.1.1.5,.arpa 和 .in - addr 之后的根是 10 而非 5。以下是一个反向区域文件的示例:

$ORIGIN 1.1.10.in-addr.arpa.
$TTL 1d
@ IN SOA example.org. admin.example.org. (
        100             ;serial
        1h              ;slave refresh from master
        15m             ;how long will slave try
        5d              ;expire slave data after
        5m)             ;negative cache

        IN NS ns01.example.org.
        IN NS ns02.example.org.

通过以上内容,我们对 DNS 在企业中的应用、域名注册、顶级域名选择、域名保护、DNS 记录类型和反向映射等方面有了全面的了解,这些知识有助于企业构建稳定、安全的 DNS 基础设施。

DNS 使用指南:从基础到高级应用

8. DNS 记录配置与管理流程

为了更清晰地展示 DNS 记录的配置与管理过程,我们可以使用 mermaid 流程图来呈现。

graph LR
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
    A(开始):::process --> B(选择 DNS 解决方案):::process
    B --> C{内部托管还是外包?}:::process
    C -->|内部托管| D{选择商业还是开源?}:::process
    C -->|外包| E(选择云提供商):::process
    D -->|商业| F(选择商业 DNS 工具):::process
    D -->|开源| G(选择开源 DNS 工具):::process
    F --> H(安装与配置商业工具):::process
    G --> I(安装与配置开源工具):::process
    E --> J(配置云提供商 DNS):::process
    H --> K(注册域名):::process
    I --> K
    J --> K
    K --> L(选择顶级域名):::process
    L --> M(确定域名名称):::process
    M --> N(设置 DNS 记录):::process
    N --> O(配置反向映射):::process
    O --> P(保护域名注册):::process
    P --> Q(监控与维护):::process
    Q --> R(结束):::process

这个流程图展示了从开始规划 DNS 系统到最终完成并进行监控维护的整个过程。下面详细解释每个步骤:
1. 选择 DNS 解决方案 :根据企业的操作系统基础、工程资源可用性和工具偏好,决定是内部托管还是外包 DNS 服务。
2. 确定托管方式
- 内部托管 :进一步选择商业或开源的 DNS 工具。
- 外包 :选择合适的云提供商。
3. 安装与配置工具 :根据所选工具进行安装和配置。
4. 注册域名 :选择 ICANN 认可的注册商进行域名注册。
5. 选择顶级域名和确定名称 :根据企业需求选择合适的顶级域名,并确定域名名称。
6. 设置 DNS 记录 :配置 A、PTR、MX、NS、SOA、TXT 等基本记录。
7. 配置反向映射 :使用 PTR 记录进行 IP 地址到主机名的反向映射。
8. 保护域名注册 :关注注册到期日期和域名状态,启用安全功能。
9. 监控与维护 :定期检查 DNS 系统,确保其正常运行。

9. DNS 记录类型对比

为了更好地理解不同 DNS 记录类型的作用和特点,我们可以通过表格进行对比。

记录类型 作用 示例 注意事项
A 将主机名映射到 IP 地址 web IN A 10.1.1.100 确保 IP 地址的准确性
PTR 将 IP 地址映射到主机名 用于反向映射,如 1.1.10.in - addr.arpa 区域的记录 配置时注意 .arpa 根区域的使用
MX 用于邮件记录,指示邮件发送的目标地址 IN MX 10 mail01.example.org. 优先级数值越低,越优先尝试
NS 指定权威名称服务器 IN NS ns01.example.org. 确保名称服务器的可用性
SOA 表示权威起始,包含序列号和与域名相关的其他计时器 @ IN SOA dev.example.org. admin.example.org. (…) 序列号、刷新、重试、过期和负缓存值的设置要合理
TXT 存储服务器信息,如操作系统或位置 web IN TXT “CentOS 6.4” 避免在面向公众的区域存储机密信息
CNAME 用于创建别名 www IN CNAME web 方便用户使用不同名称访问同一服务器
10. 实际案例分析

假设一家名为 ABC 的企业,其主要业务是在线销售商品。以下是该企业在 DNS 配置方面的实际案例:
1. 选择 DNS 解决方案 :ABC 企业拥有 Linux 操作系统基础,且倾向于使用开源工具,因此选择了 BIND 作为 DNS 工具。
2. 注册域名 :选择了 ICANN 认可的注册商,注册了域名 abc.com。
3. 顶级域名和名称确定 :选择了通用顶级域名 .com,以符合其商业性质。
4. 设置 DNS 记录
- A 记录 :将 web 服务器的主机名映射到 IP 地址 10.2.2.200,即 web IN A 10.2.2.200。
- MX 记录 :设置了两个邮件服务器,优先级分别为 10 和 20,IN MX 10 mail01.abc.com. 和 IN MX 20 mail02.abc.com.。
- TXT 记录 :在 web 服务器记录中添加了 TXT 记录,存储操作系统信息 web IN TXT “Ubuntu 20.04”。
5. 配置反向映射 :在 named.conf 中配置了反向区域,如 zone “2.2.10.in - addr.arpa” { type master; file “maps/reverse/10.2.2.rev”; };
6. 保护域名注册 :启用了 clientTransferProhibited、clientDeleteProhibited 和 clientUpdateProhibited 等安全功能,确保域名的安全。

通过以上配置,ABC 企业建立了稳定、安全的 DNS 基础设施,为其在线业务提供了可靠的支持。

11. 常见问题与解决方案

在 DNS 配置和使用过程中,可能会遇到一些常见问题,以下是一些问题及解决方案:
| 问题 | 原因 | 解决方案 |
| ---- | ---- | ---- |
| 域名无法解析 | DNS 服务器配置错误、网络问题 | 检查 DNS 服务器配置,确保名称服务器正确;检查网络连接是否正常 |
| 邮件无法接收 | MX 记录配置错误 | 检查 MX 记录的优先级和目标地址是否正确 |
| 反向映射失败 | PTR 记录配置错误、.arpa 区域设置问题 | 检查 PTR 记录的配置,确保 .arpa 根区域使用正确 |
| 域名被劫持 | 域名状态未设置保护功能 | 启用 clientTransferProhibited、clientDeleteProhibited 和 clientUpdateProhibited 等安全功能 |

12. 总结

DNS 在企业网络中起着至关重要的作用,它不仅为企业应用提供支持,还影响着企业的网络安全和业务连续性。通过本文,我们了解了 DNS 在企业中的作用、DNS 解决方案的选择、域名注册、顶级域名类型、域名注册保护、DNS 记录类型以及反向映射等方面的知识。同时,我们通过流程图、表格和实际案例分析,更深入地理解了 DNS 系统的配置和管理过程。希望这些知识能够帮助企业构建稳定、安全的 DNS 基础设施,提升企业的网络性能和竞争力。

在实际应用中,企业应根据自身的需求和特点,合理选择 DNS 解决方案,谨慎配置 DNS 记录,并加强域名保护和监控维护工作。只有这样,才能确保 DNS 系统的稳定运行,为企业的发展提供有力支持。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值