将主 DNS 服务器迁移到另外一个系统

这篇文章提供了 DNS 的简要概述,演示了将主 DNS 服务器迁移到另一个系统的一种方法。

Xi Chen, 软件工程师, IBM

Xi Chen 的照片Chen Xi 拥有六年的工作经验。在加入 IBM 之前,Chen 主要关注的领域是网络加速。现在,他关注 IBM i TCP/IP 应用程序开发。



Ashley Good, 软件工程师, IBM

Ashley Good 的照片Ashley Good 于 2010 年加入 IBM。她目前效力于 IBM i TCP/IP 网络开发团队。



2012 年 2 月 17 日

简介

域名系统 (DNS) 是一种分层式命名系统,基于计算机、服务或其他连接到 Internet 或专用网络的任何资源的分布式数据库而构建。

Systems Director Navigator for i 是面向 Windows 客户的一种强大图形化界面。使用 Systems Director Navigator for i,只需简单的几个步骤即可将主 DNS 服务器迁移到另一个系统。

首先,我们将介绍本文中使用的几个重要的 DNS 概念。

DNS 类型

共有两种类型的 DNS:主 DNS 和从属 DNS。总体而言,域名仅可使用一个名称服务器,即主 DNS。然而,实践证明,至少需要为一个域名分配两个名称服务器,才能确保域名随时可用。如果主名称服务器出现问题,则从属名称服务器需要能够应答针对特定域的在线请求。这种备份要求已转变为广为接受的 Internet 标准,防止域名处于离线状态。

区域和区域文件

区域文件包含 资源记录,用于描述 域或子域。区域文件的格式是由 RFC 1035 定义的 IETF 标准。区域文件主要包含以下类型的记录:

  • SOA(起始授权服务器):SOA 记录指定提供有关一个 Internet 域、域管理员的电子邮件、域序列号以及与刷新区域相关的多个计时器的权威信息的 DNS 服务器。
  • NS(名称服务器):NS 记录将一个域名映射到该域的 DNS 服务器权威列表。委托依赖于 NS 记录。
  • A:IPv4 地址记录。
  • AAAA:IPv6 地址记录。
  • CNAME(标准名称):一条 CNAME 记录使一个域名成为另一个域名的别名。别名域拥有原始域的所有子域和 DNS 记录。
  • MX(邮件交换):一条 MX 记录将一个域名映射到该域的邮件交换服务器列表。
  • PTR:一条 PTR 记录可将一个 IPv4 地址映射到该主机的标准名称。
  • TXT:一条 TXT 记录允许一名管理员在一条 DNS 记录中插入随机文本。

除此之外,SOANS 记录非常重要,在以下方法中用于将主名称服务器移动到另外一个系统。

清单 1. 示例区域文件
example.com.    IN    SOA   ns.example.com. hostmaster.example.com. (
                              2003080800 ; sn = serial number
                              172800     ; ref = refresh = 2d
                              900        ; ret = update retry = 15m
                              604800     ; ex = expiry = 1w
                              3600       ; min = minimum = 1h
                              )
                IN NS ns.example.com.
                IN NS ns1.example.com.

上述示例区域文件表明,ns.example.com 是 example.com 域的主权威服务器。每隔两天从权威服务器 'ns1' 尝试获取文件的一份副本,每隔 15 分钟重试一次,直至成功检索到 db.example.com 区域文件为止。如果 'ns1' 在一周之内无法访问主权威服务器来下载区域,则将无法再提供本区域内包含的应答。'ns1' 将在缓存内保留 1 个小时的时间。


将主 DNS 名称服务器迁移到另外一个系统

注意:假设有两个系统,第一个系统/机器正在运行原始主 DNS 服务器。第二个系统/机器将运行新的主 DNS 服务器。

第 1 步. 创建新 DNS 服务器

将一个主名称服务器迁移到第二个系统的基本流程就是在第二个机器上创建一个新的 DNS 服务器,随后导入当前主 DNS 名称服务器 DB 中的 DB 文件。

