本發(fā)明涉及網(wǎng)絡(luò)通信領(lǐng)域,具體而言,涉及一種虛擬路由器的數(shù)據(jù)處理方法、裝置和虛擬路由器。
背景技術(shù):
::虛擬路由器通常應(yīng)用于在IAAS云計(jì)算里,用于轉(zhuǎn)發(fā)與之連接的各個(gè)子網(wǎng)(包括內(nèi)網(wǎng)和公網(wǎng))間的數(shù)據(jù)包,以及內(nèi)網(wǎng)與公網(wǎng)間IP地址轉(zhuǎn)換。目前公知的基于Linux的虛擬路由器的實(shí)現(xiàn)方法是:在運(yùn)行Linux操作系統(tǒng)的物理服務(wù)器或虛擬服務(wù)器上,根據(jù)接入的子網(wǎng)在默認(rèn)的路由表(main表)中設(shè)置轉(zhuǎn)發(fā)路由規(guī)則及IP地址轉(zhuǎn)換(NAT)規(guī)則。當(dāng)虛擬路由器接收到數(shù)據(jù)包后,會(huì)按路由表里網(wǎng)絡(luò)掩碼長度從長到短的順序,根據(jù)數(shù)據(jù)包里目的IP與路由表里的規(guī)則進(jìn)行匹配,成功匹配后將數(shù)據(jù)包從匹配規(guī)則中的接口轉(zhuǎn)發(fā)出去,匹配不成功則丟棄該數(shù)據(jù)包。目的IP地址為內(nèi)網(wǎng)的數(shù)據(jù)包,根據(jù)明確的目的IP地址段從對(duì)應(yīng)的接口轉(zhuǎn)發(fā)出。因?yàn)樘摂M路由器一般需要連接到公網(wǎng)(互聯(lián)網(wǎng)),目的IP數(shù)量巨大,不可能為這些目的IP都設(shè)置1條路由規(guī)則,所以一般會(huì)設(shè)置1個(gè)默認(rèn)路由,使數(shù)據(jù)包的目的IP地址在匹配不到其它路由表規(guī)則時(shí),默認(rèn)遵從該路由轉(zhuǎn)發(fā)規(guī)則。默認(rèn)路由規(guī)則與普通路由規(guī)則的區(qū)別在于:遵從默認(rèn)路由規(guī)則時(shí),數(shù)據(jù)包需轉(zhuǎn)發(fā)到對(duì)應(yīng)的網(wǎng)關(guān)(數(shù)據(jù)包目的mac改為網(wǎng)關(guān)的mac),由網(wǎng)關(guān)進(jìn)行處理;遵從普通路由規(guī)則時(shí),并沒有對(duì)應(yīng)的網(wǎng)關(guān)。例如,表一是某虛擬路由器的路由表(main表),若數(shù)據(jù)包目的IP為172.17.0.x(1-255),則該數(shù)據(jù)包從qr1轉(zhuǎn)發(fā)出去;若數(shù)據(jù)包目的IP為172.18.0.x(1-255),則該數(shù)據(jù)包從qr2轉(zhuǎn)發(fā)出去;若數(shù)據(jù)包目的IP為202.16.1.x(1-127),則該數(shù)據(jù)包從qg轉(zhuǎn)發(fā)出去;其它數(shù)據(jù)包遵從默認(rèn)路由規(guī)則,從qg轉(zhuǎn)發(fā)至202.16.1.1。表一目前公知的基于Linux的虛擬路由器只使用了默認(rèn)的main路由表,而main路由表只會(huì)有一個(gè)“默認(rèn)”路由規(guī)則,對(duì)應(yīng)1個(gè)網(wǎng)關(guān);換言之,現(xiàn)有基于Linux的虛擬路由器只支持1個(gè)網(wǎng)關(guān)。圖1是根據(jù)現(xiàn)有技術(shù)的一種虛擬路由器的路由表及main表路由規(guī)則的示意圖。其中0、32766、32767表示路由表查找的優(yōu)先級(jí),數(shù)值越小優(yōu)先級(jí)越高;local、main、default表示虛擬路由器里的路由表名稱,local路由表里的路由規(guī)則是關(guān)于本地路由的,main是默認(rèn)使用的路由表,default是默認(rèn)路由規(guī)則的路由表。圖2是根據(jù)現(xiàn)有技術(shù)的一種虛擬路由器將數(shù)據(jù)包發(fā)送至不同的公網(wǎng)網(wǎng)關(guān)的示意圖,從圖中可以看出,因?yàn)橹皇褂昧薽ain路由表,源地址為172.17.0.10的數(shù)據(jù)包通過接口qr在路由表規(guī)則中匹配到優(yōu)先級(jí)為32766的路由表,再將源地址好轉(zhuǎn)換為對(duì)應(yīng)的公網(wǎng)IP123.103.10.1,并通過qg接口將數(shù)據(jù)包發(fā)送至目標(biāo)IP。源地址為172.17.0.11的數(shù)據(jù)包的傳輸過程與源地址為172.17.0.10的數(shù)據(jù)包的傳輸過程相同。由于現(xiàn)有技術(shù)的一個(gè)虛擬路由器里的數(shù)據(jù)包只能到達(dá)1個(gè)公網(wǎng)網(wǎng)關(guān),因此若需求將數(shù)據(jù)包轉(zhuǎn)發(fā)到2個(gè)公網(wǎng)網(wǎng)關(guān),則需要使用2個(gè)虛擬路由器。在IAAS云計(jì)算中,有2種情況下會(huì)出現(xiàn)1個(gè)數(shù)據(jù)中心多個(gè)公網(wǎng)網(wǎng)關(guān):1)在同一個(gè)數(shù)據(jù)中心里有不同的網(wǎng)絡(luò)運(yùn)營商,對(duì)應(yīng)不同的運(yùn)營商網(wǎng)關(guān);2)公網(wǎng)網(wǎng)段通常是疊加申請的,用完一段公網(wǎng)IP再申請另一段,這樣就會(huì)產(chǎn)生多個(gè)公網(wǎng)網(wǎng)段,每個(gè)公網(wǎng)網(wǎng)段對(duì)應(yīng)1個(gè)虛擬路由器網(wǎng)關(guān)。上述1個(gè)虛擬路由器無法支持多個(gè)網(wǎng)關(guān),導(dǎo)致使用不同的公網(wǎng)網(wǎng)段就要使用不同的虛擬路由器,增加了使用復(fù)雜性和管理工作量。針對(duì)現(xiàn)有技術(shù)中使用不同的公網(wǎng)網(wǎng)段需要使用不同的虛擬路由器導(dǎo)致增加了使用虛擬路由器的復(fù)雜性的問題,目前尚未提出有效的解決方案。技術(shù)實(shí)現(xiàn)要素:本發(fā)明實(shí)施例提供了一種虛擬路由器的數(shù)據(jù)處理方法、裝置和虛擬路由器,以至少解決現(xiàn)有技術(shù)中使用不同的公網(wǎng)網(wǎng)段需要使用不同的虛擬路由器導(dǎo)致增加了使用虛擬路由器的復(fù)雜性的技術(shù)問題。根據(jù)本發(fā)明實(shí)施例的一個(gè)方面,提供了一種虛擬路由器的數(shù)據(jù)處理方法,包括:以預(yù)設(shè)優(yōu)先級(jí)在虛擬路由器中添加新增路由表,每個(gè)新增路由表中包含一個(gè)與虛擬路由器公網(wǎng)網(wǎng)關(guān)對(duì)應(yīng)的路由規(guī)則;在待發(fā)送數(shù)據(jù)包的目標(biāo)地址屬于虛擬路由器公網(wǎng)的情況下,根據(jù)待發(fā)送數(shù)據(jù)包的源地址對(duì)應(yīng)的新增路由表,將待發(fā)送數(shù)據(jù)包發(fā)送至目標(biāo)地址;其中,預(yù)設(shè)優(yōu)先級(jí)低于內(nèi)網(wǎng)路由規(guī)則的優(yōu)先級(jí)且高于默認(rèn)路由規(guī)則的優(yōu)先級(jí)。進(jìn)一步地,根據(jù)待發(fā)送數(shù)據(jù)包的源地址在虛擬路由器的新增路由表中查找與源地址對(duì)應(yīng)的新增路由表;匹配與源地址對(duì)應(yīng)的新增路由表的路由規(guī)則;根據(jù)與源地址對(duì)應(yīng)的新增路由表的路由規(guī)則將待發(fā)送數(shù)據(jù)包發(fā)送至目標(biāo)地址。進(jìn)一步地,將待發(fā)送數(shù)據(jù)包的源地址轉(zhuǎn)換成對(duì)應(yīng)的公網(wǎng)地址;確定公網(wǎng)地址對(duì)應(yīng)的網(wǎng)關(guān)所屬的路由表為源地址對(duì)應(yīng)的新增路由表。進(jìn)一步地,在待發(fā)送數(shù)據(jù)的目標(biāo)地址屬于虛擬路由器內(nèi)網(wǎng)的情況下,通過內(nèi)網(wǎng)的接口將待發(fā)送數(shù)據(jù)包轉(zhuǎn)發(fā)至目標(biāo)地址。進(jìn)一步地,將所述虛擬路由器中的主表進(jìn)行拆分,其中,所述主表包括:內(nèi)網(wǎng)路由規(guī)則和默認(rèn)路由規(guī)則;將拆分得到的默認(rèn)路由規(guī)則移動(dòng)至具有預(yù)設(shè)優(yōu)先級(jí)的新路由表中。根據(jù)本發(fā)明實(shí)施例的另一方面,還提供了一種虛擬路由器的數(shù)據(jù)處理裝置,包括:添加模塊,用于以預(yù)設(shè)優(yōu)先級(jí)在虛擬路由器中添加新增路由表,每個(gè)新增路由表中包含一個(gè)與虛擬路由器公網(wǎng)網(wǎng)關(guān)對(duì)應(yīng)的路由規(guī)則;發(fā)送模塊,用于在待發(fā)送數(shù)據(jù)包的目標(biāo)地址屬于虛擬路由器公網(wǎng)的情況下,根據(jù)待發(fā)送數(shù)據(jù)包的源地址對(duì)應(yīng)的新增路由表,將待發(fā)送數(shù)據(jù)包發(fā)送至目標(biāo)地址;其中,預(yù)設(shè)優(yōu)先級(jí)低于內(nèi)網(wǎng)路由規(guī)則的優(yōu)先級(jí)且高于默認(rèn)路由規(guī)則的優(yōu)先級(jí)。進(jìn)一步地,發(fā)送模塊包括:查找子模塊,用于根據(jù)待發(fā)送數(shù)據(jù)包的源地址在虛擬路由器的新增路由表中查找與源地址對(duì)應(yīng)的新增路由表;匹配子模塊,用于匹配與源地址對(duì)應(yīng)的新增路由表的路由規(guī)則;發(fā)送子模塊,用于根據(jù)與源地址對(duì)應(yīng)的新增路由表的路由規(guī)則將待發(fā)送數(shù)據(jù)包發(fā)送至目標(biāo)地址。進(jìn)一步地,查找子模塊包括:轉(zhuǎn)換單元,用于將待發(fā)送數(shù)據(jù)包的源地址轉(zhuǎn)換成對(duì)應(yīng)的公網(wǎng)地址;確定單元,用于確定公網(wǎng)地址對(duì)應(yīng)的網(wǎng)關(guān)所屬的路由表為源地址對(duì)應(yīng)的新增路由表。進(jìn)一步地,在待發(fā)送數(shù)據(jù)的目標(biāo)地址屬于虛擬路由器內(nèi)網(wǎng)的情況下,通過內(nèi)網(wǎng)的接口將待發(fā)送數(shù)據(jù)包轉(zhuǎn)發(fā)至目標(biāo)地址。進(jìn)一步地,拆分模塊,用于將所述虛擬路由器中的主表進(jìn)行拆分,其中,所述主表包括:內(nèi)網(wǎng)路由規(guī)則和默認(rèn)路由規(guī)則;移動(dòng)模塊,用于將拆分得到的默認(rèn)路由規(guī)則移動(dòng)至具有預(yù)設(shè)優(yōu)先級(jí)的新路由表中。根據(jù)本發(fā)明實(shí)施例的又一方面,還提供了一種虛擬路由器,包括:上述實(shí)施例中的虛擬路由器的數(shù)據(jù)處理裝置。在本發(fā)明實(shí)施例中,通過以低于內(nèi)網(wǎng)路由規(guī)則且高于默認(rèn)路由規(guī)則的優(yōu)先級(jí)在虛擬路由器中添加新增路由表,在待發(fā)送的數(shù)據(jù)包需要發(fā)送至公網(wǎng)的情況下,根據(jù)新增路由表將數(shù)據(jù)包發(fā)送至目標(biāo)地址。由于上述新增路由表中設(shè)置有對(duì)應(yīng)于共往網(wǎng)關(guān)的路由規(guī)則,因此可以通過新增路由表的方式,將目標(biāo)地址不同公網(wǎng)網(wǎng)關(guān)的數(shù)據(jù)由一個(gè)虛擬路由器發(fā)送,不需要部署多個(gè)虛擬路由器,從而解決了現(xiàn)有技術(shù)中使用不同的公網(wǎng)網(wǎng)段需要使用不同的虛擬路由器導(dǎo)致增加了使用虛擬路由器的復(fù)雜性的技術(shù)問題,達(dá)到了可以在多公網(wǎng)網(wǎng)關(guān)的情況下只使用一個(gè)虛擬路由器,降低了虛擬路由器使用的復(fù)雜性,減少了管理虛擬路由器的工作量。附圖說明此處所說明的附圖用來提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實(shí)施例及其說明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中:圖1是根據(jù)現(xiàn)有技術(shù)的一種虛擬路由器的路由表及main表路由規(guī)則的示意圖;圖2是根據(jù)現(xiàn)有技術(shù)的一種虛擬路由器將數(shù)據(jù)包發(fā)送至不同的公網(wǎng)網(wǎng)關(guān)的示意圖;圖3是根據(jù)本發(fā)明實(shí)施例的虛擬路由器的數(shù)據(jù)處理方法的流程圖;圖4是根據(jù)本發(fā)明實(shí)施例的一種可選的源地址、路由表以及公網(wǎng)網(wǎng)關(guān)的對(duì)應(yīng)關(guān)系的示意圖;圖5是根據(jù)本發(fā)明實(shí)施例的一種虛擬路由器將數(shù)據(jù)包發(fā)送至不同的公網(wǎng)網(wǎng)關(guān)的示意圖;圖6是根據(jù)本申請實(shí)施例的一種虛擬路由器的路由表及路由規(guī)則的示意圖;以及圖7是根據(jù)本申請實(shí)施例的一種虛擬路由器的數(shù)據(jù)處理裝置的示意圖。具體實(shí)施方式為了使本
技術(shù)領(lǐng)域:
:的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分的實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都應(yīng)當(dāng)屬于本發(fā)明保護(hù)的范圍。需要說明的是,本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”等是用于區(qū)別類似的對(duì)象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的本發(fā)明的實(shí)施例能夠以除了在這里圖示或描述的那些以外的順序?qū)嵤?。此外,術(shù)語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或?qū)τ谶@些過程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。實(shí)施例1根據(jù)本發(fā)明實(shí)施例,提供了一種虛擬路由器的數(shù)據(jù)處理方法的實(shí)施例,需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。圖3是根據(jù)本發(fā)明實(shí)施例的虛擬路由器的數(shù)據(jù)處理方法的流程圖,如圖3所示,該方法包括如下步驟:步驟S302,以預(yù)設(shè)優(yōu)先級(jí)在虛擬路由器中添加新增路由表,每個(gè)新增路由表中包含一個(gè)與虛擬路由器公網(wǎng)網(wǎng)關(guān)對(duì)應(yīng)的路由規(guī)則。步驟S304,在待發(fā)送數(shù)據(jù)包的目標(biāo)地址屬于虛擬路由器公網(wǎng)的情況下,根據(jù)待發(fā)送數(shù)據(jù)包的源地址對(duì)應(yīng)的新增路由表,將待發(fā)送數(shù)據(jù)包發(fā)送至目標(biāo)地址;其中,預(yù)設(shè)優(yōu)先級(jí)低于內(nèi)網(wǎng)路由規(guī)則的優(yōu)先級(jí)且高于默認(rèn)路由規(guī)則的優(yōu)先級(jí)。具體的,上述源地址可以是源IP,目標(biāo)地址也可以是目標(biāo)IP。在上述步驟中,在內(nèi)網(wǎng)路由規(guī)則優(yōu)先級(jí)之后、默認(rèn)路由規(guī)則優(yōu)先級(jí)之前增加路由表,在每個(gè)新增的路由表里設(shè)置1個(gè)默認(rèn)路由規(guī)則(對(duì)應(yīng)1個(gè)虛擬路由器公網(wǎng)網(wǎng)關(guān)),并設(shè)置策略路由根據(jù)數(shù)據(jù)包里的源IP地址查找對(duì)應(yīng)的路由表。內(nèi)網(wǎng)與多公網(wǎng)段間的IP地址轉(zhuǎn)換方法可以通過Iptables(IPtables是與最新的3.5版本Linux內(nèi)核集成的IP信息包過濾系統(tǒng))實(shí)現(xiàn)。當(dāng)數(shù)據(jù)包的目的IP地址屬于虛擬路由器內(nèi)網(wǎng)時(shí),優(yōu)先匹配內(nèi)網(wǎng)路由規(guī)則,從內(nèi)網(wǎng)接口轉(zhuǎn)發(fā)出去;當(dāng)數(shù)據(jù)包的目的IP地址屬于虛擬路由器公網(wǎng)時(shí),根據(jù)源IP地址查找對(duì)應(yīng)的路由表,匹配該路由表里的默認(rèn)路由規(guī)則,從公網(wǎng)接口轉(zhuǎn)發(fā)至對(duì)應(yīng)的公網(wǎng)網(wǎng)關(guān)。由上可知,本申請上述步驟通過以低于內(nèi)網(wǎng)路由規(guī)則且高于默認(rèn)路由規(guī)則的優(yōu)先級(jí)在虛擬路由器中添加新增路由表,在待發(fā)送的數(shù)據(jù)包需要發(fā)送至公網(wǎng)的情況下,根據(jù)新增路由表將數(shù)據(jù)包發(fā)送至目標(biāo)地址。由于上述新增路由表中設(shè)置有對(duì)應(yīng)于共往網(wǎng)關(guān)的路由規(guī)則,因此可以通過新增路由表的方式,將目標(biāo)地址不同公網(wǎng)網(wǎng)關(guān)的數(shù)據(jù)由一個(gè)虛擬路由器發(fā)送,不需要部署多個(gè)虛擬路由器,從而解決了現(xiàn)有技術(shù)中使用不同的公網(wǎng)網(wǎng)段需要使用不同的虛擬路由器導(dǎo)致增加了使用虛擬路由器的復(fù)雜性的技術(shù)問題,達(dá)到了可以在多公網(wǎng)網(wǎng)關(guān)的情況下只使用一個(gè)虛擬路由器,降低了虛擬路由器使用的復(fù)雜性,減少了管理虛擬路由器的工作量??蛇x的,根據(jù)本申請上述實(shí)施例,根據(jù)待發(fā)送數(shù)據(jù)包的源地址對(duì)應(yīng)的新增路由表,將待發(fā)送數(shù)據(jù)包發(fā)送至目標(biāo)地址,包括:步驟S3041,根據(jù)待發(fā)送數(shù)據(jù)包的源地址在虛擬路由器的新增路由表中查找與源地址對(duì)應(yīng)的新增路由表。步驟S3043,匹配與源地址對(duì)應(yīng)的新增路由表的路由規(guī)則。步驟S3045,根據(jù)與源地址對(duì)應(yīng)的新增路由表的路由規(guī)則將待發(fā)送數(shù)據(jù)包發(fā)送至目標(biāo)地址。由上可知,本申請上述步驟根據(jù)待發(fā)送數(shù)據(jù)包的源地址在虛擬路由器的新增路由表中查找與源地址對(duì)應(yīng)的新增路由表,匹配與源地址對(duì)應(yīng)的新增路由表的路由規(guī)則,根據(jù)待發(fā)送數(shù)據(jù)包的源地址在虛擬路由器的新增路由表中查找與源地址對(duì)應(yīng)的新增路由表。上述方案實(shí)現(xiàn)了通過新增路由表將數(shù)據(jù)包發(fā)送至對(duì)應(yīng)的公網(wǎng)網(wǎng)關(guān)的效果。可選的,根據(jù)本申請上述實(shí)施例,根據(jù)待發(fā)送數(shù)據(jù)包的源地址在虛擬路由器的新增路由表中查找與源地址對(duì)應(yīng)的新增路由表,包括:步驟S30411,將待發(fā)送數(shù)據(jù)包的源地址轉(zhuǎn)換成對(duì)應(yīng)的公網(wǎng)地址。步驟S30413,確定公網(wǎng)地址對(duì)應(yīng)的網(wǎng)關(guān)所屬的路由表為源地址對(duì)應(yīng)的新增路由表。為了進(jìn)一步闡述源IP、路由表、公網(wǎng)網(wǎng)關(guān)的對(duì)應(yīng)關(guān)系,圖4是根據(jù)本發(fā)明實(shí)施例的一種可選的源地址、路由表以及公網(wǎng)網(wǎng)關(guān)的對(duì)應(yīng)關(guān)系的示意圖,根據(jù)圖4可知,數(shù)據(jù)包被轉(zhuǎn)發(fā)到公網(wǎng)前,會(huì)將源IP地址轉(zhuǎn)換成一個(gè)公網(wǎng)IP地址,該公網(wǎng)IP必定對(duì)應(yīng)一個(gè)公網(wǎng)網(wǎng)關(guān)(對(duì)應(yīng)關(guān)系預(yù)先已由組網(wǎng)架構(gòu)確定),而每個(gè)公網(wǎng)網(wǎng)關(guān)對(duì)應(yīng)一個(gè)路由表(在添加新增路由表階段自定義),則每個(gè)源IP地址對(duì)應(yīng)一個(gè)路由表,一個(gè)路由表可以對(duì)應(yīng)多個(gè)源IP地址。因此,可以根據(jù)源IP地址、路由表以及公網(wǎng)網(wǎng)關(guān)的對(duì)應(yīng)關(guān)系,將待發(fā)送數(shù)據(jù)包轉(zhuǎn)換為對(duì)應(yīng)的公網(wǎng)IP之后,該公網(wǎng)IP對(duì)應(yīng)的網(wǎng)關(guān)所屬的路由表為該數(shù)據(jù)包對(duì)應(yīng)的新增路由表。圖5是根據(jù)本發(fā)明實(shí)施例的一種虛擬路由器將數(shù)據(jù)包發(fā)送至不同的公網(wǎng)網(wǎng)關(guān)的示意圖,在一種可選的實(shí)施例中,結(jié)合圖5所示的示例,外網(wǎng)有2個(gè)網(wǎng)段,其中網(wǎng)段123.103.10.0/24對(duì)應(yīng)網(wǎng)關(guān)A的IP為123.103.10.1,202.16.0.0/24對(duì)應(yīng)網(wǎng)關(guān)B的IP為202.16.0.1;數(shù)據(jù)包a源IP為內(nèi)網(wǎng)IP172.17.0.11要轉(zhuǎn)換成123.103.10.3,因此從網(wǎng)關(guān)A出外網(wǎng),數(shù)據(jù)包b源IP為內(nèi)網(wǎng)IP172.17.0.12要轉(zhuǎn)換成202.16.0.4,因此從網(wǎng)關(guān)B出外網(wǎng)。兩個(gè)數(shù)據(jù)包均通過qr接口在路由表中分別匹配到優(yōu)先級(jí)為32768的表12以及優(yōu)先級(jí)為32769的表13,并將原IP轉(zhuǎn)換為對(duì)應(yīng)表12和表13的公網(wǎng)IP,并通過qg接口分別傳輸至目標(biāo)IP??梢栽谔摂M路由器中運(yùn)行以下命令來實(shí)現(xiàn)上述實(shí)施例:iproutedeletedefaultipruleaddfromalltable2pref32770iprouteadddefaultviaipruleaddfrom172.17.0.11table12pref32768ipruleaddfrom172.17.0.12table13pref32769iprouteadddefaultvia123.103.10.1devqgtable12iprouteadddefaultvia202.16.0.1devqgtable13可選的,根據(jù)本申請上述實(shí)施例,在待發(fā)送數(shù)據(jù)的目標(biāo)地址屬于虛擬路由器內(nèi)網(wǎng)的情況下,通過內(nèi)網(wǎng)的接口將待發(fā)送數(shù)據(jù)包轉(zhuǎn)發(fā)至目標(biāo)地址??蛇x的,根據(jù)本申請上述實(shí)施例,在以預(yù)設(shè)優(yōu)先級(jí)在所述虛擬路由器中添加新增路由表,每個(gè)所述新增路由表中包含一個(gè)與所述虛擬路由器公網(wǎng)網(wǎng)關(guān)對(duì)應(yīng)的路由規(guī)則之前,所述方法還包括:步驟S306,將所述虛擬路由器中的主表進(jìn)行拆分,其中,所述主表包括:內(nèi)網(wǎng)路由規(guī)則和默認(rèn)路由規(guī)則。步驟S308,將拆分得到的默認(rèn)路由規(guī)則移動(dòng)至具有預(yù)設(shè)優(yōu)先級(jí)的新路由表中??蛇x的,上述新路由表的預(yù)設(shè)優(yōu)先級(jí)可以是最低優(yōu)先級(jí)。圖6是根據(jù)本申請實(shí)施例的一種虛擬路由器的路由表及路由規(guī)則的示意圖,結(jié)合圖4所述示例,原內(nèi)網(wǎng)路由規(guī)則與默認(rèn)路由規(guī)則都存在于main路由表,而新增加的路由表查找優(yōu)先級(jí)又要介于內(nèi)網(wǎng)路由規(guī)則與默認(rèn)路由規(guī)則之間,所以先要將main路由表進(jìn)行分拆,為方便設(shè)置,內(nèi)網(wǎng)路由規(guī)則仍然保留在main路由表內(nèi),而將原默認(rèn)路由規(guī)則移動(dòng)到查找優(yōu)先級(jí)比較低的路由表(需要多預(yù)留一定的優(yōu)先級(jí)空間以方便后面增加策略路由表)。與圖1對(duì)比,圖6將原默認(rèn)路由規(guī)則從main路由表中移動(dòng)到新的路由表(表號(hào)范圍為1-252,圖中為2),該策略路由的查找優(yōu)先級(jí)設(shè)置為最低(圖中為32770),當(dāng)優(yōu)先級(jí)高的路由表或路由表規(guī)則未匹配成功時(shí),將會(huì)匹配此默認(rèn)規(guī)則;且根據(jù)圖1方法得出源IP地址172.17.0.10與公網(wǎng)網(wǎng)關(guān)123.103.10.1的對(duì)應(yīng)關(guān)系,設(shè)置策略路由使源IP地址為172.17.0.10的數(shù)據(jù)包查找新增的路由表(圖中為12)進(jìn)行規(guī)則匹配,并在該路由表中設(shè)置默認(rèn)規(guī)則使所有數(shù)據(jù)包轉(zhuǎn)發(fā)到公網(wǎng)網(wǎng)關(guān)123.103.10.1,同理源IP地址為172.17.0.11的數(shù)據(jù)包轉(zhuǎn)發(fā)至公網(wǎng)網(wǎng)關(guān)202.16.0.1。新增加的路由表,查找優(yōu)先級(jí)必須低于main并且高于默認(rèn)路由規(guī)則所在的路由表(圖中分別為32728、32769)。實(shí)施例2根據(jù)本發(fā)明實(shí)施例,提供了一種虛擬路由器的數(shù)據(jù)處理裝置的實(shí)施例,圖7是根據(jù)本申請實(shí)施例的一種虛擬路由器的數(shù)據(jù)處理裝置的示意圖,結(jié)合圖7所示,該裝置包括:添加模塊70,用于以預(yù)設(shè)優(yōu)先級(jí)在虛擬路由器中添加新增路由表,每個(gè)新增路由表中包含一個(gè)與虛擬路由器公網(wǎng)網(wǎng)關(guān)對(duì)應(yīng)的路由規(guī)則;發(fā)送模塊72,用于在待發(fā)送數(shù)據(jù)包的目標(biāo)地址屬于虛擬路由器公網(wǎng)的情況下,根據(jù)待發(fā)送數(shù)據(jù)包的源地址對(duì)應(yīng)的新增路由表,將待發(fā)送數(shù)據(jù)包發(fā)送至目標(biāo)地址;其中,預(yù)設(shè)優(yōu)先級(jí)低于內(nèi)網(wǎng)路由規(guī)則的優(yōu)先級(jí)且高于默認(rèn)路由規(guī)則的優(yōu)先級(jí)。由上可知,本申請上述裝置通過添加模塊以低于內(nèi)網(wǎng)路由規(guī)則且高于默認(rèn)路由規(guī)則的優(yōu)先級(jí)在虛擬路由器中添加新增路由表,通過發(fā)送模塊在待發(fā)送的數(shù)據(jù)包需要發(fā)送至公網(wǎng)的情況下,根據(jù)新增路由表將數(shù)據(jù)包發(fā)送至目標(biāo)地址。由于上述新增路由表中設(shè)置有對(duì)應(yīng)于共往網(wǎng)關(guān)的路由規(guī)則,因此可以通過新增路由表的方式,將目標(biāo)地址不同公網(wǎng)網(wǎng)關(guān)的數(shù)據(jù)由一個(gè)虛擬路由器發(fā)送,不需要部署多個(gè)虛擬路由器,從而解決了現(xiàn)有技術(shù)中使用不同的公網(wǎng)網(wǎng)段需要使用不同的虛擬路由器導(dǎo)致增加了使用虛擬路由器的復(fù)雜性的技術(shù)問題,達(dá)到了可以在多公網(wǎng)網(wǎng)關(guān)的情況下只使用一個(gè)虛擬路由器,降低了虛擬路由器使用的復(fù)雜性,減少了管理虛擬路由器的工作量。可選的,根據(jù)本申請上述實(shí)施例,發(fā)送模塊包括:查找子模塊,用于根據(jù)待發(fā)送數(shù)據(jù)包的源地址在虛擬路由器的新增路由表中查找與源地址對(duì)應(yīng)的新增路由表;匹配子模塊,用于匹配與源地址對(duì)應(yīng)的新增路由表的路由規(guī)則。發(fā)送子模塊,用于根據(jù)與源地址對(duì)應(yīng)的新增路由表的路由規(guī)則將待發(fā)送數(shù)據(jù)包發(fā)送至目標(biāo)地址。由上可知,本申請上述裝置通過查找子模塊根據(jù)待發(fā)送數(shù)據(jù)包的源地址在虛擬路由器的新增路由表中查找與源地址對(duì)應(yīng)的新增路由表,通過匹配子模塊匹配與源地址對(duì)應(yīng)的新增路由表的路由規(guī)則,通過發(fā)送子模塊根據(jù)待發(fā)送數(shù)據(jù)包的源地址在虛擬路由器的新增路由表中查找與源地址對(duì)應(yīng)的新增路由表。上述方案實(shí)現(xiàn)了通過新增路由表將數(shù)據(jù)包發(fā)送至對(duì)應(yīng)的公網(wǎng)網(wǎng)關(guān)的效果??蛇x的,根據(jù)本申請上述實(shí)施例,查找子模塊包括:轉(zhuǎn)換單元,用于將待發(fā)送數(shù)據(jù)包的源地址轉(zhuǎn)換成對(duì)應(yīng)的公網(wǎng)地址。確定單元,用于確定公網(wǎng)地址對(duì)應(yīng)的網(wǎng)關(guān)所屬的路由表為源地址對(duì)應(yīng)的新增路由表。可選的,根據(jù)本申請上述實(shí)施例,在待發(fā)送數(shù)據(jù)的目標(biāo)地址屬于虛擬路由器內(nèi)網(wǎng)的情況下,通過內(nèi)網(wǎng)的接口將待發(fā)送數(shù)據(jù)包轉(zhuǎn)發(fā)至目標(biāo)地址??蛇x的,根據(jù)本申請上述實(shí)施例,上述裝置還包括:拆分模塊,用于將所述虛擬路由器中的主表進(jìn)行拆分,其中,所述主表包括:內(nèi)網(wǎng)路由規(guī)則和默認(rèn)路由規(guī)則。移動(dòng)模塊,用于將拆分得到的默認(rèn)路由規(guī)則移動(dòng)至具有預(yù)設(shè)優(yōu)先級(jí)的新路由表中。實(shí)施例3根據(jù)本發(fā)明實(shí)施例,提供了一種虛擬路由器的實(shí)施例,該虛擬路由器包括實(shí)施例2中的任意一種虛擬路由器的數(shù)據(jù)處理裝置。在上述步驟中,在內(nèi)網(wǎng)路由規(guī)則優(yōu)先級(jí)之后、默認(rèn)路由規(guī)則優(yōu)先級(jí)之前增加路由表,在每個(gè)新增的路由表里設(shè)置1個(gè)默認(rèn)路由規(guī)則(對(duì)應(yīng)1個(gè)虛擬路由器公網(wǎng)網(wǎng)關(guān)),并設(shè)置策略路由根據(jù)數(shù)據(jù)包里的源IP地址查找對(duì)應(yīng)的路由表。內(nèi)網(wǎng)與多公網(wǎng)段間的IP地址轉(zhuǎn)換方法可以通過Iptables實(shí)現(xiàn)。當(dāng)數(shù)據(jù)包的目的IP地址屬于虛擬路由器內(nèi)網(wǎng)時(shí),優(yōu)先匹配內(nèi)網(wǎng)路由規(guī)則,從內(nèi)網(wǎng)接口轉(zhuǎn)發(fā)出去;當(dāng)數(shù)據(jù)包的目的IP地址屬于虛擬路由器公網(wǎng)時(shí),根據(jù)源IP地址查找對(duì)應(yīng)的路由表,匹配該路由表里的默認(rèn)路由規(guī)則,從公網(wǎng)接口轉(zhuǎn)發(fā)至對(duì)應(yīng)的公網(wǎng)網(wǎng)關(guān)。本申請上述實(shí)施例提出的虛擬理由器所包括的虛擬路由器的數(shù)據(jù)處理裝置通過添加模塊以低于內(nèi)網(wǎng)路由規(guī)則且高于默認(rèn)路由規(guī)則的優(yōu)先級(jí)在虛擬路由器中添加新增路由表,通過發(fā)送模塊在待發(fā)送的數(shù)據(jù)包需要發(fā)送至公網(wǎng)的情況下,根據(jù)新增路由表將數(shù)據(jù)包發(fā)送至目標(biāo)地址。由于上述新增路由表中設(shè)置有對(duì)應(yīng)于共往網(wǎng)關(guān)的路由規(guī)則,因此可以通過新增路由表的方式,將目標(biāo)地址不同公網(wǎng)網(wǎng)關(guān)的數(shù)據(jù)由一個(gè)虛擬路由器發(fā)送,不需要部署多個(gè)虛擬路由器,從而解決了現(xiàn)有技術(shù)中使用不同的公網(wǎng)網(wǎng)段需要使用不同的虛擬路由器導(dǎo)致增加了使用虛擬路由器的復(fù)雜性的技術(shù)問題,達(dá)到了可以在多公網(wǎng)網(wǎng)關(guān)的情況下只使用一個(gè)虛擬路由器,降低了虛擬路由器使用的復(fù)雜性,減少了管理虛擬路由器的工作量。上述本發(fā)明實(shí)施例序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。在本發(fā)明的上述實(shí)施例中,對(duì)各個(gè)實(shí)施例的描述都各有側(cè)重,某個(gè)實(shí)施例中沒有詳述的部分,可以參見其他實(shí)施例的相關(guān)描述。在本申請所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的技術(shù)內(nèi)容,可通過其它的方式實(shí)現(xiàn)。其中,以上所描述的裝置實(shí)施例僅僅是示意性的,例如所述單元的劃分,可以為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,單元或模塊的間接耦合或通信連接,可以是電性或其它的形式。所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來實(shí)現(xiàn)本實(shí)施例方案的目的。另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。所述集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可為個(gè)人計(jì)算機(jī)、服務(wù)器或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:U盤、只讀存儲(chǔ)器(ROM,Read-OnlyMemory)、隨機(jī)存取存儲(chǔ)器(RAM,RandomAccessMemory)、移動(dòng)硬盤、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本
技術(shù)領(lǐng)域:
:的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視為本發(fā)明的保護(hù)范圍。當(dāng)前第1頁1 2 3 當(dāng)前第1頁1 2 3