運營商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。
配置報警聯系組:選擇報警聯系組。
單擊創建。