运营商DNS劫持就是通过某种技术手段,在运营商的DNS设备上篡改域名或IP地址的正确映射关系,使域名解析到错误的IP地址上。您可以通过站点监控中的HTTP探测有效监控运营商DNS劫持,当运营商发生DNS劫持时,您会收到报警通知。
前提条件
请确保您已开通网络分析与监控。具体操作,请参见开通网络分析与监控。
请确保您已创建报警联系人和报警联系组。具体操作,请参见创建报警联系人或报警联系人组。
背景信息
运营商本地的LocalDNS(简称运营商LDNS)是服务终端设备的第一道DNS接入服务。运营商LDNS收到来自终端设备发起的域名解析查询请求,通过迭代查询请求多级的权威DNS服务器,并将最终查询结果返回给终端设备。正常的DNS解析流程如下图所示。
www.example.com A
表示查询www.example.com
的A记录。
当在运营商LDNS上出现针对特定域名(例如:www.example.com
)的劫持配置时,运营商LDNS收到来自终端设备发起的针对该域名的解析查询请求后,不再使用权威DNS服务器的应答结果,而是使用劫持配置里面的结果(一般是127.0.0.1或0.0.0.0)返回给终端设备。劫持后的DNS解析流程如下图所示。
操作步骤
登录云监控控制台。
在左侧导航栏,选择 。
在监控任务页签,单击创建任务。
在创建任务页面,设置DNS探测任务的相关信息。
基本信息:任务类型选择HTTP(S),任务名称输入http_dns_task,监控地址输入www.example.com。
在高级设置的DNS服务器页签,DNS服务器选择探测点对应的运营商DNS。
说明如果监控的域名地址解析的IP,没有匹配到DNS劫持白名单的IP中,表示该域名被劫持了,如果域名的A记录没有通过www.taobao.com.danuoyi.XXXXX.com解析则被认为是劫持。
在高级设置的DNS劫持检查页签,设置运营商DNS服务器的劫持检测规则,其他参数均使用默认值。
说明您最多可为运营商DNS服务器设置两条劫持检测规则,可对您的域名和跳转域名做对应设置。如果您域名配置的DNS解析规则为CNAME,可直接设置域名到对应CNAME的匹配规则,例如:
www.example.com:www.example.cname.com
。 如果您域名配置的DNS解析规则为A记录,可设置域名到IP地址的匹配规则,例如:www.example.com:172.16.XX.XX|172.17.XX.XX|172.18.XX.XX
。具体劫持检测规则,请根据您的DNS域名解析配置进行设置。
选择探测点:选择对应运营商的探测点,其他参数均使用默认值。
设置告警:云监控默认提供一条可用率的告警规则。由于网络抖动和运营商DNS可用性低的问题会导致可用率毛刺可能较多,为避免告警风暴,您可以将可用率设置为一个合适的数值。您还需要新建一条运营商DNS劫持告警规则,当触发告警时,提醒您及时进行处理。具体操作如下:
在设置告警规则区域,单击添加规则。
在添加规则描述面板,规则名称输入运营商DNS劫持,指标名称选择DNS劫持探测点数量,报警级别选择Critical,阈值输入1。
配置报警联系组:选择报警联系组。
单击创建。