开启辅助DNS

更新时间: 2023-10-26 09:40:55

功能简介

  • 内网DNS解析可以利用辅助DNS,将自建IDC中的DNS数据同步至阿里云上来。

  • 内网DNS解析开启辅助DNS后,解析设置中不能手动修改解析记录,所有解析记录都需要从主DNS同步过来。

  • 自建IDC的主DNS需要提供可以同步数据的公网IP地址,并开放TCP/UDP 53端口。

准备工作

开启辅助DNS,首先需要在主DNS上完成相关配置,然后在 云解析控制台 开启内网域名辅助DNS同步。由于DNS系统的实现方式多样,以下以自建DNS(BIND 9.9.4及以上版本)为例说明如何配置主DNS。

  1. 自建DNS软件配置在Bind9的配置文件“named.conf”中完成一下配置:

zone "域名(如:example.com)" IN {
    type master;
    allow-update { 127.0.0.1; };
    allow-transfer {key test_key;};
    notify explicit;
    also-notify {39.107.XXX.XXX port 53 key test_key;39.107.XXX.XXX port 53 key test_key;};
    file "zone_file";
};

配置含义说明

  • 域名(Zone) :配置您指定的域名(Zone)。

  • allow-transfer :目前支持通过TSIG进行主辅DNS间通讯,此处请指定为允许服务器通过TSIG方式来更新的KEY名称。

    说明:根据RFC标准协议,我们推荐使用事务签名(简称TSIG)来保证DNS消息的安全性。TSIG通常使用共享密钥和单向哈希函数来验证DNS消息,能较好地确保主辅DNS之间信息同步的安全性。您可以通过生成一个MD5、SHA256或SHA1型的TSIG密钥,生成后将TSIG同时配置到您的主DNS、辅DNS。

  • also-notify :当区域(ZONE)发生变更时,需要通知辅助DNS服务器IP地址,支持多个。此处请指定为云解析辅助DNS服务器,具体IP地址请查看控制台辅助DNS配置页面。

辅助DNS服务器:39.107.XXX.XXX、39.107.XXX.XXX

注意: 配置文件named.conf中完成配置更改后,需要重启应用

重启命令:rndc reconfig

生成TSIG密钥

1. 可以通过 dnssec-keygen工具生成TSIG密钥,命令如下:

dnssec-keygen -a HMAC-SHA256 -b 128 -n HOST test_key
警告

以上命令仅支持通过root用户权限操作。使用root权限具有一定的风险,如果操作不当可能导致系统稳定性问题或数据安全问题。请谨慎操作。

命令执行结果:

Generating key pair
test_key.+157+64252

命令说明:

  • -a :指定加密算法,我们支持的HMAC-MD5、HMAC-SHA1、或HMAC-SHA256。

  • -b: 指定密钥中字节的数量。密钥文件大小的选择依赖于所使用的算法,HMAC密钥必须在1和512位之间。

  • -n: 指定密钥文件的所有者类型,可选值包括:ZONE、HOST、ENTITY、和USER。通常使用HOST或ZONE。

  • test_key :指定密钥文件的名称。该名称用于使用BIND配置主DNSallow-transfer的填写,和添加主DNS信息TSIG名称的填写。

命令执行后,在当前目录下会有.key.private的文件(例如:Ktest_key.+157+64252.key Ktest_key.+157+64252.private)。.key 文件中包含了 DNS KEY record,这个record用于配置辅助DNS时,在添加主DNS信息时,用于TSIG值的填写;.private 文件中包含算法指定的字段。

2. 将生成的密钥添加到 named.conf文件中。

  • 按如下格式粘贴到 named.conf中:

key "test_key" {        algorithm hmac-sha256;       secret "密钥内容";};
  • 通过include文件方式:

需要通过include的方式添加到named.conf文件中,例如:

include "/etc/named/dns-key";

/etc/named/dns-key文件格式如下

key "test_key" {
        algorithm hmac-sha256;
        secret "密钥内容";
};

操作步骤

  1. 登录云解析DNS控制台

  2. 左侧导航栏选择 辅助DNS,然后单击 添加辅助DNS 按钮,选择需要开启辅助DNS的域名(Zone)

  3. 在辅助DNS页,完成三项配置:设置主DNS信息设置发送NOTIFY通知的服务器IP地址当辅助DNS无法连接您的主DNS时,我们将发送短信通知您的管理员。

    配置辅助DNS页面
  • 设置主DNS信息: 单击右侧添加按钮,添加主DNS记录。

参数说明:

IP地址:填写主DNS服务器IP地址,确保该地址能够被外网访问到。
TSIG密钥类型:选择合适的加密算法类型,可选值包括:SHA1、SHA256、MD5。
TSIG密钥名称:填写生成的TSIG名称。
TSIG密钥值:填写生成的TSIG值。

添加主DNS信息
  • 设置发送NOTIFY通知的服务器IP地址: 单击右侧添加按钮,输入发送通知的服务器IP地址或IP段。

IP地址:当主DNS解析记录发生变更,则需要向辅助DNS发送变更通知(基于标准NOTIFY协议),因此您需要在这里配置发送变更通知的服务器IP地址,以避免您的请求被拒绝。

IP地址

  • 勾选是否使用故障通知:开启后,当出现主辅DNS连接中断时,云解析将短信通知您。

通知

  1. 完成上述辅助DNS的配置后,您可以在辅助DNS列表页查看到辅助DNS的运行状态。

  • 辅助DNS同步开关状态为 已开启:代表您的域名已在Privatezone中开启了辅助DNS功能。

  • 连接状态显示为 阻断:则需要检查在辅助DNS页面的配置是否有误,或者主DNS服务器是否正常运转,对外IP是否可以连通。排查并修复后,再单击 连接主DNS 尝试主动连接主DNS。

阿里云首页 云解析DNS 相关技术圈