更新时间:2025-08-27 GMT+08:00

通过AD集成DNS的混合云DNS解析

应用场景

客户IDC环境部署有自己DNS服务器。他们希望在本地环境虚拟机通过自建DNS能访问华为云服务,如OBS、SMN和CES等。但是由于云环境与本地环境完全隔离,客户无法通过本地DNS服务器转发到华为云DNS服务来解析华为云云服务域名。因此,它需要一个高级配置来解析云服务域名。

为了解决上述问题,在Windows系统AD集成DNS部署的DNS服务器中开启一个有条件转发,将华为云服务域名的DNS查询从本地DNS服务器(DC01)或云上自建DNS服务器(DC02),转发到华为云集成DNS进行进一步的解析和响应。

在本实践中,我们将实现以下目标:

  • 允许使用VPC对等连接和VPN连接在多账号环境中进行资源通信。
  • 在本地环境中部署集成DNS服务器,并复制到云环境中的DNS服务器。
  • 在本地和云DNS服务器中配置条件转发器,将DNS查询转发到华为云集成DNS,用于华为云云服务域名解析。

解决方案

图1 解决方案示意图
  1. 用户将充分利用Linux BIND在混合云环境中执行域名解析。
  2. 本地和华为云环境的两个域名控制器(DC01和DC02)都将启用DNS条件转发功能。
  3. 云环境中的所有ECS实例将被设置为指向DC01和DC02(首选)作为DNS服务器。
  4. 本地环境中的所有虚拟机将设置为指向DC01(首选)和DC02作为DNS服务器。
  5. 如果账号1中的ECS01需要解析账号2中ECS02的域名,它将向账号2中的首选DNS服务器DC02发起DNS查询以获取响应。华为云区域内其他账户中的实例也会采用相同的查询流程模式。
  6. 如果ECS02需要解析华为云提供的端点服务,如OBS、SMN等,它将查询发送到DC02(首选DNS),DC02内的条件转发会识别出这是一个由另一个DNS名称服务器托管的域名,随后将其转发至华为集成DNS进行进一步解析和响应。
  7. 如果本地有VM(例如VM01)需要解析华为云提供的endpoint服务(例如OBS),则会将请求发送到DC02(首选DNS)。DC02中的条件转发将识别出这是由另一个DNS名称服务器托管的域名,然后它将转发到华为集成DNS进行进一步的解析和响应。

本实践所涵盖的本地网络环境与华为云环境中的IP地址均为示例,仅供参考使用。实际应用中,请根据真实网络规划进行部署。

准备工作

  • 您需要熟悉以下华为云基本概念:

    虚拟私有云(VPC)、子网、弹性IP、VPC对等连接、虚拟专用网络(VPN)、云解析服务(DNS)

  • 您需要熟悉以下工具的使用:

    Windows AD、Windows DNS

步骤一:配置本地DNS服务器(DC01)

  1. 远程登录待安装DC01的弹性云服务器。
  2. 设置静态IP地址。
    1. 打开“控制面板”,选择“网络和Internet > 网络和共享中心”。
    2. 在左侧导航树中,选择“更改适配器设置”。
      图2 网络和共享中心
    3. 选择以太网适配器/Wi-Fi,在弹出的对话框单击“属性”。
      图3 以太网适配器
    4. 禁用Internet协议版本6 (TCP/IPv6),开启Internet协议版本4 (TCP/IPv4)。
      图4 网络属性
    5. 打开命令提示符并运行ipconfig以获取IP配置。
      图5 Windows IP配置
    6. 使用IP地址设置首选DNS服务器,填写上一步获取的IP地址、子网掩码和默认网关。
      图6 协议版本4 (TCP/IPv4)属性
  3. 将ADDS和DNS添加到服务器。
    1. 打开服务器管理器
      图7 搜索服务器管理器
    2. 在服务器管理器控制面板的右上方,单击“管理 > 添加角色和功能”。
      图8 在服务器管理器中添加角色和功能
    3. 在添加角色和功能向导页面,单击“下一步”。
      图9 添加角色和功能向导:开始之前
    4. 继续单击“下一步”。
      图10 添加角色和功能向导:安装类型
    5. 勾选Active Directory域服务和DNS服务器,持续单击“下一步”,最后单击“安装”。
      图11 添加角色和功能向导:服务器角色
  4. 将DNS服务器提升为域控制器。
    1. 安装完成后,单击右上方的告警图标,如下图所示,然后单击“将服务器升级为域控制器”。
      图12 将服务器升级为域控制器
    2. 选择“Add a new forest”,输入根域名(示例:estdemo.local)并单击“下一步”。
      图13 Active Directory域服务配置向导:部署配置
    3. 输入目录服务还原模式 (DSRM) 密码,单击“下一步”。
      图14 Active Directory域服务配置向导:域控制器选项
    4. 继续单击“下一步”完成所有步骤,最后单击“安装”。
    5. 安装完成后,您的计算机将自动重新启动。

