亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

DNS數(shù)據(jù)處理方法、裝置、存儲介質(zhì)及計算機(jī)設(shè)備與流程

文檔序號:11180729閱讀:605來源:國知局
DNS數(shù)據(jù)處理方法、裝置、存儲介質(zhì)及計算機(jī)設(shè)備與流程

本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù),具體涉及一種域名系統(tǒng)(dns,domainnamesystem)數(shù)據(jù)處理方法、裝置、存儲介質(zhì)及計算機(jī)設(shè)備。



背景技術(shù):

dns作為互聯(lián)網(wǎng)基礎(chǔ)設(shè)施提供的一項服務(wù),包括域名和網(wǎng)絡(luò)互聯(lián)協(xié)議(ip,internetprotocol)地址相互映射的分布式數(shù)據(jù)庫,通過實現(xiàn)域名和ip地址轉(zhuǎn)換的能力,使用戶更方便的訪問互聯(lián)網(wǎng)。隨著互聯(lián)網(wǎng)的發(fā)展,dns遇到了規(guī)模性問題,導(dǎo)致服務(wù)器負(fù)載過重、網(wǎng)絡(luò)負(fù)載過大等問題。為了提升dns服務(wù)的可靠性和服務(wù)容量,現(xiàn)有技術(shù)中的一種實現(xiàn)方案是使用anycast(anycast可稱為任播)技術(shù)實現(xiàn)負(fù)載均衡,即使用動態(tài)路由協(xié)議,把對同一個ip地址的請求發(fā)送到不同的服務(wù)器上,以分散壓力。

但是,anycast方案需要使用動態(tài)路由協(xié)議,部署相對復(fù)雜,尤其是在云環(huán)境中可能存在很多虛擬網(wǎng)絡(luò),進(jìn)一步增加了復(fù)雜度。



技術(shù)實現(xiàn)要素:

為解決現(xiàn)有存在的技術(shù)問題,本發(fā)明實施例提供了一種dns數(shù)據(jù)處理方法、裝置、存儲介質(zhì)及計算機(jī)設(shè)備。

為達(dá)到上述目的,本發(fā)明實施例的技術(shù)方案是這樣實現(xiàn)的:

本發(fā)明實施例提供了一種dns數(shù)據(jù)處理方法,所述方法包括:

獲得虛擬機(jī)發(fā)出的第一dns請求數(shù)據(jù),所述第一dns請求數(shù)據(jù)中包括第一地址信息;

如果確定所述第一地址信息與預(yù)設(shè)匹配規(guī)則匹配成功,則攔截匹配成功后的第一dns請求數(shù)據(jù);

根據(jù)攔截的匹配成功后的所述第一dns請求數(shù)據(jù),生成對應(yīng)的響應(yīng)數(shù)據(jù);

發(fā)送所述響應(yīng)數(shù)據(jù)至所述虛擬機(jī)。

上述方案中,所述如果確定所述第一地址信息與預(yù)設(shè)匹配規(guī)則匹配成功,則攔截匹配成功后的第一dns請求數(shù)據(jù),包括:

基于預(yù)設(shè)匹配規(guī)則將所述第一dns請求數(shù)據(jù)中的第一地址信息修改為第二地址信息,生成第二dns請求數(shù)據(jù),攔截所述第二dns請求數(shù)據(jù);其中,所述第一地址信息和所述第二地址信息的映射關(guān)系配置在所述預(yù)設(shè)匹配規(guī)則中。

上述方案中,所述根據(jù)攔截的匹配成功后的所述第一dns請求數(shù)據(jù),生成對應(yīng)的響應(yīng)數(shù)據(jù),包括:

根據(jù)所述第二dns請求數(shù)據(jù)生成對應(yīng)的響應(yīng)數(shù)據(jù)。

上述方案中,所述發(fā)送所述響應(yīng)數(shù)據(jù)至所述虛擬機(jī),包括:

基于所述預(yù)設(shè)匹配規(guī)則將解析獲得的響應(yīng)數(shù)據(jù)中作為源地址的所述第二地址信息修改為所述第一地址信息;

發(fā)送地址信息修改后的響應(yīng)數(shù)據(jù)至所述虛擬機(jī)。

上述方案中,所述如果確定所述第一地址信息與預(yù)設(shè)匹配規(guī)則匹配成功,則攔截匹配成功后的第一dns請求數(shù)據(jù),包括:

如果確定所述第一地址信息與預(yù)設(shè)匹配規(guī)則匹配成功,發(fā)送所述第一dns請求數(shù)據(jù)至物理機(jī)虛擬得到的虛擬網(wǎng)卡。

上述方案中,所述發(fā)送所述響應(yīng)數(shù)據(jù)至所述虛擬機(jī),包括:

將所述響應(yīng)數(shù)據(jù)發(fā)送至所述虛擬網(wǎng)卡;

接收所述虛擬網(wǎng)卡中的所述響應(yīng)數(shù)據(jù),按照所述預(yù)設(shè)匹配規(guī)則進(jìn)行匹配,匹配成功后將所述響應(yīng)數(shù)據(jù)發(fā)送至所述虛擬機(jī)。

上述方案中,所述第一地址信息包括第一目的ip地址和第一目的端口信息,所述第二地址信息包括第二目的ip地址和第二目的端口信息;

相應(yīng)的,所述將所述第一地址信息修改為第二地址信息,包括:

