本發(fā)明涉及計(jì)算機(jī),特別涉及基于云邊協(xié)同的網(wǎng)絡(luò)流量鏡像導(dǎo)出方法和系統(tǒng)。
背景技術(shù):
1、隨著大數(shù)據(jù)和人工智能的發(fā)展,網(wǎng)絡(luò)流量鏡像應(yīng)運(yùn)而生,這種技術(shù)通常用于網(wǎng)絡(luò)管理和安全領(lǐng)域,可以幫助網(wǎng)絡(luò)管理員和安全專家理解和優(yōu)化網(wǎng)絡(luò)性能,檢測(cè)潛在的安全威脅。
2、目前,傳統(tǒng)的網(wǎng)絡(luò)流量鏡像導(dǎo)出是通過以下步驟實(shí)現(xiàn)的:將物理機(jī)上的虛擬網(wǎng)卡作為流量鏡像導(dǎo)出的目標(biāo)地址,直接抓取虛擬網(wǎng)卡的流量包來分析pod和虛機(jī)的網(wǎng)絡(luò)流量數(shù)據(jù)。
3、然而,傳統(tǒng)的網(wǎng)絡(luò)流量鏡像導(dǎo)出只能將物理機(jī)上的虛擬網(wǎng)卡作為流量鏡像導(dǎo)出的目標(biāo)地址,無法實(shí)現(xiàn)對(duì)容器和虛機(jī)的多方式管理,從而導(dǎo)致網(wǎng)絡(luò)流量監(jiān)控排查的安全性較低。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明實(shí)施例提供了基于云邊協(xié)同的網(wǎng)絡(luò)流量鏡像導(dǎo)出方法和系統(tǒng),可以提高網(wǎng)絡(luò)流量監(jiān)控排查的安全性。
2、第一方面,本發(fā)明實(shí)施例提供了基于云邊協(xié)同的網(wǎng)絡(luò)流量鏡像導(dǎo)出方法,該方法包括:
3、利用kube-ovn網(wǎng)絡(luò)插件將第一pod和第一虛機(jī)作為網(wǎng)絡(luò)流量鏡像的來源,其中,所述kube-ovn網(wǎng)絡(luò)插件能夠?qū)λ鼍W(wǎng)絡(luò)流量進(jìn)行鏡像導(dǎo)出;
4、確定所述網(wǎng)絡(luò)流量鏡像導(dǎo)出的目標(biāo)地址,其中,所述目標(biāo)地址包括:物理機(jī)上的虛擬網(wǎng)卡、物理機(jī)上的物理網(wǎng)卡、第二pod和第二虛機(jī)中的至少一種,所述第二pod和所述第一pod不同,所述第二虛機(jī)和所述第一虛機(jī)不同;
5、基于所述kube-ovn網(wǎng)絡(luò)插件和所述目標(biāo)地址,將來自于所述第一pod和所述第一虛機(jī)的所述網(wǎng)絡(luò)流量鏡像導(dǎo)出到所述目標(biāo)地址;
6、優(yōu)選地,
7、所述利用kube-ovn網(wǎng)絡(luò)插件將第一pod和第一虛機(jī)作為網(wǎng)絡(luò)流量鏡像的來源,包括:
8、當(dāng)所述第一pod為所述網(wǎng)絡(luò)流量鏡像的來源時(shí),利用所述第一pod確定對(duì)應(yīng)的ownerreference資源;
9、在目標(biāo)主體模板template和所述第一pod上添加第一標(biāo)簽,生成第一目標(biāo)類型,其中,所述目標(biāo)主體包括:deployment、statefulset和daemonset資源中的至少一種,所述deployment、所述statefulset和所述daemonset資源能夠生成所述第一pod,所述第一目標(biāo)類型用于反映所述第一pod的類型;
10、當(dāng)所述第一虛機(jī)為所述網(wǎng)絡(luò)流量鏡像的來源時(shí),利用所述第一虛機(jī)確定對(duì)應(yīng)的virtualmachine和virtualmachineinstance資源;
11、在所述virtualmachine和所述virtualmachineinstance資源的模板template以及第二pod上添加第二標(biāo)簽,生成第二目標(biāo)類型,其中,所述第二pod通過vm的label確定,所述第二目標(biāo)類型用于反映所述第二pod的類型;
12、將所述第一目標(biāo)類型和所述第二目標(biāo)類型功能集成包裝;
13、優(yōu)選地,
14、所述確定所述網(wǎng)絡(luò)流量鏡像導(dǎo)出的目標(biāo)地址,包括:
15、在所述網(wǎng)絡(luò)流量鏡像導(dǎo)出的所述目標(biāo)地址為所述物理機(jī)上的虛擬網(wǎng)卡時(shí),將所述網(wǎng)絡(luò)流量鏡像的來源導(dǎo)出到每個(gè)物理節(jié)點(diǎn)的所述第一目標(biāo)虛擬網(wǎng)卡上;
16、獲取所述第一目標(biāo)虛擬網(wǎng)卡的流量數(shù)據(jù)包,對(duì)所述第一pod和所述第一虛機(jī)的所述網(wǎng)絡(luò)流量數(shù)據(jù)進(jìn)行處理;
17、優(yōu)選地,
18、在所述網(wǎng)絡(luò)流量鏡像導(dǎo)出的所述目標(biāo)地址為所述物理機(jī)上的物理網(wǎng)卡時(shí),確定所述網(wǎng)絡(luò)流量鏡像導(dǎo)出的所述物理網(wǎng)卡的名稱;
19、確定所述物理網(wǎng)卡所在節(jié)點(diǎn)對(duì)應(yīng)的第一kube-ovn-cni?pod;
20、遠(yuǎn)程連接到所述第一kube-ovn-cni的pod中;
21、執(zhí)行ovs配置mirror的命令,將所述物理網(wǎng)卡作為mirror網(wǎng)卡的輸出端;
22、優(yōu)選地,
23、在所述網(wǎng)絡(luò)流量鏡像導(dǎo)出的所述目標(biāo)地址為所述第二pod時(shí),確定要導(dǎo)出的所述第二pod的名稱;
24、確定所述第二pod所在節(jié)點(diǎn)對(duì)應(yīng)的第二kube-ovn-cni?pod;
25、遠(yuǎn)程連接到所述第二kube-ovn-cni?pod中;
26、通過容器工具命令,確定所述第二pod所在節(jié)點(diǎn)對(duì)應(yīng)的容器id;
27、通過ip?address命令,確定第二目標(biāo)虛擬網(wǎng)卡,其中,所述第二目標(biāo)虛擬網(wǎng)卡含有所述容器id目標(biāo)位數(shù),所述目標(biāo)位數(shù)為前5;
28、將所述第二目標(biāo)虛擬網(wǎng)卡作為所述網(wǎng)絡(luò)流量鏡像導(dǎo)出的位置;
29、執(zhí)行ovs配置mirror的命令,將所述第二目標(biāo)虛擬網(wǎng)卡作為mirror網(wǎng)卡的輸出端;
30、優(yōu)選地,
31、在所述網(wǎng)絡(luò)流量鏡像導(dǎo)出的所述目標(biāo)地址為所述第二虛機(jī)時(shí),確定要導(dǎo)出的所述第二虛機(jī)的名稱;
32、確定所述第二虛機(jī)所在節(jié)點(diǎn)對(duì)應(yīng)的第三kube-ovn-cni?pod;
33、遠(yuǎn)程連接到所述第三kube-ovn-cni?pod中;
34、通過所述容器工具命令,確定所述第二虛機(jī)所在節(jié)點(diǎn)上對(duì)應(yīng)的容器id;
35、通過所述ip?address命令,確定第三目標(biāo)虛擬網(wǎng)卡,其中,所述第三目標(biāo)虛擬網(wǎng)卡包括所述容器id目標(biāo)位數(shù)和下劃線;
36、將所述第三目標(biāo)虛擬網(wǎng)卡作為所述網(wǎng)絡(luò)流量鏡像導(dǎo)出的位置;
37、執(zhí)行ovs配置mirror的命令,將所述第三目標(biāo)虛擬網(wǎng)卡作為mirror網(wǎng)卡的輸出端;
38、優(yōu)選地,
39、在所述將所述第二目標(biāo)虛擬網(wǎng)卡作為所述網(wǎng)絡(luò)流量鏡像導(dǎo)出的位置之后,進(jìn)一步包括:
40、將所述第二目標(biāo)虛擬網(wǎng)卡的位置信息存入到所述第二kube-ovn-cni?pod的資源中;
41、優(yōu)選地,
42、在將所述第三目標(biāo)虛擬網(wǎng)卡作為所述網(wǎng)絡(luò)流量鏡像導(dǎo)出的位置之后,進(jìn)一步包括:
43、將所述第三目標(biāo)虛擬網(wǎng)卡的位置信息存入到所述第三kube-ovn-cni?pod的資源中;
44、優(yōu)選地,
45、在所述利用kube-ovn網(wǎng)絡(luò)插件將第一pod和第一虛機(jī)作為網(wǎng)絡(luò)流量鏡像的來源之前,進(jìn)一步包括:
46、在所述kube-ovn網(wǎng)絡(luò)插件的控制器監(jiān)聽到要開啟流量鏡像時(shí),增加select_src_port為列;
47、在所述kube-ovn網(wǎng)絡(luò)插件的控制器監(jiān)聽到關(guān)閉流量鏡像時(shí),刪除所述select_src_port所在列。
48、第二方面,本發(fā)明實(shí)施例提供了基于云邊協(xié)同的網(wǎng)絡(luò)流量鏡像導(dǎo)出系統(tǒng),該系統(tǒng)包括:
49、設(shè)置模塊,用于利用kube-ovn網(wǎng)絡(luò)插件將第一pod和第一虛機(jī)作為網(wǎng)絡(luò)流量鏡像的來源,其中,所述kube-ovn網(wǎng)絡(luò)插件能夠?qū)λ鼍W(wǎng)絡(luò)流量進(jìn)行鏡像導(dǎo)出;
50、確定模塊,用于確定所述網(wǎng)絡(luò)流量鏡像導(dǎo)出的目標(biāo)地址,其中,所述目標(biāo)地址包括:物理機(jī)上的虛擬網(wǎng)卡、物理機(jī)上的物理網(wǎng)卡、第二pod和第二虛機(jī)中的至少一種,所述第二pod和所述第一pod不同,所述第二虛機(jī)和所述第一虛機(jī)不同;
51、處理模塊,用于基于所述kube-ovn網(wǎng)絡(luò)插件和所述目標(biāo)地址,將來自于所述第一pod和所述第一虛機(jī)的所述網(wǎng)絡(luò)流量鏡像導(dǎo)出到所述目標(biāo)地址;
52、優(yōu)選地,
53、所述設(shè)置模塊,還用于執(zhí)行:
54、當(dāng)所述第一pod為所述網(wǎng)絡(luò)流量鏡像的來源時(shí),利用所述第一pod確定對(duì)應(yīng)的ownerreference資源;
55、在目標(biāo)主體模板template和所述第一pod上添加第一標(biāo)簽,生成第一目標(biāo)類型,其中,所述目標(biāo)主體包括:deployment、statefulset和daemonset資源中的至少一種,所述deployment、所述statefulset和所述daemonset資源能夠生成所述第一pod,所述第一目標(biāo)類型用于反映所述第一pod的類型;
56、當(dāng)所述第一虛機(jī)為所述網(wǎng)絡(luò)流量鏡像的來源時(shí),利用所述第一虛機(jī)確定對(duì)應(yīng)的virtualmachine和virtualmachineinstance資源;
57、在所述virtualmachine和所述virtualmachineinstance資源的模板template以及第二pod上添加第二標(biāo)簽,生成第二目標(biāo)類型,其中,所述第二pod通過vm的label確定,所述第二目標(biāo)類型用于反映所述第二pod的類型;
58、將所述第一目標(biāo)類型和所述第二目標(biāo)類型功能集成包裝;
59、優(yōu)選地,
60、所述確定模塊,還用于執(zhí)行:
61、在所述網(wǎng)絡(luò)流量鏡像導(dǎo)出的所述目標(biāo)地址為所述物理機(jī)上的虛擬網(wǎng)卡時(shí),將所述網(wǎng)絡(luò)流量鏡像的來源導(dǎo)出到每個(gè)物理節(jié)點(diǎn)的所述第一目標(biāo)虛擬網(wǎng)卡上;
62、獲取所述第一目標(biāo)虛擬網(wǎng)卡的流量數(shù)據(jù)包,對(duì)所述第一pod和所述第一虛機(jī)的所述網(wǎng)絡(luò)流量數(shù)據(jù)進(jìn)行處理;
63、優(yōu)選地,
64、在所述網(wǎng)絡(luò)流量鏡像導(dǎo)出的所述目標(biāo)地址為所述物理機(jī)上的物理網(wǎng)卡時(shí),確定所述網(wǎng)絡(luò)流量鏡像導(dǎo)出的所述物理網(wǎng)卡的名稱;
65、確定所述物理網(wǎng)卡所在節(jié)點(diǎn)對(duì)應(yīng)的第一kube-ovn-cni?pod;
66、遠(yuǎn)程連接到所述第一kube-ovn-cni的pod中;
67、執(zhí)行ovs配置mirror的命令,將所述物理網(wǎng)卡作為mirror網(wǎng)卡的輸出端;
68、優(yōu)選地,
69、在所述網(wǎng)絡(luò)流量鏡像導(dǎo)出的所述目標(biāo)地址為所述第二pod時(shí),確定要導(dǎo)出的所述第二pod的名稱;
70、確定所述第二pod所在節(jié)點(diǎn)對(duì)應(yīng)的第二kube-ovn-cni?pod;
71、遠(yuǎn)程連接到所述第二kube-ovn-cni?pod中;
72、通過容器工具命令,確定所述第二pod所在節(jié)點(diǎn)對(duì)應(yīng)的容器id;
73、通過ip?address命令,確定第二目標(biāo)虛擬網(wǎng)卡,其中,所述第二目標(biāo)虛擬網(wǎng)卡含有所述容器id目標(biāo)位數(shù),所述目標(biāo)位數(shù)為前5;
74、將所述第二目標(biāo)虛擬網(wǎng)卡作為所述網(wǎng)絡(luò)流量鏡像導(dǎo)出的位置;
75、執(zhí)行ovs配置mirror的命令,將所述第二目標(biāo)虛擬網(wǎng)卡作為mirror網(wǎng)卡的輸出端;
76、優(yōu)選地,
77、在所述網(wǎng)絡(luò)流量鏡像導(dǎo)出的所述目標(biāo)地址為所述第二虛機(jī)時(shí),確定要導(dǎo)出的所述第二虛機(jī)的名稱;
78、確定所述第二虛機(jī)所在節(jié)點(diǎn)對(duì)應(yīng)的第三kube-ovn-cni?pod;
79、遠(yuǎn)程連接到所述第三kube-ovn-cni?pod中;
80、通過所述容器工具命令,確定所述第二虛機(jī)所在節(jié)點(diǎn)上對(duì)應(yīng)的容器id;
81、通過所述ip?address命令,確定第三目標(biāo)虛擬網(wǎng)卡,其中,所述第三
82、目標(biāo)虛擬網(wǎng)卡包括所述容器id目標(biāo)位數(shù)和下劃線;
83、將所述第三目標(biāo)虛擬網(wǎng)卡作為所述網(wǎng)絡(luò)流量鏡像導(dǎo)出的位置;
84、執(zhí)行ovs配置mirror的命令,將所述第三目標(biāo)虛擬網(wǎng)卡作為mirror網(wǎng)卡的輸出端;
85、優(yōu)選地,
86、所述確定模塊,還用于執(zhí)行:
87、將所述第二目標(biāo)虛擬網(wǎng)卡的位置信息存入到所述第二kube-ovn-cni?pod的資源中;
88、優(yōu)選地,
89、在將所述第三目標(biāo)虛擬網(wǎng)卡作為所述網(wǎng)絡(luò)流量鏡像導(dǎo)出的位置之后,進(jìn)一步包括:
90、將所述第三目標(biāo)虛擬網(wǎng)卡的位置信息存入到所述第三kube-ovn-cni?pod的資源中;
91、優(yōu)選地,
92、在所述設(shè)置模塊之前,進(jìn)一步包括:監(jiān)聽模塊;
93、所述監(jiān)聽模塊,用于執(zhí)行:
94、在所述kube-ovn網(wǎng)絡(luò)插件的控制器監(jiān)聽到要開啟流量鏡像時(shí),增加select_src_port為列;
95、在所述kube-ovn網(wǎng)絡(luò)插件的控制器監(jiān)聽到關(guān)閉流量鏡像時(shí),刪除所述select_src_port所在列。
96、第三方面,本發(fā)明實(shí)施例提供了基于云邊協(xié)同的網(wǎng)絡(luò)流量鏡像導(dǎo)出系統(tǒng),包括:至少一個(gè)存儲(chǔ)器和至少一個(gè)處理器;
97、所述至少一個(gè)存儲(chǔ)器,用于存儲(chǔ)機(jī)器可讀程序;
98、所述至少一個(gè)處理器,用于調(diào)用所述機(jī)器可讀程序,執(zhí)行權(quán)利要求第一方面中任一所述的方法。
99、第四方面,本發(fā)明實(shí)施例提供了計(jì)算機(jī)可讀介質(zhì),所述計(jì)算機(jī)可讀介質(zhì)上存儲(chǔ)有計(jì)算機(jī)指令,所述計(jì)算機(jī)指令在被處理器執(zhí)行時(shí),使所述處理器執(zhí)行第一方面中任一所述的方法。
100、在本發(fā)明實(shí)施例中,提供了一種基于云邊協(xié)同的網(wǎng)絡(luò)流量鏡像導(dǎo)出方法。由于在云邊協(xié)同環(huán)境中的網(wǎng)絡(luò)管理也會(huì)面臨一些挑戰(zhàn),包括故障快速定位處理等,需要能夠?qū)⒖蛻舻木W(wǎng)絡(luò)數(shù)據(jù)包通過流量鏡像的方式轉(zhuǎn)發(fā)到可以定位排查的目標(biāo)地址。因此,可以利用kube-ovn網(wǎng)絡(luò)插件對(duì)容器與虛機(jī)進(jìn)行網(wǎng)絡(luò)流量鏡像導(dǎo)出,采用多種方式對(duì)容器和虛機(jī)進(jìn)行網(wǎng)絡(luò)流量鏡像管理。在現(xiàn)有將物理機(jī)上的虛擬網(wǎng)卡作為網(wǎng)絡(luò)流量鏡像導(dǎo)出的目標(biāo)地址之外,增加了將物理機(jī)上的物理網(wǎng)卡以及第二pod、第二虛機(jī)作為網(wǎng)絡(luò)流量鏡像導(dǎo)出的目標(biāo)地址,并基于kube-ovn網(wǎng)絡(luò)插件和上述目標(biāo)地址實(shí)現(xiàn)網(wǎng)絡(luò)流量的鏡像導(dǎo)出。通過采用上述技術(shù)方案,在云邊協(xié)同環(huán)境下,可以實(shí)現(xiàn)對(duì)容器和虛機(jī)的多方式流量鏡像管理,從而可以提高網(wǎng)絡(luò)流量監(jiān)控排查的安全性。