步骤二:配置云DNS服务器(DC02)

  1. 远程登录要安装DC02的ECS。
  2. 设置静态IP地址,具体操作请参考步骤2
  3. 添加Active Directory域服务 (ADDS)。
    1. 打开服务器管理器
      图15 搜索服务器管理器
    2. 在服务器管理器仪表板上,选择右上角的“管理 > 添加角色和功能”。
      图16 在服务器管理器中添加角色和功能
    3. 在“添加角色和功能”向导中,单击“下一步”直到步骤“服务器角色”。
    4. 在服务器角色中,选择“仅Active Directory域服务”。
      图17 选择 Active Directory 域服务
    5. 单击“下一步”完成所有后续步骤,最后单击“安装”。
  4. 将DNS服务器提升为域控制器DC02
    1. 安装完成后,单击右上角的警告图标,然后单击“将此服务器提升为域控制器”。
      图18 将此服务器提升为域控制器
    2. 在“Active Directory域服务配置向导:部署配置”中,选择“将域控制器添加到现有域”作为部署操作。
    3. 单击下方的“更改”按钮以输入凭据。
      图19 Active Directory域服务配置向导:部署配置
    4. 输入凭据以登录DC01,单击“确定”,然后单击“下一步”。
      图20 登录DC01
    5. 输入目录服务还原模式 (DSRM) 密码,然后单击“下一步”。
      图21 Active Directory域服务配置向导:域控制器选项
    6. 单击“下一步”以选择DNS选项。
    7. 在“附加选项”步骤中,从“复制自”下拉菜单中选择DC01域控制器。
      图22 Active Directory域服务配置向导:其他选项
    8. 单击“下一步”完成后续步骤,然后单击“安装”。
    9. 安装完成后,您的计算机将自动重新启动。

步骤三:(可选)修复域加入时SID相同的问题

  1. 如果尝试加入的域的SID与此计算机的SID相同,则域加入可能会失败。
    图23 Active Directory域服务配置向导:结果
  2. 要解决此问题,请在命令提示符中运行以下命令:
    cd c:\windows\system32\sysprep
    Sysprep /generalize /shutdown / oobe

步骤四:将DC01复制到DC02

  1. 在服务器管理器仪表板上,选择右上角的“工具 > Active Directory站点和服务”。
    图24 服务器管理工具:Active Directory站点和服务
  2. 选择“站点 > 默认站点名称 > 服务器 > CLOUD-DC02 > NTDS设置”,在右键菜单中单击“立即复制”。
    图25 将DC01复制到DC02
  3. 选择“站点 > 默认-第一个站点名称 > 服务器 > PREM-DC01 > NTDS设置”,在右键菜单中单击“立即复制”。
    图26 将DC02复制到DC01
  4. 在DC02 DNS管理器上刷新页面,检查复制状态。如下图所示说明复制成功。
    图27 复制成功

步骤五:启用条件转发器

为了从本地环境访问华为服务端点(如OBS、SMN和CES),我们需要在DNS服务器中启用条件转发。

  1. 在DC01和DC02中配置条件转发器。
    1. 在DC01上,打开DNS管理器,右键单击“条件转发器”,然后单击“新建条件转发器”。
      图28 在DC01中添加条件转发器
    2. 在DNS域中输入myhuaweicloud.com。
    3. 输入华为云DNS服务提供的DNS服务器。

      在本实践中,我们使用亚太-新加坡区域的内网DNS地址。

      参考华为云云解析服务提供的内网DNS地址是多少?获取您所在地区的DNS服务器。

      图29 添加DNS域名和AP-Singapore DNS服务器
      图30 在DC01中成功添加条件转发器
  2. 为DC02添加条件转发器,步骤与为DC01添加条件转发器相同。
    图31 在DC02中成功添加条件转发器

配置验证

在本节中,我们将通过使用IP地址和域名配置的多账户结构来测试网络连接,该结构通过VPN连接、VPC对等连接以及配置的路由进行连接。我们还将使用nslookup命令来测试访问华为云云服务(如OBS、SMN和CES)的终端节点连接情况。

您可参考下文的测试场景和结果。

  1. 使用ping命令验证ECS01到VM01和ECS02的连通性。
    1. 使用IP地址进行ping。
      图32 在ECS01上ping VM01和ECS02的IP地址
    2. 使用域名进行ping。
      图33 在ECS01 Ping VM01和ECS02的域名
    3. 验证ECS01到华为云云服务的连通性。
      图34 通过ECS01访问华为云云服务的终端节点
  2. 使用ping命令继续验证VM01到ECS01和ECS02的连通性,以及VM01到华为云云服务的连通性,具体方法同上。
  3. 使用ping命令继续验证ECS02到VM01和ECS01的连通性,以及ECS02到华为云云服务的连通性,具体方法同上。

总结

在本实践中,我们学习了如何在多账户环境中部署DNS服务器,使用集成AD的DNS服务器进行DNS解析。同时,我们还配置了DNS服务器作为华为集成DNS的转发器,以解析SMN、OBS、CES等华为云云服务的终端节点,方便访问任何环境中使用的资源。