將所述第一地址信息中的第一目的ip地址修改為第二目的ip地址,以及將所述第一地址信息中的第一目的端口信息修改為第二目的端口信息。

本發(fā)明實施例還提供了一種dns數(shù)據(jù)處理裝置,所述裝置包括:至少一個虛擬機(jī)模塊、攔截模塊和dns服務(wù)模塊;其中,

所述虛擬機(jī)模塊,用于發(fā)出第一dns請求數(shù)據(jù);

所述攔截模塊,用于獲得所述虛擬機(jī)模塊發(fā)出的第一dns請求數(shù)據(jù),所述第一dns請求數(shù)據(jù)中包括第一地址信息;如果確定所述第一地址信息與預(yù)設(shè)匹配規(guī)則匹配成功,則攔截匹配成功后的第一dns請求數(shù)據(jù);

所述dns服務(wù)模塊,用于根據(jù)所述攔截模塊攔截的匹配成功后的所述第一dns請求數(shù)據(jù),生成對應(yīng)的響應(yīng)數(shù)據(jù);

所述攔截模塊,還用于發(fā)送所述響應(yīng)數(shù)據(jù)至所述虛擬機(jī)模塊。

本發(fā)明實施例還提供了一種計算機(jī)可讀存儲介質(zhì),所述計算機(jī)可讀存儲介質(zhì)中存儲有計算機(jī)程序,其特征在于,該程序被處理器執(zhí)行時實現(xiàn)本發(fā)明實施例所述dns數(shù)據(jù)處理方法的步驟。

本發(fā)明實施例還提供了一種計算機(jī)設(shè)備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運(yùn)行的計算機(jī)程序,其特征在于,所述處理器執(zhí)行所述程序時實現(xiàn)本發(fā)明實施例所述的dns數(shù)據(jù)處理方法的步驟。

本發(fā)明實施例提供的dns數(shù)據(jù)處理方法、裝置、存儲介質(zhì)及計算機(jī)設(shè)備,所述方法包括:監(jiān)聽虛擬得到的虛擬機(jī)發(fā)出的第一dns請求數(shù)據(jù),獲得所述第一dns請求數(shù)據(jù)的第一地址信息;如果確定所述第一地址信息與預(yù)設(shè)匹配規(guī)則匹配成功,則攔截所述第一dns請求數(shù)據(jù);根據(jù)攔截的匹配成功后的所述第一dns請求數(shù)據(jù),生成對應(yīng)的響應(yīng)數(shù)據(jù);發(fā)送所述響應(yīng)數(shù)據(jù)至所述虛擬機(jī)。采用本發(fā)明實施例的技術(shù)方案,通過在每個物理機(jī)中部署dns服務(wù)模塊使每個物理機(jī)具有dns功能,首先,部署和運(yùn)行維護(hù)簡單,對外部網(wǎng)絡(luò)無影響無依賴。第二,網(wǎng)絡(luò)負(fù)載壓力更分散,同時單節(jié)點故障影響范圍更??;在公有云環(huán)境下,可能有用戶對dns服務(wù)發(fā)起海量請求甚至攻擊,本發(fā)明實施例的技術(shù)方案可以更有效地定位和攔截。第三,服務(wù)響應(yīng)速度更快,請求無需經(jīng)過多級網(wǎng)絡(luò)設(shè)備。

附圖說明

圖1為本發(fā)明實施例的dns數(shù)據(jù)處理方法的流程示意圖一;

圖2為本發(fā)明實施例的dns數(shù)據(jù)處理方法的流程示意圖二;

圖3為本發(fā)明實施例的dns數(shù)據(jù)處理方法的流程示意圖三

圖4為本發(fā)明實施例的dns數(shù)據(jù)處理裝置的組成結(jié)構(gòu)示意圖一;

圖5為本發(fā)明實施例的dns數(shù)據(jù)處理裝置的組成結(jié)構(gòu)示意圖二。

具體實施方式

下面結(jié)合附圖及具體實施例對本發(fā)明作進(jìn)一步詳細(xì)的說明。

本發(fā)明實施例提供了一種dns數(shù)據(jù)處理方法。圖1為本發(fā)明實施例的dns數(shù)據(jù)處理方法的流程示意圖一;如圖1所示,所述方法包括:

步驟101:獲得虛擬機(jī)發(fā)出的第一dns請求數(shù)據(jù),所述第一dns請求數(shù)據(jù)包括第一地址信息。

步驟102:如果確定所述第一地址信息與預(yù)設(shè)匹配規(guī)則匹配成功,則攔截匹配成功后的第一dns請求數(shù)據(jù)。

步驟103:根據(jù)攔截的匹配成功后的所述第一dns請求數(shù)據(jù),生成對應(yīng)的響應(yīng)數(shù)據(jù)。

步驟104:發(fā)送所述響應(yīng)數(shù)據(jù)至所述虛擬機(jī)。

本發(fā)明實施例的dns數(shù)據(jù)處理方法應(yīng)用于物理機(jī)中,即本發(fā)明實施例的dns數(shù)據(jù)處理方法的執(zhí)行主體為物理機(jī);所述物理機(jī)具體可以是服務(wù)器;在一種實施方式中,所述服務(wù)器具體可以是應(yīng)用于云技術(shù)的服務(wù)器。

