網(wǎng)絡(luò)資源的隔離方法、網(wǎng)絡(luò)資源的隔離系統(tǒng)和移動(dòng)終端的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及終端技術(shù)領(lǐng)域,具體而言,涉及一種網(wǎng)絡(luò)資源的隔離方法、一種網(wǎng)絡(luò)資源的隔離系統(tǒng)和一種移動(dòng)終端。
【背景技術(shù)】
[0002]在相關(guān)技術(shù)中,現(xiàn)有的多用戶域方案中,多個(gè)用戶域都在同一個(gè)網(wǎng)絡(luò)命名空間中,也就是說多個(gè)用戶域之間共用一套網(wǎng)絡(luò)設(shè)備,即具有相同的IP地址、路由表和路由規(guī)則,給不同用戶域之間的網(wǎng)絡(luò)差異化處理帶來了很大的困難,例如,要實(shí)現(xiàn)某個(gè)用戶域只能上固定的網(wǎng)站,或者禁止某個(gè)用戶域連接外網(wǎng),或者控制某個(gè)用戶域通過指定的網(wǎng)卡上網(wǎng),而這些情況在現(xiàn)有技術(shù)中無法得到解決。
[0003]因此,如何設(shè)計(jì)一種新的網(wǎng)絡(luò)資源的隔離方案,以實(shí)現(xiàn)移動(dòng)終端的進(jìn)程的網(wǎng)絡(luò)隔離成為目前亟待解決的技術(shù)問題。
【發(fā)明內(nèi)容】
[0004]本發(fā)明正是基于上述問題,提出了一種新的網(wǎng)絡(luò)資源的隔離方案,通過將進(jìn)程劃分到不同的命名空間,可以實(shí)現(xiàn)移動(dòng)終端上的進(jìn)程的隔離上網(wǎng)模式,從而提高終端用戶的數(shù)據(jù)安全,提升了用戶體驗(yàn)。
[0005]有鑒于此,本發(fā)明提出了一種網(wǎng)絡(luò)資源的隔離方法,包括:確定所述進(jìn)程中指定進(jìn)程對應(yīng)的網(wǎng)絡(luò)通信機(jī)制,根據(jù)所述網(wǎng)絡(luò)通信機(jī)制與命名空間的映射關(guān)系將所述指定進(jìn)程設(shè)置于相應(yīng)的命名空間;確認(rèn)所述進(jìn)程中除指定進(jìn)程外的其他進(jìn)程,并將所述進(jìn)程中除指定進(jìn)程外的其他進(jìn)程設(shè)置于所述源進(jìn)程所屬的命名空間,其中,所述指定進(jìn)程所屬的命名空間作為第一類命名空間,所述源進(jìn)程所屬的命名空間作為第二類命名空間,所述第一類命名空間的進(jìn)程隔離于預(yù)置物理網(wǎng)卡的網(wǎng)絡(luò)資源,所述第二類命名空間的進(jìn)程可識(shí)別所述預(yù)置物理網(wǎng)卡的網(wǎng)絡(luò)資源。
[0006]在該技術(shù)方案中,在確定指定進(jìn)程對應(yīng)的網(wǎng)絡(luò)通信機(jī)制之后,根據(jù)網(wǎng)絡(luò)通信機(jī)制與命名空間的映射關(guān)系,將指定進(jìn)程設(shè)置在對應(yīng)的命名空間中,指定進(jìn)程之外的其它進(jìn)程默認(rèn)設(shè)置在源進(jìn)程所屬的命名空間中,并且將包含指定進(jìn)程的命名空間作為第一類命名空間,將包含其它進(jìn)程的命名空間作為第二類命名空間,使得指定進(jìn)程無法訪問預(yù)置物理網(wǎng)卡的網(wǎng)絡(luò)資源,而其他進(jìn)程可以訪問預(yù)置物理網(wǎng)卡中的資源,也即移動(dòng)終端中的進(jìn)程通過命名空間(如采用網(wǎng)絡(luò)命名空間“Network Namespace”等)實(shí)現(xiàn)了網(wǎng)絡(luò)隔離,滿足了移動(dòng)終端上的進(jìn)程對網(wǎng)絡(luò)的差異化需求,提升了用戶的體驗(yàn)。
[0007]具體地,在根據(jù)用戶指令或用戶使用習(xí)慣確定進(jìn)程需要進(jìn)行網(wǎng)絡(luò)隔離時(shí),上述網(wǎng)絡(luò)命名空間中的源進(jìn)程需要進(jìn)行網(wǎng)絡(luò)隔離的進(jìn)程進(jìn)行克隆創(chuàng)建,克隆創(chuàng)建的進(jìn)程中包括指定進(jìn)程和除指定進(jìn)程以外的其他進(jìn)程,其他進(jìn)程默認(rèn)存在于源進(jìn)程所在的網(wǎng)絡(luò)命名空間中,對于預(yù)置物理網(wǎng)卡是可見的,而指定進(jìn)程對于預(yù)置物理網(wǎng)卡是透明的。
[0008]在上述技術(shù)方案中,優(yōu)選的,還包括:獲取用戶預(yù)設(shè)的網(wǎng)絡(luò)通信機(jī)制;通過所述Linux內(nèi)核的源進(jìn)程創(chuàng)建所述終端上的應(yīng)用程序?qū)?yīng)的進(jìn)程。
[0009]在該技術(shù)方案中,通過獲取用戶預(yù)設(shè)的網(wǎng)絡(luò)通信機(jī)制,能夠確定指定進(jìn)程對應(yīng)的網(wǎng)絡(luò)通信機(jī)制,從而方便地將指定進(jìn)程設(shè)置在相應(yīng)的命名空間中,并且通過Linux內(nèi)核的源進(jìn)程創(chuàng)建應(yīng)用程序?qū)?yīng)的進(jìn)程。
[0010]具體地,通過獲取用戶預(yù)設(shè)的網(wǎng)絡(luò)通信機(jī)制,即進(jìn)程A只能上固定的網(wǎng)站,進(jìn)程B禁止連接外網(wǎng),進(jìn)程C只能通過W1-Fi上網(wǎng),則Linux內(nèi)核的源進(jìn)程創(chuàng)建進(jìn)程B對應(yīng)的進(jìn)程,并放置到第一類命名空間中,使得進(jìn)程B無法訪問預(yù)置物理網(wǎng)卡的網(wǎng)絡(luò)資源,從而實(shí)現(xiàn)禁止連接外網(wǎng),進(jìn)程A和進(jìn)程C設(shè)置在第二類命名空間中,可以訪問預(yù)置物理網(wǎng)卡的網(wǎng)絡(luò)資源,從而實(shí)現(xiàn)網(wǎng)絡(luò)連接。
[0011 ] 在上述任一項(xiàng)技術(shù)方案中,優(yōu)選的,還包括:在所述第一類命名空間和所述第二類命名空間之間創(chuàng)建虛擬網(wǎng)絡(luò)設(shè)備,以實(shí)現(xiàn)所述第一類命名空間的進(jìn)程和所述第二類命名空間的進(jìn)程之間的數(shù)據(jù)交互,所述虛擬網(wǎng)絡(luò)設(shè)備包括串聯(lián)連接的第一虛擬網(wǎng)卡、第二虛擬網(wǎng)卡、第三虛擬網(wǎng)卡和第四虛擬網(wǎng)卡,其中,所述第一虛擬網(wǎng)卡連接至所述第一類命名空間,所述第四虛擬網(wǎng)卡連接至所述第二類命名空間。
[0012]在該技術(shù)方案中,虛擬網(wǎng)絡(luò)設(shè)備包括第一虛擬網(wǎng)卡、第二虛擬網(wǎng)卡、第三虛擬網(wǎng)卡和第四虛擬網(wǎng)卡,并且四個(gè)虛擬網(wǎng)卡以串聯(lián)的方式進(jìn)行連接,并且通過虛擬網(wǎng)卡將第一類命名空間和第二類命名空間連接起來,以實(shí)現(xiàn)第一類命名空間和第二類命名空間的數(shù)據(jù)交互,其中,第一類命名空間連接至虛擬網(wǎng)絡(luò)設(shè)備的第一虛擬網(wǎng)卡,第二類命名空間連接至虛擬網(wǎng)絡(luò)設(shè)備的第四虛擬網(wǎng)卡,即虛擬網(wǎng)絡(luò)設(shè)備提供了數(shù)據(jù)交互的通道。
[0013]在上述任一項(xiàng)技術(shù)方案中,優(yōu)選的,還包括:通過所述Linux內(nèi)核創(chuàng)建Linux橋(即Linux Bridge),并將所述Linux橋連接至所述第三虛擬網(wǎng)卡和所述虛擬網(wǎng)絡(luò)設(shè)備之間,以控制所述第二類命名空間中的進(jìn)程依次通過所述第四虛擬網(wǎng)卡、第三虛擬網(wǎng)卡和所述Linux橋連接至所述預(yù)置物理網(wǎng)卡。
[0014]在該技術(shù)方案中,通過Linux內(nèi)核創(chuàng)建Linux橋,并將Linux橋連接至第三虛擬網(wǎng)卡,第二類命名空間中的進(jìn)程可以依次通過第四虛擬網(wǎng)卡、第三虛擬網(wǎng)卡和Linux橋,連接至預(yù)置物理網(wǎng)卡,滿足了用戶將第二類命名空間連接至外部網(wǎng)絡(luò)的需要,提升了用戶體驗(yàn)。
[0015]在上述任一項(xiàng)技術(shù)方案中,優(yōu)選的,還包括:將所述Linux橋連接至所述第二虛擬網(wǎng)卡和所述虛擬網(wǎng)絡(luò)設(shè)備之間,以控制所述第一類命名空間中的進(jìn)程依次通過所述第一虛擬網(wǎng)卡、第二虛擬網(wǎng)卡和所述Linux橋連接至所述預(yù)置物理網(wǎng)卡。
[0016]在該技術(shù)方案中,通過Linux內(nèi)核創(chuàng)建Linux橋,并將Linux橋連接至第二虛擬網(wǎng)卡,使得第一類命名空間中的進(jìn)程可以依次通過第一虛擬網(wǎng)卡、第二虛擬網(wǎng)卡和Linux橋,連接至預(yù)置物理網(wǎng)卡,使得第一類命名空間中的進(jìn)程可以連接至外網(wǎng),滿足了用戶將第一類命名空間連接至外部網(wǎng)絡(luò)的需要,提升了用戶體驗(yàn)。
[0017]在上述任一項(xiàng)技術(shù)方案中,優(yōu)選的,所述預(yù)置物理網(wǎng)卡的網(wǎng)絡(luò)資源包括局域網(wǎng)網(wǎng)絡(luò)資源、W1-Fi網(wǎng)絡(luò)資源和蜂窩數(shù)據(jù)網(wǎng)絡(luò)資源中的至少一種。
[0018]在該技術(shù)方案中,通過在預(yù)置物理網(wǎng)卡的網(wǎng)絡(luò)資源中設(shè)置局域網(wǎng)網(wǎng)絡(luò)資源、W1-Fi網(wǎng)絡(luò)資源和蜂窩數(shù)據(jù)網(wǎng)絡(luò)資源中的一種或者多種,可以實(shí)現(xiàn)移動(dòng)終端上的進(jìn)程的隔離上網(wǎng)模式,從而提高終端用戶的數(shù)據(jù)安全。
[0019]根據(jù)本發(fā)明的第二方面,提出了一種網(wǎng)絡(luò)資源的隔離系統(tǒng),包括:設(shè)置單元,用于確定所述進(jìn)程中指定進(jìn)程對應(yīng)的網(wǎng)絡(luò)通信機(jī)制,根據(jù)所述網(wǎng)絡(luò)通信機(jī)制與命名空間的映射關(guān)系將所述指定進(jìn)程設(shè)置于相應(yīng)的命名空間;所述設(shè)置單元還用于:確認(rèn)所述進(jìn)程中除指定進(jìn)程外的其他進(jìn)程,并將所述進(jìn)程中除指定進(jìn)程外的其他進(jìn)程設(shè)置于所述源進(jìn)程所屬的命名空間,其中,所述指定進(jìn)程所屬的命名空間作為第一類命名空間,所述源進(jìn)程所屬的命名空間作為第二類命名空間,所述第一類命名空間的進(jìn)程隔離于預(yù)置物理網(wǎng)卡的網(wǎng)絡(luò)資源,所述第二類命名空間的進(jìn)程可識(shí)別所述預(yù)置物理網(wǎng)卡的網(wǎng)絡(luò)資源。
[0020]在該技術(shù)方案中,在確定指定進(jìn)程對應(yīng)的網(wǎng)絡(luò)通信機(jī)制之后,根據(jù)網(wǎng)絡(luò)通信機(jī)制與命名空間的映射關(guān)系,將指定進(jìn)程設(shè)置在對應(yīng)的命名空間中,指定進(jìn)程之外的其它進(jìn)程默認(rèn)設(shè)置在源進(jìn)程所屬的命名空間中,并且將包含指定進(jìn)程的命名空間作為第一類命名空間,將包含其它進(jìn)程的命名空間作為第二類命名空間,使得指定進(jìn)程無法訪問預(yù)置物理網(wǎng)卡的網(wǎng)絡(luò)資源,而其他進(jìn)程可以訪問預(yù)置物理網(wǎng)卡中的資源,也即移動(dòng)終端中的進(jìn)程通過命名空間(如采用網(wǎng)絡(luò)命名空間“Network Namespace”等)實(shí)現(xiàn)了網(wǎng)絡(luò)隔離,滿足了移動(dòng)終端上的進(jìn)程對網(wǎng)絡(luò)的差異化需求,提升了用戶的體驗(yàn)。
[0021]具體地,在根據(jù)用戶指令或用戶使用習(xí)慣確定進(jìn)程需要進(jìn)行網(wǎng)絡(luò)隔離時(shí),上述網(wǎng)絡(luò)命名空間中的源進(jìn)程需要進(jìn)行網(wǎng)絡(luò)隔離的進(jìn)程進(jìn)行克隆創(chuàng)建,克隆創(chuàng)建的進(jìn)程中包括指定進(jìn)程和除指定進(jìn)程以外的其他進(jìn)程,其他進(jìn)程默認(rèn)存在于源進(jìn)程所在的網(wǎng)絡(luò)命名空間中,對于預(yù)置物理網(wǎng)卡是可見的,而指定進(jìn)程對于預(yù)置物理網(wǎng)卡是透明的。
[0022]在上述技術(shù)方案中,優(yōu)選的,還包括:獲取單元,用于獲取用戶預(yù)設(shè)的網(wǎng)絡(luò)通信機(jī)制;創(chuàng)建單元,用于通過所述Linu