第 1.1 步。在 Systems Director Navigator for i 主页中,单击 IBM i Management 导航窗格下的 Network 项,随后在扩展选项中选择 All Tasks,或者在欢迎页面的网络选项中选择 Show All Network Tasks

图 1. Systems Director Navigator for i 主菜单 (1)
图 1. Systems Director Navigator for i 主菜单 (1)

图 1 的大图

第 1.2 步。IBM i Navigator Tasks 中,单击 Servers 的操作箭头,随后选择 Create DNS Server,打开 New DNS Name Server Configuration 向导。

图 2. 创建 DNS 服务器
图 2. 创建 DNS 服务器

图 2 的大图

第 1.3 步。填写 DNS 服务器名称(必须是惟一名称)。

图 3. 填写 DNS 服务器名称
图 3. 填写 DNS 服务器名称

图 3 的大图

第 1.4 步。选择名称服务器将侦听其查询的 IP 地址。本例选择了 All IP addresses,因此 DNS 服务器将侦听所有 IP 地址。

图 4. 侦听 IP 地址
图 4. 侦听 IP 地址

图 4 的大图

第 1.5 步。单击 Internet Roots 添加 root 名称服务器。root 名称服务器就是 域名系统root 区域 的一个 名称服务器。它直接应答 root 区域内的记录请求,应答其他请求将返回恰当的 顶级域 (TLD) 的指定 权威名称服务器 列表。通常情况下,用户不需要对 root 名称服务器执行任何额外的配置,但可以添加其他 root 名称服务器,只需单击 Add,并输入 root 名称服务器信息即可,也可使用 Import 按钮选择包含其他 root 名称服务器的一个文件。按照向导的提示,为 DNS 名称服务器配置的其余部分使用默认值。

图 5. root 服务器
图 5. root 服务器

图 5 的大图

第 1.6 步。完成上述全部步骤之后,请单击向导 Summary 页面中的 Finish。向导将表明,新的 DNS 服务器已经成功创建。

第 2 步. 导入区域数据库文件

建议在导入流程完成之前停止相关 DNS 服务器,确保已导入的 DB 文件的完整性。

第 2.1 步。使用 FTP 或其他文件传输方法,将第一台机器中主 DNS 名称服务器的相关 DB 文件传输至第二台机器上刚刚创建的新 DNS 服务器。在第一台机器上,DB 文件的位置是 /qibm/UserData/OS400/DNS/yourDNS/。在第二台机器上,DB 文件可以存储在临时文件夹中。本例中仅有一个从 chen 文件夹传入的 DB 文件 (test.com.db)。
注意:yourDNS 并非实际文件夹名称。文件夹名称应与主 DNS 名称服务器的名称相同。

第 2.2 步。返回 Systems Director Navigator for i 主页,选择 IBM i Management 导航窗格下的 Network 项。随后从扩展选项中选择 DNS Servers,或者从欢迎页面中显示的网络选项中作出选择。

图 6. System Director Navigator for i 主菜单 (2)
图 6. System Director Navigator for i 主菜单 (2)

第 2.3 步。单击刚刚创建的名称服务器的操作箭头,选择 Configuration

图 7. DNS 服务器列表
图 7. DNS 服务器列表

第 2.4 步。DNS Configuration 主菜单中,单击 File 选项的操作箭头,随后选择 Import Zone 打开 Import Zone 向导。

图 8. DNS 配置主菜单 (1)
图 8. DNS 配置主菜单 (1)

第 2.5 步。菜单的左上角是文件夹树窗口,如图 10 所示。请找到存储区域文件的文件夹,随后单击要导入的文件。文件名应显示在窗口左下角的文件名框中。确保所显示的是正确的文件,随后单击 File Open

图 9. File open
图 9. File open

第 2.6 步。填写完全限定域名 (FQDN) 字段,这应与导入区域 DB 文件中的区域名称相匹配。在本例中,FQDN 是 test.com。

图 10. 填写完全限定域名
图 10. 填写完全限定域名