本實施例中,物理機(jī)中預(yù)先虛擬出至少一個虛擬機(jī),所述至少一個虛擬機(jī)運(yùn)行在物理機(jī)上,本發(fā)明實施例中的虛擬機(jī)可以是物理機(jī)虛擬出的至少一個虛擬機(jī)中的任一虛擬機(jī)。所述物理機(jī)中還可部署有dns服務(wù)模塊,所述dns服務(wù)模塊用于對虛擬機(jī)發(fā)出的dns請求數(shù)據(jù)進(jìn)行dns解析。

本實施例中,作為一種實施方式,所述物理機(jī)能夠獲得每個虛擬機(jī)發(fā)出的第一dns請求數(shù)據(jù),所述第一dns請求數(shù)據(jù)中包括第一地址信息,所述第一地址信息表征外部的dns服務(wù)器的地址;其中,所述第一地址信息包括第一目的ip地址和第一目的端口信息,可以理解為,本發(fā)明實施例所述的第一目的ip地址和第一目的端口信息均表征dns服務(wù)器的地址。

作為一種實施方式,所述物理機(jī)中可運(yùn)行開源的虛擬交換機(jī)(ovs,openvswitch)應(yīng)用,通過所述ovs應(yīng)用實現(xiàn)對所述第一dns請求數(shù)據(jù)的劫持。在具體實現(xiàn)過程中,可預(yù)先在所述ovs應(yīng)用中設(shè)置匹配規(guī)則實現(xiàn)不同的轉(zhuǎn)發(fā)行為,例如將數(shù)據(jù)轉(zhuǎn)發(fā)至特定接口,或者直接丟棄數(shù)據(jù),或者修改數(shù)據(jù)字段等等。基于此,本實施例可在所述ovs應(yīng)用中設(shè)置預(yù)設(shè)匹配規(guī)則,所述預(yù)設(shè)匹配規(guī)則中包括待劫持的第一dns請求數(shù)據(jù)中所包含的第一地址信息,所述第一地址信息具體可以是表征外部的dns服務(wù)器的地址信息;也即當(dāng)獲得滿足所述預(yù)設(shè)匹配規(guī)則中設(shè)置的地址信息(例如第一地址信息)后,確定所述第一地址信息與預(yù)設(shè)匹配規(guī)則匹配成功,進(jìn)一步攔截匹配成功后的第一dns請求數(shù)據(jù)。

另一方面,在攔截匹配成功后的第一dns請求數(shù)據(jù)后,所述物理機(jī)中部署的dns服務(wù)模塊獲得攔截的所述第一dns請求數(shù)據(jù),對所述第一dns請求數(shù)據(jù)進(jìn)行dns解析,獲得解析后的響應(yīng)數(shù)據(jù),將所述響應(yīng)數(shù)據(jù)發(fā)送至所述虛擬機(jī)中(作為一種實施方式,所述dns服務(wù)模塊可通過ovs應(yīng)用將解析后的響應(yīng)數(shù)據(jù)發(fā)送至所述虛擬機(jī))。這樣,通過對dns請求數(shù)據(jù)的劫持以及轉(zhuǎn)發(fā),使虛擬機(jī)對上述過程無感知,并且使部署在物理機(jī)中的dns服務(wù)模塊響應(yīng)虛擬機(jī)發(fā)出的dns請求。

采用本發(fā)明實施例的技術(shù)方案,通過在每個物理機(jī)中部署dns服務(wù)模塊使每個物理機(jī)具有dns解析功能,首先,部署和運(yùn)行維護(hù)簡單,對外部網(wǎng)絡(luò)無影響無依賴。第二,網(wǎng)絡(luò)負(fù)載壓力更分散,同時單節(jié)點故障影響范圍更??;在公有云環(huán)境下,可能有用戶對dns服務(wù)發(fā)起海量請求甚至攻擊,本發(fā)明實施例的技術(shù)方案可以更有效地定位和攔截。第三,服務(wù)響應(yīng)速度更快,請求無需經(jīng)過多級網(wǎng)絡(luò)設(shè)備。

上述對虛擬機(jī)發(fā)出的請求數(shù)據(jù)的劫持過程具體可通過兩種方式實現(xiàn)。作為第一種實施方式,圖2為本發(fā)明實施例的dns數(shù)據(jù)處理方法的流程示意圖二;如圖2所示,包括:

步驟201:獲得虛擬機(jī)發(fā)出的第一dns請求數(shù)據(jù),所述第一請求數(shù)據(jù)包括第一地址信息。

步驟202:將所述第一地址信息與預(yù)設(shè)匹配規(guī)則進(jìn)行匹配。

步驟203:當(dāng)匹配成功后,將所述第一dns請求數(shù)據(jù)中的第一地址信息修改為第二地址信息,生成第二dns請求數(shù)據(jù),攔截所述第二dns請求數(shù)據(jù);其中,所述第一地址信息和所述第二地址信息的映射關(guān)系配置在所述預(yù)設(shè)匹配規(guī)則中。

步驟204:根據(jù)所述第二dns請求數(shù)據(jù)生成對應(yīng)的響應(yīng)數(shù)據(jù)。

步驟205:基于所述預(yù)設(shè)匹配規(guī)則將解析獲得的響應(yīng)數(shù)據(jù)中的所述第二地址信息修改為所述第一地址信息,按照所述第一地址信息發(fā)送所述響應(yīng)數(shù)據(jù)至所述虛擬機(jī)。

