一種實現DNS伺服器集群配置更新同步的方法與流程
2023-05-24 00:19:21 1

本發明涉及一種DNS配置更新同步的方法,特別涉及基於DNS區數據同步機制來維護多臺DNS伺服器配置信息同步的方法,屬於DNS系統配置傳輸領域。
背景技術:
計算機域名系統(Domain Name System;以下簡稱:DNS)是一個包括可以將域名與IP位址相互映射的分布式資料庫。DNS伺服器包括主伺服器(master server)和輔伺服器(secondary server)。其中,主伺服器是一個區(Zone)數據的最根本來源,它是所有輔伺服器進行區傳送的數據源;輔伺服器從主伺服器獲得全部區數據。
在現有技術中,當DNS管理員在配置伺服器集群時,可以在各臺伺服器上分別獨立創建該伺服器對應的配置文件,或者藉助某些軟體工具,例如:rsync,同步相同類型的伺服器配置文件。現有技術中存在如下問題:需要手動維護集群中每一臺DNS伺服器配置文件更新同步與一致性,操作比較繁瑣;配置沒有版本信息,不便於比較與排錯;特別對於系統中部署了異構的多種類型DNS伺服器,因為實現的差異性,伺服器配置不能互相兼容,需要人為維護多套配置文件的生成方法。
技術實現要素:
為解決上述技術問題,本發明提供了一種實現DNS伺服器集群配置更新同步的方法,該方法包括:
主DNS伺服器創建DNS配置區,並且設置允許進行配置更新同步的輔DNS伺服器列表;
所述主DNS伺服器發生配置更新時,根據設置的所述輔DNS伺服器列表,逐級向輔DNS伺服器推送配置更新的通知消息;
輔DNS伺服器響應所述通知消息,並根據所述通知消息向上級伺服器獲取更新的配置信息,將所述更新的配置信息應用於本伺服器。
優選地,所述DNS配置區中存儲DNS配置項相關的資源記錄,其中,所述配置項相關的資源記錄為指定新的資源記錄類型或者復用已有的DNS資源記錄類型。
優選地,所述輔DNS伺服器響應所述通知消息,並根據所述通知消息向上級伺服器獲取更新的配置信息,將所述更新的配置信息應用於本伺服器包括:
第一層級輔DNS伺服器獲取配置更新並應用於本伺服器後,再向第二層級輔DNS伺服器推送配置更新的通知消息。其中,所述第一層級的輔DNS伺服器是所述第二層級輔DNS伺服器的上級伺服器。
優選地,所述方法還包括:
所屬主DNS伺服器向所述第一層級輔DNS伺服器推送配置更新的通知消息後未成功獲取反饋信息時,所屬主DNS伺服器重複向所述第一層級輔DNS伺服器推送配置更新的通知消息。
優選地,所述方法還包括:
輔DNS伺服器接收主DNS伺服器發送的更新通知消息,所述通知消息包括主DNS伺服器中配置區的版本信息;
所述輔DNS伺服器根據通知消息中的版本信息,與本伺服器配置區版本進行比較,判斷是否需要向所述主DNS伺服器請求配置信息同步。
優選地,所述方法還包括:
若所述輔DNS伺服器提取出的配置區版本號高於本機版本號,則向主DNS伺服器請求本機版本號與主DNS伺服器版本號之間的增量變更,主DNS伺服器向輔DNS伺服器發送兩個版本的差異化配置。
優選地,所述方法還包括:
若所述輔DNS伺服器初次配置,則向主DNS伺服器請求全量配置,主DNS伺服器向輔DNS伺服器發送完整配置。
優選地,所述方法還包括:
輔DNS伺服器設置進行配置同步的主DNS伺服器列表,定期主動向主DNS伺服器查詢配置區的更新,將同步的最新配置信息應用於本伺服器。
優選地,所述定期主動向主DNS伺服器查詢配置區的更新包括:
所述輔DNS伺服器根據配置區SOA資源記錄中刷新時間欄位,定期向所述主伺服器查詢配置區的版本信息;
所述輔DNS伺服器根據響應中的版本信息,與本伺服器配置區版本進行比較,判斷是否需要向所述主伺服器請求配置信息同步。
優選地,所述方法還包括:
所述輔DNS伺服器接收所述輔DNS伺服器的下級伺服器發送的配置區查詢請求,並返回配置區的版本信息;
所述輔DNS伺服器接收所述輔DNS伺服器的下級伺服器發送的配置傳送請求,並將最新配置傳輸給所述下級伺服器。
與現有技術相比,本發明提供的一種實現DNS伺服器集群配置更新同步的方法,通過配置區的主輔同步機制,實現了DNS集群伺服器配置的自動更新同步,支持統一配置異構的多種類型DNS伺服器,有效地減少了管理員的勞動量,並可以通過查看版本之間的增量變化,方便地跟蹤伺服器配置的變更歷史。
附圖說明
圖1為DNS伺服器集群層級結構示意圖;
圖2為本發明一優選實施例提供的同步方法流程示意圖;
圖3為本發明一優選實施例中輔DNS伺服器同步流程示意圖;
圖4為本發明另一優選實施例提供的同步方法流程示意圖。
具體實施方式
為使本領域技術人員更好地理解本發明的技術方案,下面結合附圖和具體實施方式對本發明作進一步詳細描述。
參照圖1所示,DNS伺服器集群包括主DNS伺服器和若干輔DNS伺服器,其中主DNS伺服器是一個區(Zone)數據的最根本來源,它是所有輔DNS伺服器進行區傳送的數據源;輔DNS伺服器從主DNS伺服器獲得全部區數據。根據DNS伺服器集群層級,主DNS伺服器以下可以逐級分為第一輔DNS伺服器、第二輔DNS伺服器、第三輔DNS伺服器……第N輔DNS伺服器,第一輔DNS伺服器是第三輔DNS伺服器的上級伺服器,第六輔DNS伺服器是第三輔DNS伺服器的下級伺服器,以此類推。
參照圖2所示,在本發明一優選的實施例中提供了一種實現DNS伺服器集群配置更新同步方法,該方法包括:
S210、主DNS伺服器創建DNS配置區,並且設置允許進行配置更新同步的輔DNS伺服器列表。
其中,在DNS配置區中存儲有DNS配置項相關的資源記錄,該配置項相關的資源記錄可以是指定新的資源記錄類型,也可以是復用已有的DNS資源記錄類型。配置項的變更對應資源記錄的更改操作,並且當配置項變更時,配置區的版本號會進行同步變更。
允許更新同步的輔DNS伺服器列表中可以包括上述第一輔DNS伺服器至第N輔DNS伺服器中的一個或多個的組合。
S220、主DNS伺服器發生配置更新時,根據設置的輔DNS伺服器列表,逐級向輔DNS伺服器推送配置更新的通知消息。
當主DNS伺服器發生配置更新時,向第一輔DNS伺服器推送配置更新的通知消息,該通知消息中包括主DNS伺服器中配置區的版本信息。
若主DNS伺服器向第一層級輔DNS伺服器推送配置更新的通知消息後未成功獲取反饋信息,則主DNS伺服器重複向第一層級輔DNS伺服器推送配置更新的通知消息。
S230、輔DNS伺服器響應通知消息,並根據通知消息向上級伺服器獲取更新的配置信息,將更新的配置信息應用於本伺服器。
參照圖3所示,在輔DNS伺服器響應通知消息後,
輔DNS伺服器根據通知消息中的版本信息,與本伺服器配置區版本進行比較,判斷是否需要向主DNS伺服器請求配置信息同步。
若輔DNS伺服器提取出的配置區版本號高於本機版本號,則向主DNS伺服器請求本機版本號與主DNS伺服器版本號之間的增量變更,主DNS伺服器向輔DNS伺服器發送兩個版本的差異化配置。
若輔DNS伺服器初次配置,則向主DNS伺服器請求全量配置,主DNS伺服器向輔DNS伺服器發送完整配置。
在第一層級輔DNS伺服器獲取配置更新並應用於本伺服器後,再向第二層級輔DNS伺服器推送配置更新的通知消息,直至DNS伺服器集群內所有DNS伺服器都同步完成配置文件的更新。
本發明實施例的同步方法,通過配置區的主輔同步機制,實現了DNS集群伺服器配置的自動更新同步,支持統一配置異構的多種類型DNS伺服器,有效地減少了管理員的勞動量,並可以通過查看版本之間的增量變化,方便地跟蹤伺服器配置的變更歷史。
參照圖4所示,在本發明的另一優選的實施例中提供了一種實現DNS伺服器集群配置更新同步方法,該方法包括:
輔DNS伺服器設置進行配置同步的主DNS伺服器列表,定期主動向主DNS伺服器查詢配置區的更新,將同步的最新配置信息應用於本伺服器。
具體地,定期主動向主DNS伺服器查詢配置區的更新包括:
輔DNS伺服器根據配置區SOA資源記錄中刷新時間欄位,定期向主DNS伺服器查詢配置區的版本信息;
輔DNS伺服器根據響應中的版本信息,與本伺服器配置區版本進行比較,判斷是否需要向主DNS伺服器請求配置信息同步。
若提取的主DNS伺服器相應消息中的版本號高於本機版本號,則向主DNS伺服器請求本機版本號與主DNS伺服器版本號之間的增量變更,主DNS伺服器向輔DNS伺服器發送兩個版本的差異化配置。
輔DNS伺服器接收配置更新後,將最新的配置更新信息應用於本伺服器中。輔DNS伺服器接收輔DNS伺服器的下級伺服器發送的配置區查詢請求,並返回配置區的版本信息;
輔DNS伺服器接收輔DNS伺服器的下級伺服器發送的配置傳送請求,並將最新配置傳輸給下級伺服器。
本發明實施例提供的實現DNS伺服器集群配置更新同步方法,通過輔DNS伺服器設置可同步更新的主DNS伺服器列表,輔DNS伺服器可向主DNS伺服器請求同步更新配置區信息,實現了DNS伺服器集群配置的自動更新同步,支持統一配置異構的多種類型DNS伺服器,有效地減少了管理員的勞動量,並可以通過查看版本之間的增量變化,方便地跟蹤伺服器配置的變更歷史。
可以理解的是,以上實施方式僅僅是為了說明本發明的原理而採用的示例性實施方式,然而本發明並不局限於此。對於本領域內的普通技術人員而言,在不脫離本發明的精神和實質的情況下,可以做出各種變型和改進,這些變型和改進也視為本發明的保護範圍。