第 2.7 步。为新 DNS 服务器选择一种更新方法。静态更新要求由一名管理员更新配置文件。动态更新允许经过授权的主机或应用程序(例如 DHCP)更新配置文件。通常情况下,如果在区域升级过程中发生任何异常,则这种方法与原始主名称服务器上的方法保持相同。在本例中,所选择的方法是静态更新。

图 11. 选择更新 DNS 的方法
图 11. 选择更新 DNS 的方法

图 11 的大图

第 2.8 步。完成上述全部步骤之后,请单击向导 Summary 页面中的 Finish。向导将表明,区域文件已成功导入。

第 2.9 步。如果有更多 DB 文件需要导入,请重复第 2.4 至第 2.7 步,直至导入所有必要的 DB 文件。

第 3 步. 在新的 DNS 服务器上更新区域文件内的 SOA 和 NS 记录

导入区域文件之后,将 SOA 从之前的主服务器更改为当前主机,从 NS 记录中删除之前的主服务器。在本例中,应将 SOANS 记录从 lp15ut9 更改为 lp16ut9,其中 lp15ut9 是原始主名称服务器,lp16ut9 是新的 DNS 服务器。

图 12. 原始 SOA 和 NS 记录
图 12. 原始 SOA 和 NS 记录

第 3.1 步。DNS Configuration 主菜单中,根据区域类型,单击 Forward Lookup ZonesReverse Lookup Zones 选择要修改的区域。在本例中,该区域是 test.com。

图 13. DNS 配置主菜单 (2)
图 13. DNS 配置主菜单 (2)

图 13 的大图

第 3.2 步。DNS Configuration 主菜单中,单击 File 选项的操作箭头,随后选择 Properties

图 14. DNS 配置主菜单 (3)
图 14. DNS 配置主菜单 (3)

图 14 的大图

第 3.3 步。Properties Configuration 主菜单的导航窗格中选择 Resources,如图 15 所示。

第 3.4 步。编辑之前导入的各区域文件中的 SOANS 记录。选择各记录,随后单击 Edit 来更改记录值。

图 15. 属性配置主菜单
图 15. 属性配置主菜单

图 15 的大图

第 4 步. 启动新的 DNS 服务器

使用 nslookup dig 验证新的 DNS 服务器的配置。

清单 2. 假设 DNS 主机地址为 9.5.139.251 的 Dig 示例
dig @9.5.139.251 chen.test.com

dig 命令应使用如图 16 所示的应答来做出回复。

图 16. dig 命令的结果
图 16. dig 命令的结果

在新的 DNS 服务器启动时,应确保客户端的 DNS 地址已更改。此外,如果 DHCP 使用的是 DDNS,还应确保更新 DHCP。

任何从属 DNS 服务器都需要更新为使用新服务器作为主服务器,或者将其作为额外的主服务器添加,一台从属 DNS 服务器可以拥有一个区域的多个主服务器。如果从属 DNS 服务器将新服务器作为该区域的额外主服务器添加,则新的主服务器和原始主服务器可同时运行。


结束语

本文描述了将主 DNS 服务器迁移到另一个系统的过程。尽管将主 DNS 服务器从一个系统迁移到另一个系统可以迅速实现,但原始主 DNS 服务器必须停止,直至数据库文件传输完成。从属 DNS 服务器可应答对原始主 NDS 域名的请求,在主 DNS 临时不可用的时候保持域名在线。如果仅需迁移主 DNS 服务器,那么只需使用 Systems Director Navigator for i 执行几个步骤即可完成,用户可轻松实现。这个过程不要求重新为新的 DNS 服务器创建全部区域文件,是使用来自另一个主 DNS 服务器的现有区域文件和配置创建新的 DNS 服务器的一种便捷方法,可确保将原始 DNS 服务器的现有功能复制到新的主 DNS 服务器之中。


参考资料

下面列出了一些有用的资源,供您在寻找本文中提到的某些具体信息时参考:

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=IBM i
ArticleID=794244
ArticleTitle=将主 DNS 服务器迁移到另外一个系统
publish-date=02172012