本發(fā)明實施例中的匹配成功后的所述第一dns請求數(shù)據(jù),即為所述第二dns請求數(shù)據(jù),本發(fā)明實施例的dns數(shù)據(jù)處理方法應(yīng)用于物理機(jī)中,即本發(fā)明實施例的dns數(shù)據(jù)處理方法的執(zhí)行主體為物理機(jī);所述物理機(jī)具體可以是服務(wù)器;在一種實施方式中,所述服務(wù)器具體可以是應(yīng)用于云技術(shù)的服務(wù)器。

本實施例中,物理機(jī)中預(yù)先虛擬出至少一個虛擬機(jī),所述至少一個虛擬機(jī)運(yùn)行在物理機(jī)上,本發(fā)明實施例中的虛擬機(jī)可以是物理機(jī)虛擬出的至少一個虛擬機(jī)中的任一虛擬機(jī)。所述物理機(jī)中還可部署有dns服務(wù)模塊,所述dns服務(wù)模塊用于對虛擬機(jī)發(fā)出的dns請求數(shù)據(jù)進(jìn)行dns解析。

本實施例中,所述物理機(jī)能夠獲得每個虛擬機(jī)發(fā)出的第一dns請求數(shù)據(jù),所述第一dns請求數(shù)據(jù)中包括第一地址信息,所述第一地址信息表征外部的dns服務(wù)器的地址;其中,所述第一地址信息包括第一目的ip地址和第一目的端口信息,可以理解為,本發(fā)明實施例所述的第一目的ip地址和第一目的端口信息均表征dns服務(wù)器的地址。

本實施例中,對第一dns請求數(shù)據(jù)的劫持過程通過系統(tǒng)協(xié)議棧的方式實現(xiàn);具體可通過ovs應(yīng)用按照所述預(yù)設(shè)匹配規(guī)則對所述第一地址信息進(jìn)行匹配成功后,所述ovs應(yīng)用修改所述第一dns請求數(shù)據(jù)中的第一地址信息為所述第二地址信息生成第二dns請求數(shù)據(jù),所述第二地址信息表征所述物理機(jī)的地址,具體可以是所述物理機(jī)的內(nèi)核模塊的地址。其中,所述預(yù)設(shè)匹配規(guī)則中預(yù)先配置所述第一地址信息和所述第二地址信息的映射關(guān)系。所述第一地址信息包括第一目的ip地址和第一目的端口信息;所述第二地址信息包括第二目的ip地址和第二目的端口信息。

具體的,所述物理機(jī)中可運(yùn)行開源的ovs應(yīng)用,通過所述ovs應(yīng)用實現(xiàn)對所述第一dns請求數(shù)據(jù)的劫持。具體實現(xiàn)過程中,可在所述ovs應(yīng)用中設(shè)置匹配規(guī)則實現(xiàn)不同的轉(zhuǎn)發(fā)行為,例如本實施例中是修改數(shù)據(jù)字段等等。基于此,一方面,本實施例通過所述ovs應(yīng)用劫持每個虛擬機(jī)發(fā)出的滿足所述預(yù)設(shè)匹配規(guī)則中的所述第一地址信息第一dns請求數(shù)據(jù)。另一方面,所述預(yù)設(shè)匹配規(guī)則中還設(shè)置有與表征dns服務(wù)器的地址信息(即第一地址信息)相對應(yīng)的物理機(jī)的地址信息(即第二地址信息)的映射關(guān)系,所述表征dns服務(wù)器的地址信息與物理機(jī)的地址信息的映射關(guān)系表明:獲得滿足所述表征dns服務(wù)器的地址信息的第一地址信息后,將所述第一地址信息修改為表征所述物理機(jī)的地址信息的第二地址信息,從而生成包含有所述第二地址信息的第二dns請求數(shù)據(jù);基于此,劫持滿足所述第一地址信息的第一dns請求數(shù)據(jù)后,按照所述預(yù)設(shè)匹配規(guī)則中的映射關(guān)系將所述第一地址信息修改為第二地址信息,地址信息修改后的dns請求數(shù)據(jù)記為第二dns請求數(shù)據(jù),攔截所述第二dns請求數(shù)據(jù)。其中,所述第二地址信息所包括的第二目的ip地址和第二目的端口信息具體可以是物理機(jī)的ip地址和端口信息。

進(jìn)一步地,所述物理機(jī)中部署的dns服務(wù)模塊獲得所述第二dns請求數(shù)據(jù),對所述第二dns請求數(shù)據(jù)進(jìn)行dns解析,獲得解析后的響應(yīng)數(shù)據(jù),將所述響應(yīng)數(shù)據(jù)發(fā)送至所述ovs應(yīng)用,由所述ovs應(yīng)用基于所述預(yù)設(shè)匹配規(guī)則將原本響應(yīng)數(shù)據(jù)中的第二地址信息修改為所述第一地址信息,基于所述第一地址信息將所述響應(yīng)數(shù)據(jù)發(fā)送至相應(yīng)的虛擬機(jī)中。其中,作為一種實施方式,ovs應(yīng)用基于所述第二地址信息將所述第二dns請求數(shù)據(jù)發(fā)送至物理機(jī)的內(nèi)核模塊,所述內(nèi)核模塊進(jìn)一步將所述第二dns請求數(shù)據(jù)發(fā)送至dns服務(wù)模塊,由所述dns服務(wù)模塊對所述第二dns請求數(shù)據(jù)進(jìn)行dns解析并獲得響應(yīng)數(shù)據(jù);進(jìn)一步地,所述dns服務(wù)模塊將dns解析后的響應(yīng)數(shù)據(jù)發(fā)送至所述內(nèi)核模塊,由所述內(nèi)核模塊將所述響應(yīng)數(shù)據(jù)發(fā)送至ovs應(yīng)用;所述ovs應(yīng)用依據(jù)預(yù)先配置的所述映射關(guān)系將所述第二地址信息修改為所述第一地址信息,將地址信息修改后的響應(yīng)數(shù)據(jù)發(fā)送至虛擬機(jī)。這樣,通過對dns請求的劫持以及對地址信息的修改,使虛擬機(jī)對上述dns解析過程無感知,并且使部署在物理機(jī)中的dns服務(wù)模塊響應(yīng)虛擬機(jī)發(fā)出的dns請求數(shù)據(jù)。

