
# 通过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解决方案示意图   
![](https://support.huaweicloud.com/bestpractice-dns/zh-cn_image_0000002407570669.png "点击放大")
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进行进一步的解析和响应。
![](https://support.huaweicloud.com/bestpractice-dns/public_sys-resources/note_3.0-zh-cn.png)
本实践所涵盖的本地网络环境与华为云环境中的IP地址均为示例，仅供参考使用。实际应用中，请根据真实网络规划进行部署。
#### 准备工作
- 您需要熟悉以下华为云基本概念： 虚拟私有云（VPC）、子网、弹性IP、VPC对等连接、虚拟专用网络（VPN）、云解析服务（DNS）
  
- 您需要熟悉以下工具的使用： Windows AD、Windows DNS
  
 
#### 步骤一：配置本地DNS服务器（DC01）
1. 远程登录待安装DC01的弹性云服务器。
2. 设置静态IP地址。
   1. 打开"控制面板"，选择"网络和Internet \> 网络和共享中心"。
   
   2. 在左侧导航树中，选择"更改适配器设置"。
      图2网络和共享中心   
      ![](https://support.huaweicloud.com/bestpractice-dns/zh-cn_image_0000002373931108.png "点击放大") 
   
   3. 选择以太网适配器/Wi-Fi，在弹出的对话框单击"属性"。
      图3以太网适配器   
      ![](https://support.huaweicloud.com/bestpractice-dns/zh-cn_image_0000002407730529.png "点击放大") 
   
   4. 禁用Internet协议版本6 (TCP/IPv6)，开启Internet协议版本4 (TCP/IPv4)。
      图4网络属性   
      ![](https://support.huaweicloud.com/bestpractice-dns/zh-cn_image_0000002407570673.png) 
   
   5. 打开命令提示符并运行ipconfig以获取IP配置。
      图5Windows IP配置   
      ![](https://support.huaweicloud.com/bestpractice-dns/zh-cn_image_0000002374091012.png "点击放大") 
   
   6. 使用IP地址设置首选DNS服务器，填写上一步获取的IP地址、子网掩码和默认网关。
      图6协议版本4 (TCP/IPv4)属性   
      ![](https://support.huaweicloud.com/bestpractice-dns/zh-cn_image_0000002373931120.png "点击放大") 
    
3. 将ADDS和DNS添加到服务器。
   1. 打开服务器管理器
      图7搜索服务器管理器   
      ![](https://support.huaweicloud.com/bestpractice-dns/zh-cn_image_0000002407730537.png) 
   
   2. 在服务器管理器控制面板的右上方，单击"管理 \> 添加角色和功能"。
      图8在服务器管理器中添加角色和功能   
      ![](https://support.huaweicloud.com/bestpractice-dns/zh-cn_image_0000002407570677.png "点击放大") 
   
   3. 在添加角色和功能向导页面，单击"下一步"。
      图9添加角色和功能向导：开始之前   
      ![](https://support.huaweicloud.com/bestpractice-dns/zh-cn_image_0000002374091020.png "点击放大") 
   
   4. 继续单击"下一步"。
      图10添加角色和功能向导：安装类型   
      ![](https://support.huaweicloud.com/bestpractice-dns/zh-cn_image_0000002373931124.png "点击放大") 
   
   5. 勾选Active Directory域服务和DNS服务器，持续单击"下一步"，最后单击"安装"。
      图11添加角色和功能向导：服务器角色   
      ![](https://support.huaweicloud.com/bestpractice-dns/zh-cn_image_0000002407730541.png "点击放大") 
    
4. 将DNS服务器提升为域控制器。
   1. 安装完成后，单击右上方的告警图标，如下图所示，然后单击"将服务器升级为域控制器"。
      图12将服务器升级为域控制器   
      ![](https://support.huaweicloud.com/bestpractice-dns/zh-cn_image_0000002407570681.png "点击放大") 
   
   2. 选择"Add a new forest"，输入根域名（示例：estdemo.local）并单击"下一步"。
      图13Active Directory域服务配置向导：部署配置   
      ![](https://support.huaweicloud.com/bestpractice-dns/zh-cn_image_0000002374091024.png "点击放大") 
   
   3. 输入目录服务还原模式 (DSRM) 密码，单击"下一步"。
      图14Active Directory域服务配置向导：域控制器选项   
      ![](https://support.huaweicloud.com/bestpractice-dns/zh-cn_image_0000002373931128.png "点击放大") 
   
   4. 继续单击"下一步"完成所有步骤，最后单击"安装"。
   
   5. 安装完成后，您的计算机将自动重新启动。
    
 
#### 步骤二：配置云DNS服务器(DC02)
1. 远程登录要安装DC02的ECS。
2. 设置静态IP地址，具体操作请参考步骤[2]。
3. 添加Active Directory域服务 (ADDS)。
   1. 打开服务器管理器
      图15搜索服务器管理器   
      ![](https://support.huaweicloud.com/bestpractice-dns/zh-cn_image_0000002407730545.png) 
   
   2. 在服务器管理器仪表板上，选择右上角的"管理 \> 添加角色和功能"。
      图16在服务器管理器中添加角色和功能   
      ![](https://support.huaweicloud.com/bestpractice-dns/zh-cn_image_0000002407570685.png "点击放大") 
   
   3. 在"添加角色和功能"向导中，单击"下一步"直到步骤"服务器角色"。
   
   4. 在服务器角色中，选择"仅Active Directory域服务"。
      图17选择 Active Directory 域服务   
      ![](https://support.huaweicloud.com/bestpractice-dns/zh-cn_image_0000002374091028.png "点击放大") 
   
   5. 单击"下一步"完成所有后续步骤，最后单击"安装"。
    
4. 将DNS服务器提升为域控制器DC02
   1. 安装完成后，单击右上角的警告图标，然后单击"将此服务器提升为域控制器"。
      图18将此服务器提升为域控制器   
      ![](https://support.huaweicloud.com/bestpractice-dns/zh-cn_image_0000002373931132.png "点击放大") 
   
   2. 在"Active Directory域服务配置向导：部署配置"中，选择"将域控制器添加到现有域"作为部署操作。
   
   3. 单击下方的"更改"按钮以输入凭据。
      图19Active Directory域服务配置向导：部署配置   
      ![](https://support.huaweicloud.com/bestpractice-dns/zh-cn_image_0000002407730549.png "点击放大") 
   
   4. 输入凭据以登录DC01，单击"确定"，然后单击"下一步"。
      图20登录DC01   
      ![](https://support.huaweicloud.com/bestpractice-dns/zh-cn_image_0000002407570689.png "点击放大") 
   
   5. 输入目录服务还原模式 (DSRM) 密码，然后单击"下一步"。
      图21Active Directory域服务配置向导：域控制器选项   
      ![](https://support.huaweicloud.com/bestpractice-dns/zh-cn_image_0000002374091032.png "点击放大") 
   
   6. 单击"下一步"以选择DNS选项。
   
   7. 在"附加选项"步骤中，从"复制自"下拉菜单中选择DC01域控制器。
      图22Active Directory域服务配置向导：其他选项   
      ![](https://support.huaweicloud.com/bestpractice-dns/zh-cn_image_0000002373931136.png "点击放大") 
   
   8. 单击"下一步"完成后续步骤，然后单击"安装"。
   
   9. 安装完成后，您的计算机将自动重新启动。
    
 
#### 步骤三：（可选）修复域加入时SID相同的问题
1. 如果尝试加入的域的SID与此计算机的SID相同，则域加入可能会失败。
   图23Active Directory域服务配置向导：结果   
   ![](https://support.huaweicloud.com/bestpractice-dns/zh-cn_image_0000002407730561.png "点击放大") 
2. 要解决此问题，请在命令提示符中运行以下命令：
   ```
   cd c:\windows\system32\sysprep
   Sysprep /generalize /shutdown / oobe
   ```
   
 
#### 步骤四：将DC01复制到DC02
1. 在服务器管理器仪表板上，选择右上角的"工具 \> Active Directory站点和服务"。
   图24服务器管理工具：Active Directory站点和服务   
   ![](https://support.huaweicloud.com/bestpractice-dns/zh-cn_image_0000002407570693.png "点击放大") 
2. 选择"站点 \> 默认站点名称 \> 服务器 \> CLOUD-DC02 ＞ NTDS设置"，在右键菜单中单击"立即复制"。
   图25将DC01复制到DC02   
   ![](https://support.huaweicloud.com/bestpractice-dns/zh-cn_image_0000002374091036.png "点击放大") 
3. 选择"站点 \> 默认-第一个站点名称 \> 服务器 \> PREM-DC01 ＞ NTDS设置"，在右键菜单中单击"立即复制"。
   图26将DC02复制到DC01   
   ![](https://support.huaweicloud.com/bestpractice-dns/zh-cn_image_0000002373931140.png "点击放大") 
4. 在DC02 DNS管理器上刷新页面，检查复制状态。如下图所示说明复制成功。
   图27复制成功   
   ![](https://support.huaweicloud.com/bestpractice-dns/zh-cn_image_0000002407730569.png "点击放大") 
 
#### 步骤五：启用条件转发器
为了从本地环境访问华为服务端点（如OBS、SMN和CES），我们需要在DNS服务器中启用条件转发。
1. 在DC01和DC02中配置条件转发器。
   1. 在DC01上，打开DNS管理器，右键单击"条件转发器"，然后单击"新建条件转发器"。
      图28在DC01中添加条件转发器   
      ![](https://support.huaweicloud.com/bestpractice-dns/zh-cn_image_0000002407570701.png "点击放大") 
   
   2. 在DNS域中输入myhuaweicloud.com。
   
   3. 输入华为云DNS服务提供的DNS服务器。 在本实践中，我们使用亚太-新加坡区域的内网DNS地址。
      参考[华为云云解析服务提供的内网DNS地址是多少？](https://support.huaweicloud.com/dns_faq/dns_faq_002.html)获取您所在地区的DNS服务器。
      图29添加DNS域名和AP-Singapore DNS服务器   
      ![](https://support.huaweicloud.com/bestpractice-dns/zh-cn_image_0000002374091040.png "点击放大")
      图30在DC01中成功添加条件转发器   
      ![](https://support.huaweicloud.com/bestpractice-dns/zh-cn_image_0000002373931148.png "点击放大") 
    
2. 为DC02添加条件转发器，步骤与为DC01添加条件转发器相同。
   图31在DC02中成功添加条件转发器   
   ![](https://support.huaweicloud.com/bestpractice-dns/zh-cn_image_0000002407730581.png "点击放大") 
 
#### 配置验证
在本节中，我们将通过使用IP地址和域名配置的多账户结构来测试网络连接，该结构通过VPN连接、VPC对等连接以及配置的路由进行连接。我们还将使用nslookup命令来测试访问华为云云服务（如OBS、SMN和CES）的终端节点连接情况。
您可参考下文的测试场景和结果。
1. 使用ping命令验证VM01到ECS01和ECS02的连通性。
   1. 使用IP地址进行ping。
      图32在VM01上ping ECS01和ECS02的IP地址   
      ![](https://support.huaweicloud.com/bestpractice-dns/zh-cn_image_0000002407570709.png "点击放大") 
   
   2. 使用域名进行ping。
      图33在VM01上ping ECS01和ECS02的域名   
      ![](https://support.huaweicloud.com/bestpractice-dns/zh-cn_image_0000002374091048.png "点击放大") 
   
   3. 验证VM01到华为云云服务的连通性。
      图34通过VM01访问华为云云服务的终端节点   
      ![](https://support.huaweicloud.com/bestpractice-dns/zh-cn_image_0000002373931152.png "点击放大") 
    
2. 使用ping命令验证ECS01到VM01和ECS02的连通性。
   1. 使用IP地址进行ping。
      图35在ECS01上ping VM01和ECS02的IP地址   
      ![](https://support.huaweicloud.com/bestpractice-dns/zh-cn_image_0000002407730589.png "点击放大") 
   
   2. 使用域名进行ping。
      图36在ECS01 ping VM01和ECS02的域名   
      ![](https://support.huaweicloud.com/bestpractice-dns/zh-cn_image_0000002407570713.png "点击放大") 
   
   3. 验证ECS01到华为云云服务的连通性。
      图37通过ECS01访问华为云云服务的终端节点   
      ![](https://support.huaweicloud.com/bestpractice-dns/zh-cn_image_0000002374091052.png "点击放大") 
    
3. 使用ping命令验证ECS02到VM01和ECS01的连通性。
   1. 使用IP地址进行ping。
      图38在ECS02上ping VM01和ECS01的IP地址   
      ![](https://support.huaweicloud.com/bestpractice-dns/zh-cn_image_0000002373931156.png "点击放大") 
   
   2. 使用域名进行ping。
      图39从ECS02 ping VM01和ECS01的域名   
      ![](https://support.huaweicloud.com/bestpractice-dns/zh-cn_image_0000002407730593.png "点击放大") 
   
   3. 验证ECS02到华为云云服务的连通性。
      图40通过ECS访问华为云云服务的终端节点   
      ![](https://support.huaweicloud.com/bestpractice-dns/zh-cn_image_0000002407570717.png "点击放大") 
    
 
#### 总结
在本实践中，我们学习了如何在多账户环境中部署DNS服务器，使用集成AD的DNS服务器进行DNS解析。同时，我们还配置了DNS服务器作为华为集成DNS的转发器，以解析SMN、OBS、CES等华为云云服务的终端节点，方便访问任何环境中使用的资源。