以具體的應(yīng)用場景為例,假設(shè)要劫持的dns請求的ip地址是192.168.0.2,而物理機(jī)的ip地址是10.5.3.16,則:

1、虛擬機(jī)發(fā)出dns請求,所述dns請求中的目的ip地址是192.168.0.2。

2、ovs檢測到dns請求,按照預(yù)設(shè)匹配規(guī)則匹配所述dns請求;若所述dns請求匹配成功,則修改目的ip地址為10.5.3.16,將ip地址修改后的dns請求發(fā)送到物理機(jī)內(nèi)核;其中,所述ovs中預(yù)先設(shè)置的匹配規(guī)則至少包括:ip地址是192.168.0.2與物理機(jī)ip地址10.5.3.16的映射關(guān)系。

3、物理機(jī)內(nèi)核將dns請求發(fā)送至dns服務(wù)模塊處理;所述dns服務(wù)模塊對dns請求進(jìn)行dns解析后生成響應(yīng)數(shù)據(jù)包,將響應(yīng)數(shù)據(jù)包發(fā)送至物理機(jī)內(nèi)核,所述物理機(jī)內(nèi)核將響應(yīng)數(shù)據(jù)包發(fā)送至ovs。

4、ovs按照預(yù)設(shè)匹配規(guī)則匹配響應(yīng)數(shù)據(jù)包,將所述響應(yīng)數(shù)據(jù)包中的源ip由10.5.3.16修改為192.168.0.2,將修改后的響應(yīng)數(shù)據(jù)包發(fā)送到虛擬機(jī)。

作為第二種實施方式,圖3為本發(fā)明實施例的dns數(shù)據(jù)處理方法的流程示意圖三;如圖3所示,包括:

步驟301:獲得虛擬機(jī)發(fā)出的第一dns請求數(shù)據(jù),所述第一dns請求數(shù)據(jù)包括第一地址信息。

步驟302:將所述第一地址信息與預(yù)設(shè)匹配規(guī)則進(jìn)行匹配。

步驟303:當(dāng)匹配成功后,攔截所述第一dns請求數(shù)據(jù),發(fā)送所述第一dns請求數(shù)據(jù)至物理機(jī)虛擬得到的虛擬網(wǎng)卡。

步驟304:從所述虛擬網(wǎng)卡中讀取所述第一dns請求數(shù)據(jù),解析所述第一dns請求數(shù)據(jù),獲得包含有解析結(jié)果的響應(yīng)數(shù)據(jù)。

步驟305:將所述響應(yīng)數(shù)據(jù)寫入所述虛擬網(wǎng)卡。

步驟306:接收所述虛擬網(wǎng)卡中的所述響應(yīng)數(shù)據(jù),基于所述預(yù)設(shè)匹配規(guī)則將匹配成功后的響應(yīng)數(shù)據(jù)發(fā)送至所述虛擬機(jī)。

本發(fā)明實施例的dns數(shù)據(jù)處理方法應(yīng)用于物理機(jī)中,即本發(fā)明實施例的dns數(shù)據(jù)處理方法的執(zhí)行主體為物理機(jī);所述物理機(jī)具體可以是服務(wù)器;在一種實施方式中,所述服務(wù)器具體可以是應(yīng)用于云技術(shù)的服務(wù)器。

本實施例中,物理機(jī)中預(yù)先虛擬出至少一個虛擬機(jī),所述至少一個虛擬機(jī)運(yùn)行在物理機(jī)上,本發(fā)明實施例中的虛擬機(jī)可以是物理機(jī)虛擬出的至少一個虛擬機(jī)中的任一虛擬機(jī)。所述物理機(jī)中還可部署有dns服務(wù)模塊,所述dns服務(wù)模塊用于對虛擬機(jī)發(fā)出的dns請求數(shù)據(jù)進(jìn)行dns解析。

本實施例中,所述物理機(jī)能夠獲得每個虛擬機(jī)發(fā)出的第一dns請求數(shù)據(jù),所述第一dns請求數(shù)據(jù)中包括第一地址信息,所述第一地址信息表征外部的dns服務(wù)器的地址;其中,所述第一地址信息包括第一目的ip地址和第一目的端口信息,可以理解為,本發(fā)明實施例所述的第一目的ip地址和第一目的端口信息均表征dns服務(wù)器的地址。

本實施例中,對第一dns請求數(shù)據(jù)的劫持過程不經(jīng)過系統(tǒng)協(xié)議棧的方式實現(xiàn);具體可通過在物理機(jī)中虛擬得到虛擬網(wǎng)卡;通過ovs應(yīng)用匹配所述dns請求數(shù)據(jù)成功后,直接將所述第一dns請求數(shù)據(jù)發(fā)送至所述虛擬網(wǎng)卡中,由所述dns服務(wù)模塊直接從所述虛擬網(wǎng)卡中讀取所述第一dns請求數(shù)據(jù)并對所述第一dns請求數(shù)據(jù)進(jìn)行解析獲得包含有解析結(jié)果的響應(yīng)數(shù)據(jù)。相應(yīng)的,所述dns服務(wù)模塊將解析獲得的響應(yīng)數(shù)據(jù)寫入所述虛擬網(wǎng)卡,由所述ovs應(yīng)用接收所述虛擬網(wǎng)卡中的響應(yīng)數(shù)據(jù),并按照所述預(yù)設(shè)匹配規(guī)則將所述響應(yīng)數(shù)據(jù)發(fā)送至所述虛擬機(jī)中。

具體的,所述物理機(jī)中可運(yùn)行ovs應(yīng)用,通過所述ovs應(yīng)用實現(xiàn)對所述第一dns請求數(shù)據(jù)的劫持。具體實現(xiàn)過程中,可在所述ovs應(yīng)用中設(shè)置匹配規(guī)則實現(xiàn)不同的轉(zhuǎn)發(fā)行為,例如本實施例中是將數(shù)據(jù)轉(zhuǎn)發(fā)至特定接口,即將數(shù)據(jù)轉(zhuǎn)發(fā)至虛擬網(wǎng)卡中?;诖?,本實施例通過所述ovs應(yīng)用劫持每個虛擬機(jī)發(fā)出的滿足所述預(yù)設(shè)匹配規(guī)則中的所述第一地址信息第一dns請求數(shù)據(jù),攔截匹配成功的第一dns請求數(shù)據(jù),將匹配成功的第一dns請求數(shù)據(jù)發(fā)送至虛擬網(wǎng)卡中。

物理機(jī)中部署的dns服務(wù)模塊從所述虛擬網(wǎng)卡中讀取所述第一dns請求數(shù)據(jù),對所述第一dns請求數(shù)據(jù)進(jìn)行dns解析并獲得響應(yīng)數(shù)據(jù);進(jìn)一步地,所述dns服務(wù)模塊將dns解析后的響應(yīng)數(shù)據(jù)發(fā)送至所述虛擬網(wǎng)卡。ovs應(yīng)用從所述虛擬網(wǎng)卡中獲得響應(yīng)數(shù)據(jù),依據(jù)存儲的預(yù)設(shè)匹配規(guī)則進(jìn)行匹配,即對響應(yīng)數(shù)據(jù)中的第一地址信息進(jìn)行匹配,匹配成功后,將所述響應(yīng)數(shù)據(jù)發(fā)送至虛擬機(jī)。這樣,通過新增的虛擬網(wǎng)卡實現(xiàn)對dns請求的劫持,使虛擬機(jī)對上述dns解析過程無感知,并且使部署在物理機(jī)中的dns服務(wù)模塊響應(yīng)虛擬機(jī)發(fā)出的dns請求數(shù)據(jù)。

以具體的應(yīng)用場景為例,假設(shè)要劫持的dns請求的ip地址是192.168.0.2,則:

1、虛擬機(jī)發(fā)出dns請求,所述dns請求中的目的ip地址是192.168.0.2。

2、ovs檢測到dns請求,按照預(yù)設(shè)匹配規(guī)則匹配所述dns請求;若所述dns請求匹配成功,則將所述dns請求直接發(fā)送到虛擬網(wǎng)卡。其中,所述ovs中預(yù)先設(shè)置的匹配規(guī)則至少包括:ip地址是192.168.0.2。

3、dns服務(wù)模塊從虛擬網(wǎng)卡中讀取到所述dns請求,對dns請求進(jìn)行dns解析后生成響應(yīng)數(shù)據(jù)包,將響應(yīng)數(shù)據(jù)包發(fā)送至虛擬網(wǎng)卡。

4、ovs從所述虛擬網(wǎng)卡中接收所述響應(yīng)數(shù)據(jù)包,按照預(yù)設(shè)匹配規(guī)則匹配響應(yīng)數(shù)據(jù)包,將匹配成功的響應(yīng)數(shù)據(jù)包發(fā)送到所述虛擬機(jī)。

本發(fā)明實施例還提供了一種dns數(shù)據(jù)處理裝置。圖4為本發(fā)明實施例的dns數(shù)據(jù)處理裝置的組成結(jié)構(gòu)示意圖一;如圖4所示,所述裝置包括:至少一個虛擬機(jī)模塊41、攔截模塊42和dns服務(wù)模塊43;其中,

所述虛擬機(jī)模塊41,用于發(fā)出第一dns請求數(shù)據(jù);

所述攔截模塊42,用于獲得所述虛擬機(jī)模塊41發(fā)出的第一dns請求數(shù)據(jù),所述第一dns請求數(shù)據(jù)中包括第一地址信息;如果確定所述第一地址信息與預(yù)設(shè)匹配規(guī)則匹配成功,則攔截匹配成功后的第一dns請求數(shù)據(jù);

所述dns服務(wù)模塊43,用于根據(jù)所述攔截模塊42攔截的匹配成功后的所述第一dns請求數(shù)據(jù),生成對應(yīng)的響應(yīng)數(shù)據(jù);

所述攔截模塊42,還用于發(fā)送所述響應(yīng)數(shù)據(jù)至所述虛擬機(jī)模塊41。

上述對虛擬機(jī)模塊發(fā)出的第一dns請求數(shù)據(jù)的劫持過程具體可通過兩種方式實現(xiàn)。作為第一種實施方式,如圖4所示,所述裝置包括:至少一個虛擬機(jī)模塊41、攔截模塊42和dns服務(wù)模塊43;其中,

所述虛擬機(jī)模塊41,用于發(fā)出第一dns請求數(shù)據(jù);

所述攔截模塊42,用于獲得所述虛擬機(jī)模塊41發(fā)出的第一dns請求數(shù)據(jù),所述第一dns請求數(shù)據(jù)中包括第一地址信息;將所述第一地址信息與預(yù)設(shè)匹配規(guī)則進(jìn)行匹配;當(dāng)匹配成功后,將所述第一地址信息修改為第二地址信息,生成第二dns請求數(shù)據(jù),攔截所述第二dns請求數(shù)據(jù);其中,所述第一地址信息和所述第二地址信息的映射關(guān)系配置在所述預(yù)設(shè)匹配規(guī)則中;還用于發(fā)送所述第二dns請求數(shù)據(jù)至所述dns服務(wù)模塊43;

所述dns服務(wù)模塊43,用于根據(jù)所述第二dns請求數(shù)據(jù)生成對應(yīng)的響應(yīng)數(shù)據(jù);

所述攔截模塊42,還用于基于所述預(yù)設(shè)匹配規(guī)則將所述響應(yīng)數(shù)據(jù)中的所述第二地址信息修改為所述第一地址信息,按照所述第一地址信息發(fā)送所述響應(yīng)數(shù)據(jù)至所述虛擬機(jī)模塊41。

作為一種實施方式,所述第一地址信息包括第一目的ip地址和第一目的端口信息;所述第二地址信息包括第二目的ip地址和第二目的端口信息;

所述攔截模塊42,用于將所述第一地址信息中的第一目的ip地址修改為第二目的ip地址,以及將所述第一地址信息中的第一目的端口信息修改為第二目的端口信息。

作為第二種實施方式,圖5為本發(fā)明實施例的dns數(shù)據(jù)處理裝置的組成結(jié)構(gòu)示意圖二;如圖5所示,所述裝置包括:至少一個虛擬機(jī)模塊41、攔截模塊42、虛擬網(wǎng)卡模塊44和dns服務(wù)模塊43;其中,

所述虛擬機(jī)模塊41,用于發(fā)出第一dns請求數(shù)據(jù);

所述攔截模塊42,用于獲得所述虛擬機(jī)模塊41發(fā)出的第一dns請求數(shù)據(jù),所述第一dns請求數(shù)據(jù)中包括第一地址信息;將所述第一地址信息與預(yù)設(shè)匹配規(guī)則進(jìn)行匹配;匹配成功后,發(fā)送所述第一dns請求數(shù)據(jù)至所述虛擬網(wǎng)卡模塊44;

所述虛擬網(wǎng)卡模塊44,用于中轉(zhuǎn)所述第一dns請求數(shù)據(jù);

所述dns服務(wù)模塊43,用于從所述虛擬網(wǎng)卡模塊44中讀取所述第一dns請求數(shù)據(jù),根據(jù)所述第一dns請求數(shù)據(jù)生成對應(yīng)的響應(yīng)數(shù)據(jù),將所述響應(yīng)數(shù)據(jù)發(fā)送至所述虛擬網(wǎng)卡模塊44;

所述虛擬網(wǎng)卡模塊44,還用于中轉(zhuǎn)所述響應(yīng)數(shù)據(jù);

所述攔截模塊42,還用于接收所述虛擬網(wǎng)卡模塊44中的所述響應(yīng)數(shù)據(jù),按照所述預(yù)設(shè)匹配規(guī)則進(jìn)行匹配,匹配成功后,發(fā)送所述響應(yīng)數(shù)據(jù)至所述虛擬機(jī)模塊41。

本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,本發(fā)明實施例的dns數(shù)據(jù)處理裝置中各處理單元的功能,可參照前述dns數(shù)據(jù)處理方法的相關(guān)描述而理解,本發(fā)明實施例的dns數(shù)據(jù)處理裝置中各處理單元,可通過實現(xiàn)本發(fā)明實施例所述的功能的模擬電路而實現(xiàn),也可以通過執(zhí)行本發(fā)明實施例所述的功能的軟件在智能終端上的運(yùn)行而實現(xiàn)。

本發(fā)明實施例中,所述dns數(shù)據(jù)處理裝置在實際應(yīng)用中可應(yīng)用于物理機(jī)中;所述dns數(shù)據(jù)處理裝置中的虛擬機(jī)模塊41、攔截模塊42、dns服務(wù)模塊43和虛擬網(wǎng)卡模塊44,在實際應(yīng)用中均可由所述物理機(jī)中的中央處理器(cpu,centralprocessingunit)、數(shù)字信號處理器(dsp,digitalsignalprocessor)、微控制單元(mcu,microcontrollerunit)或可編程門陣列(fpga,field-programmablegatearray)實現(xiàn)。

本發(fā)明實施例還提供了一種計算機(jī)可讀存儲介質(zhì),所述計算機(jī)可讀存儲介質(zhì)中存儲有計算機(jī)程序,該程序被處理器執(zhí)行時實現(xiàn)本發(fā)明前述實施例所述dns數(shù)據(jù)處理方法的步驟。

本發(fā)明實施例還提供了一種計算機(jī)設(shè)備,所述計算機(jī)設(shè)備包括存儲器、處理器及存儲在存儲器上并可在處理器上運(yùn)行的計算機(jī)程序,所述處理器執(zhí)行所述程序時實現(xiàn)以下步驟:獲得虛擬機(jī)發(fā)出的第一dns請求數(shù)據(jù),所述第一dns請求數(shù)據(jù)包括第一地址信息;如果確定所述第一地址信息與預(yù)設(shè)匹配規(guī)則匹配成功,則攔截匹配成功后的第一dns請求數(shù)據(jù);根據(jù)攔截的匹配成功后的所述第一dns請求數(shù)據(jù),生成對應(yīng)的響應(yīng)數(shù)據(jù);發(fā)送所述響應(yīng)數(shù)據(jù)至所述虛擬機(jī)。

作為一種實施方式,所述處理器執(zhí)行所述程序時實現(xiàn)以下步驟:基于預(yù)設(shè)匹配規(guī)則將所述第一dns請求數(shù)據(jù)中的第一地址信息修改為第二地址信息,生成第二dns請求數(shù)據(jù),攔截所述第二dns請求數(shù)據(jù);其中,所述第一地址信息和所述第二地址信息的映射關(guān)系配置在所述預(yù)設(shè)匹配規(guī)則中。

進(jìn)一步地,所述處理器執(zhí)行所述程序時實現(xiàn)以下步驟:根據(jù)所述第二dns請求數(shù)據(jù)生成對應(yīng)的響應(yīng)數(shù)據(jù)。

進(jìn)一步地,所述處理器執(zhí)行所述程序時實現(xiàn)以下步驟:基于所述預(yù)設(shè)匹配規(guī)則將解析獲得的響應(yīng)數(shù)據(jù)中作為源地址的所述第二地址信息修改為所述第一地址信息;發(fā)送地址信息修改后的響應(yīng)數(shù)據(jù)至所述虛擬機(jī)。

作為另一種實施方式,所述處理器執(zhí)行所述程序時實現(xiàn)以下步驟:如果確定所述第一地址信息與預(yù)設(shè)匹配規(guī)則匹配成功,發(fā)送所述第一dns請求數(shù)據(jù)至物理機(jī)虛擬得到的虛擬網(wǎng)卡。

進(jìn)一步地,所述處理器執(zhí)行所述程序時實現(xiàn)以下步驟:將所述響應(yīng)數(shù)據(jù)發(fā)送至所述虛擬網(wǎng)卡;接收所述虛擬網(wǎng)卡中的所述響應(yīng)數(shù)據(jù),按照所述預(yù)設(shè)匹配規(guī)則進(jìn)行匹配,匹配成功后將所述響應(yīng)數(shù)據(jù)發(fā)送至所述虛擬機(jī)。

本實施例中,所述第一地址信息包括第一目的ip地址和第一目的端口信息,所述第二地址信息包括第二目的ip地址和第二目的端口信息;所述處理器執(zhí)行所述程序時實現(xiàn)以下步驟:將所述第一地址信息中的第一目的ip地址修改為第二目的ip地址,以及將所述第一地址信息中的第一目的端口信息修改為第二目的端口信息。

在本申請所提供的幾個實施例中,應(yīng)該理解到,所揭露的裝置和方法,可以通過其它的方式實現(xiàn)。以上所描述的設(shè)備實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,如:多個單元或組件可以結(jié)合,或可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另外,所顯示或討論的各組成部分相互之間的耦合、或直接耦合、或通信連接可以是通過一些接口,設(shè)備或單元的間接耦合或通信連接,可以是電性的、機(jī)械的或其它形式的。

上述作為分離部件說明的單元可以是、或也可以不是物理上分開的,作為單元顯示的部件可以是、或也可以不是物理單元,即可以位于一個地方,也可以分布到多個網(wǎng)絡(luò)單元上;可以根據(jù)實際的需要選擇其中的部分或全部單元來實現(xiàn)本實施例方案的目的。

另外,在本發(fā)明各實施例中的各功能單元可以全部集成在一個處理單元中,也可以是各單元分別單獨(dú)作為一個單元,也可以兩個或兩個以上單元集成在一個單元中;上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用硬件加軟件功能單元的形式實現(xiàn)。

本領(lǐng)域普通技術(shù)人員可以理解:實現(xiàn)上述方法實施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成,前述的程序可以存儲于一計算機(jī)可讀取存儲介質(zhì)中,該程序在執(zhí)行時,執(zhí)行包括上述方法實施例的步驟;而前述的存儲介質(zhì)包括:移動存儲設(shè)備、只讀存儲器(rom,read-onlymemory)、隨機(jī)存取存儲器(ram,randomaccessmemory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。

或者,本發(fā)明上述集成的單元如果以軟件功能模塊的形式實現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時,也可以存儲在一個計算機(jī)可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明實施例的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機(jī)軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機(jī)設(shè)備(可以是個人計算機(jī)、服務(wù)器、或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分。而前述的存儲介質(zhì)包括:移動存儲設(shè)備、rom、ram、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。

以上所述,僅為本發(fā)明的具體實施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以所述權(quán)利要求的保護(hù)范圍為準(zhǔn)。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1