虛擬主機的讀寫請求處理方法及系統、宿主的制造方法
【專利摘要】本發明實施例提供了一種宿主機及虛擬主機的讀寫請求處理方法、系統,屬于計算機領域。所述方法包括:宿主機獲得所述路由器根據轉發的讀寫請求數據包,將讀寫請求數據包的目的地址轉換為目標虛擬主機的內網IP地址;將所述目的地址轉換后的讀寫請求數據包轉發至所述內網IP地址對應的所述目標虛擬主機。通過本發明實施例提供的方法及系統、宿主機,拒絕(不轉發)任何目的地址不是虛擬主機的公網IP地址的請求,可以隔絕來自公網的訪問,降低虛擬主機被黑客掃描攻擊的風險;拒絕任何源地址不是云主機公網IP的請求,保障所有工作網內服務器、宿主機都無法對公網進行訪問,實現整個云管理平臺與公網隔絕,保障整個云管理平臺的安全。
【專利說明】虛擬主機的讀寫請求處理方法及系統、宿主機
【技術領域】
[0001]本發明涉及計算機領域,具體而言,涉及一種宿主機及虛擬主機的讀寫請求處理方法、系統。
【背景技術】
[0002]云主機是整合了計算、存儲與網絡資源的虛擬主機租用服務。虛擬化的云主機都運行在物理主機(即宿主機)上,而且利用物理主機的網絡設備進行網絡通訊和訪問。目前云主機運營商采用的主要方式是,云主機從IP地址池中獲取云主機的IP地址,云主機通過物理主機的網絡設備橋接到物理主機工作網絡中,宿主機和宿主機承載的所有的云主機都在同一個公網網段內。
[0003]發明人在研宄中發現,由于宿主機和宿主機承載的所有的云主機都在同一個公網網段內,外網用戶可以直接訪問云主機,云主機容易被惡意用戶掃描攻擊;且云主機之間可以相互通信,當一個云主機被惡意攻擊后,宿主機承載的所有的云主機都可能被惡意攻擊。
【發明內容】
[0004]有鑒于此,本發明實施例的目的在于提供一種宿主機及虛擬主機的讀寫請求處理方法、系統,以降低虛擬主機被掃描攻擊的風險,提高云服務器管理平臺的安全性。
[0005]第一方面,本發明實施例提供了一種虛擬主機的讀寫請求處理方法,應用于虛擬主機的讀寫請求處理系統,所述讀寫請求處理系統包括路由器、宿主機和所述宿主機上承載的至少一個虛擬主機,所述至少一個虛擬主機中包括目標虛擬主機,所述路由器中存儲有預建立的路由表,所述路由表中記錄有所述宿主機的內網地址及所述目標虛擬主機的公網網協IP地址;所述宿主機中存儲有預建立的地址映射表,所述地址映射表中記錄有所述目標虛擬主機的所述公網IP地址和內網IP地址的對應關系;所述方法包括:
[0006]所述宿主機獲得讀寫請求數據包,所述讀寫請求數據包中包含有作為目的地址的所述目標虛擬主機的公網IP地址;所述讀寫請求數據包為所述路由器根據所述讀寫請求數據包中的所述目標虛擬主機的公網IP地址、及所述路由表中的所述宿主機的內網地址轉發的讀寫請求數據包;
[0007]所述宿主機根據所述預建立的地址映射表,將所述目的地址轉換為所述目標虛擬主機的內網IP地址;
[0008]將所述目的地址轉換后的讀寫請求數據包轉發至所述目標虛擬主機內網IP地址對應的所述目標虛擬主機。
[0009]結合第一方面,本發明實施例提供了第一方面的第一種可能的實施方式,其中,所述宿主機所承載的虛擬主機為多個,每個虛擬主機有一個內網IP地址,且任意兩個內網IP地址屬于不同的內網網段。
[0010]結合第一方面,本發明實施例提供了第一方面的第二種可能的實施方式,其中,所述讀寫請求處理系統還包括用戶終端,所述讀寫請求數據包中還包含有所述用戶終端的公網地址;所述方法還包括:
[0011]所述宿主機獲得所述目標虛擬主機發出的響應請求數據包,所述響應請求數據包中包含有源地址和所述用戶終端的公網地址;
[0012]所述宿主機判斷所述源地址是否為所述目標虛擬主機的內網IP地址,如果是,則將所述目標虛擬主機的內網IP地址轉換為所述目標虛擬主機的公網IP地址,得到地址轉換后的響應請求數據包;
[0013]所述宿主機將所述地址轉換后的響應請求數據包發送至所述用戶終端的公網地址對應的所述用戶終端。
[0014]第二方面,本發明實施例還提供了另一種虛擬主機的讀寫請求處理方法,應用于虛擬主機的讀寫請求處理系統,所述讀寫請求處理系統包括路由器、宿主機和所述宿主機上承載的至少一個虛擬主機,所述至少一個虛擬主機中包括目標虛擬主機,所述路由器中存儲有預建立的路由表,所述路由表中記錄有所述宿主機的內網地址及所述目標虛擬主機的公網網協IP地址;所述宿主機中存儲有預建立的地址映射表,所述地址映射表中記錄有所述目標虛擬主機的所述公網IP地址和內網IP地址的對應關系;所述方法包括:
[0015]所述路由器獲得讀寫請求數據包,所述讀寫請求數據包中包含有目的地址;
[0016]所述路由器判斷所述讀寫請求數據包中的目的的在是否為所述目標虛擬主機的公網IP地址;
[0017]如果判斷結果為是,則所述路由器根據所述讀寫請求數據包中的所述目標虛擬主機的公網IP地址、及所述路由表中的所述宿主機的內網地址,將所述讀寫請求數據包轉發至所述宿主機,以使得所述宿主機接收到所述讀寫請求數據包,將所述目的地址轉換為所述目標虛擬主機的內網IP地址后發送至所述目標虛擬主機。
[0018]第三方面,本發明實施例還提供了一種宿主機,應用于虛擬主機的讀寫請求處理系統,所述讀寫請求處理系統包括路由器、宿主機和所述宿主機上承載的至少一個虛擬主機,所述至少一個虛擬主機中包括目標虛擬主機,所述路由器中存儲有預建立的路由表,所述路由表中記錄有所述宿主機的內網地址及所述目標虛擬主機的公網IP地址;所述宿主機中存儲有預建立的地址映射表,所述宿主機包括:
[0019]存儲單元,用于存儲預建立的地址映射表,所述地址映射表中記錄有所述目標虛擬主機的所述公網IP地址和內網IP地址的對應關系;
[0020]數據包獲得單元,用于獲得讀寫請求數據包,所述讀寫請求數據包中包含有作為目的地址的所述目標虛擬主機的公網IP地址;所述讀寫請求數據包為所述路由器根據所述讀寫請求數據包中的所述目標虛擬主機的公網IP地址、及所述路由表中的所述宿主機的內網地址轉發的讀寫請求數據包;
[0021]地址轉換單元,用于根據所述預建立的地址映射表,將所述目的地址轉換為所述目標虛擬主機的內網IP地址;
[0022]發送單元,用于將所述目的地址轉換后的讀寫請求數據包轉發至所述目標虛擬主機內網IP地址對應的所述目標虛擬主機。
[0023]結合第三方面,本發明實施例還提供了第三方面的第一種可能的實施方式,所述宿主機所承載的虛擬主機為多個,每個虛擬主機有一個內網IP地址,且任意兩個內網IP地址屬于不同的內網網段。
[0024]結合第三方面,本發明實施例還提供了第三方面的第二種可能的實施方式,所述讀寫請求數據包中還包含有所述用戶終端的公網地址;所述宿主機還包括地址判斷單元;
[0025]所述數據包獲得單元,還用于獲得所述目標虛擬主機發出的響應請求數據包,所述響應請求數據包中包含有源地址和所述用戶終端的公網地址;
[0026]所述地址判斷單元,用于判斷所述響應請求數據包中的所述源地址是否為所述目標虛擬主機的內網IP地址;
[0027]所述地址轉換單元,還用于當所述地址判斷單元的判斷結果為是時,將所述目標虛擬主機的內網IP地址轉換為所述目標虛擬主機的公網IP地址,得到地址轉換后的響應請求數據包;
[0028]所述發送單元,還用于將所述地址轉換后的響應請求數據包發送至所述用戶終端的公網地址對應的所述用戶終端。
[0029]第四方面,本發明實施例還提供了一種虛擬主機的讀寫請求處理系統,包括:路由器、宿主機和所述宿主機上承載的至少一個虛擬主機,所述至少一個虛擬主機中包括目標虛擬主機,所述路由器中存儲有預建立的路由表,所述路由表中記錄有所述宿主機的內網地址及所述目標虛擬主機的公網網協IP地址;所述宿主機中存儲有預建立的地址映射表,所述地址映射表中記錄有所述目標虛擬主機的所述公網IP地址和內網IP地址的對應關系;其中,
[0030]所述路由器獲得讀寫請求數據包,所述讀寫請求數據包中包含有目的地址;
[0031]所述路由器判斷所述讀寫請求數據包中的目的地址是否為所述目標虛擬主機的公網IP地址,如果是,則根據所述讀寫請求數據包中的所述目標虛擬主機的公網IP地址、及所述路由表中的所述宿主機的內網地址,將所述讀寫請求數據包轉發至所述宿主機;
[0032]所述宿主機接收所述讀寫請求數據包,根據所述預建立的地址映射表,將所述目的地址轉換為所述目標虛擬主機的內網IP地址;將所述目的地址轉換后的讀寫請求數據包轉發至所述目標虛擬主機內網IP地址對應的所述目標虛擬主機。
[0033]結合第四方面,本發明實施例還提供了第四方面的第一種可能的實施方式,所述宿主機所承載的虛擬主機為多個,每個虛擬主機有一個內網IP地址,且任意兩個內網IP地址屬于不同的內網網段。
[0034]結合第四方面,本發明實施例還提供了第四方面的第二種可能的實施方式,所述系統還包括用戶終端和交換機,所述交換機中存儲有所述目標虛擬主機的公網IP地址,所述讀寫請求數據包中還包含有所述用戶終端的公網地址;
[0035]所述宿主機獲得所述目標虛擬主機發出的響應請求數據包,所述響應請求數據包中包含有源地址和所述用戶終端的公網地址;
[0036]所述宿主機判斷所述響應請求數據包中的源地址是否為所述目標虛擬主機的內網IP地址,如果是,則將所述目標虛擬主機的內網IP地址轉換為所述目標虛擬主機的公網IP地址,將地址轉換后的響應請求數據包;如果不是,則直接將所述響應請求數據包發送至所述交換機;
[0037]所述交換機判斷接收到的響應請求數據包的源地址是否為所述目標虛擬主機的公網IP地址,如果是,則將接收到的響應請求數據包發送至所述用戶終端的公網地址對應的所述用戶終端。
[0038]本發明實施例提供的虛擬主機的讀寫請求處理方法及系統、宿主機,與現有技術中的虛擬主機和宿主機工作在同一個公網網段,虛擬主機容易被掃描攻擊相比,虛擬主機的公網IP地址由路由器所分配,外網用戶向虛擬主機發送的讀寫請求數據包只能通過路由器轉發至目標虛擬主機,并且,路由器拒絕(不轉發)任何目的地址不是虛擬主機的公網IP地址的請求,工作網內服務器的宿主機,只會將目的地址是虛擬主機的外網IP地址的讀寫請求數據包進行目的地址轉換并將目的地址轉換后的請求發送至目標虛擬主機,隔絕了來自公網的訪問。極大的降低了虛擬主機被黑客掃描攻擊的風險。
[0039]云管理平臺中的宿主機和虛擬主機都工作在內部網絡,虛擬主機與宿主機之間通過內部網絡通信,虛擬主機在內部虛擬網絡中對讀寫請求數據包進行處理,給出響應請求數據包,宿主機只會將響應請求數據包的源地址為目標虛擬主機的內網IP地址轉換為目標虛擬主機的公網IP地址,如果是被攻擊的虛擬主機發出的、源地址已進行篡改了的響應請求數據包則直接轉發至交換機,交換機中的安全策略只會將源地址為目標虛擬主機的公網IP地址的請求發送至外網,拒絕任何源地址不是云主機公網ip的請求,保障所有工作網內服務器、宿主機都無法對公網進行訪問,實現整個云管理平臺與公網完全隔絕,保障整個云管理平臺的安全。
[0040]進一步,宿主機所承載的所有的虛擬主機都工作在不同的內網網段,虛擬主機之間不能相互通信,即使某個虛擬主機被攻擊,也可以保障其他虛擬主機不因為該虛擬主機而受攻擊,保證了整個云管理平臺的安全。
[0041]為使本發明的上述目的、特征和優點能更明顯易懂,下文特舉較佳實施例,并配合所附附圖,作詳細說明如下。
【專利附圖】
【附圖說明】
[0042]為了更清楚地說明本發明實施例的技術方案,下面將對實施例中所需要使用的附圖作簡單地介紹,應當理解,以下附圖僅示出了本發明的某些實施例,因此不應被看作是對范圍的限定,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他相關的附圖。
[0043]圖1示出了本發明實施例所提供的一種虛擬主機的讀寫請求處理系統的結構;
[0044]圖2示出了本發明實施例所提供的一種虛擬主機的讀寫請求處理方法的流程;
[0045]圖3示出了本發明實施例所提供的另一種虛擬主機的讀寫請求處理方法的流程;
[0046]圖4示出了本發明實施例所提供的一種宿主機的結構;
[0047]圖5示出了本發明實施例所提供的又一種宿主機的結構。
【具體實施方式】
[0048]下面將結合本發明實施例中附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。通常在此處附圖中描述和示出的本發明實施例的組件可以以各種不同的配置來布置和設計。因此,以下對在附圖中提供的本發明的實施例的詳細描述并非旨在限制要求保護的本發明的范圍,而是僅僅表示本發明的選定實施例。基于本發明的實施例,本領域技術人員在沒有做出創造性勞動的前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
[0049]云主機(即虛擬主機)是整合了計算、存儲與網絡資源的虛擬主機租用服務。一個物理主機(宿主機)可以承載多個云主機,云主機通過物理主機的網絡設備橋接到物理主機的工作網絡中。目前云主機運營商采用的主要方式,所有的云主機及宿主機都工作在同一個公網網段內。云主機容易被惡意用戶掃描發現,增大云主機被攻擊的風險。云主機之間可以相互通信,當一個云主機被惡意攻擊后,一個宿主機的所有云主機都可能被惡意攻擊。有鑒于此,發明人經過不斷研宄,提出了本發明實施例提供的虛擬主機的讀寫請求處理方法及系統。
[0050]在描述本發明實施例提供的虛擬主機的讀寫請求處理方法及系統之前,首先對本發明實施例提供的虛擬主機的讀寫請求處理方法、及系統中涉及的虛擬主機的創建做簡單介紹。
[0051]虛擬主機運營商的云主機管理平臺創建內部網絡,為每個物理主機分配一個內網地址,平臺中的物理主機工作在內部網絡中。內部網絡中的所有物理主機均共享一個合法外部網協(Internet Protocol,IP)地址實現對Internet的訪問。
[0052]創建虛擬主機時,路由器為待創建的虛擬主機分配一個公網IP地址。物理主機創建虛擬主機時,物理主機首先創建一個內部虛擬網絡,該內部虛擬網絡擁有自己的私有網段,物理主機為待創建的虛擬主機分配一個固定的內網IP地址,將該內網IP地址通過硬件地址(Media Access Control,MAC地址)綁定方式寫入在內部虛擬網絡里,虛擬主機創建后,虛擬主機連接到內部虛擬網絡。在內部虛擬網絡里,物理主機承載的所有的虛擬主機全都工作在內部虛擬網絡中,虛擬主機與物理主機之間通過內網IP地址進行通信,與公網隔絕,且同一個物理主機承載的多個虛擬主機之間互不通信。
[0053]本發明實施例提供的虛擬主機的讀寫請求處理方法及裝置應用于讀寫請求處理系統。參閱圖1,虛擬主機的讀寫請求處理系統包括用戶終端、交換機、路由器、宿主機和所述宿主機上承載的至少一個虛擬主機,所述至少一個虛擬主機中包括目標虛擬主機。其中,
[0054]用戶終端發出的讀寫請求數據包通過所述交換機發送至路由器;所述讀寫請求數據包中包含有目的地址及源始地址,所述源始地址為所述用戶終端的公網地址。
[0055]所述路由器中存儲有預建立的路由表,所述路由表中記錄有所述宿主機的內網地址及所述目標虛擬主機的公網IP地址。所述路由器獲得讀寫請求數據包后,判斷所述讀寫請求數據包中的目的地址是否為所述目標虛擬主機的公網IP地址,如果是,則根據所述讀寫請求數據包中的所述目標虛擬主機的公網IP地址、及所述路由表中的所述宿主機的內網地址轉發至宿主機。
[0056]如果讀寫請求數據包中的目的地址不是所述目標虛擬主機的公網IP地址,則路由器不轉發該讀寫請求數據包,即拒絕任何目的地址不是目標虛擬主機的公網IP地址的請求,隔絕來自公網(非目標虛擬主機用戶)的訪問,降低內網中的宿主機、目標虛擬主機被黑客掃描攻擊的風險,保障目標虛擬主機的安全。
[0057]宿主機中存儲有預建立的地址映射表,所述地址映射表中記錄有所述目標虛擬主機的公網IP地址和內網IP地址的對應關系。宿主機接收到讀寫請求數據包后,根據所述預建立的地址映射表,將所述目的地址轉換為所述目標虛擬主機的內網IP地址,將所述目的地址轉換后的讀寫請求數據包轉發至所述目標虛擬主機內網IP地址對應的所述目標虛擬主機。
[0058]例如,用戶終端發送的讀寫請求數據包的源始地址為182.138.1.1,目的地址為124.156.1.8,其中,源始地址為用戶終端的公網地址,目的地址為目標虛擬主機的外網IP地址。讀寫請求數據包通過交換機發送到路由器,路由器判斷讀寫請求數據包中的目的地址是所述目標虛擬主機的公網IP地址,于是將讀寫請求數據包轉發至宿主機。目標虛擬主機的內網IP地址為192.168.2.2,宿主機首先將目標虛擬主機的外網IP地址124.156.1.8轉換為目標虛擬主機的內網IP地址192.168.2.2,然后將目的地址轉換后的讀寫請求數據包發送至目標虛擬主機。
[0059]目標虛擬主機在內部虛擬網絡中對所述讀寫請求數據包進行處理,給出響應請求數據包。
[0060]所述宿主機獲得所述目標虛擬主機發出的響應請求數據包,所述響應請求數據包中包含有源地址和所述用戶終端的公網地址。所述宿主機首先判斷所述響應請求數據包中的源地址是否為所述目標虛擬主機的內網IP地址,如果是,則將所述目標虛擬主機的內網IP地址轉換為所述目標虛擬主機的公網IP地址,將地址轉換后的響應請求數據包發送至所述交換機;如果不是,則直接將所述響應請求數據包發送至所述交換機。
[0061]交換機首先判斷接收到的響應請求數據包的源地址是否為所述目標虛擬主機的公網IP地址,如果是,則將接收到的響應請求數據包發送至所述用戶終端的公網地址對應的所述用戶終端;如果不是則拒絕發送。
[0062]例如,目標虛擬主機發送的響應請求數據包的源地址為192.168.2.2 (即目標虛擬主機的內網IP地址),響應請求數據包的目的地址為182.138.1.1(即用戶終端的公網地址)。目標虛擬主機將響應請求數據包發送至宿主機,宿主機判斷響應請求數據包的源地址是目標虛擬主機的內網IP地址,于是將目標虛擬主機的內網IP地址192.168.2.2轉換為目標虛擬主機的外網IP地址124.156.1.8,然后將地址轉換后的響應請求數據包發送至交換機,通過交換機發送到用戶終端。
[0063]本發明實施例提供的虛擬主機的讀寫請求處理系統中,宿主機和目標虛擬主機都工作在內部網絡中,外網用戶的讀寫請求數據包只能通過所述路由器轉發至目標虛擬主機,且路由器拒絕(不轉發)任何目的地址不是虛擬主機的公網IP地址的請求,工作網內服務器的宿主機,只會將目的地址是虛擬主機的外網IP地址的讀寫請求數據包進行目的地址轉換并將目的地址轉換后的請求發送至目標虛擬主機,隔絕了來自公網的訪問。極大的降低了虛擬主機被黑客掃描攻擊的風險。
[0064]目標虛擬主機在內部網絡中對讀寫請求數據包進行處理,給出響應請求數據包。如果目標虛擬主機沒有被攻擊,則響應請求數據包的源地址為目標虛擬主機的內網IP地址,但是如果目標虛擬主機被攻擊,則響應請求數據包的源地址不是目標虛擬主機的內網IP地址,而是被篡改的地址(通過不斷的篡改地址以攻擊其他用戶,甚至獲取其他虛擬主機的公網IP地址)。只有當只對響應請求數據包的源地址是目標虛擬主機的內網IP地址時,宿主機才會將目標虛擬主機的內網IP地址轉換為目標虛擬主機的公網IP地址,如果響應請求數據包的源地址不是目標虛擬主機的內網IP地址,那么交換機就會攔截該響應請求數據包,禁止發送出去,即拒絕任何源地址不是云主機公網IP的請求,保障所有工作網內服務器、宿主機都無法對公網進行訪問,實現整個云管理平臺與公網完全隔絕,保障整個云管理平臺的安全。
[0065]可選的,所述宿主機上承載的虛擬主機為多個,每個虛擬主機有一個內網IP地址,且任意兩個內網IP地址屬于不同的內網網段。通過為每個虛擬主機配置一個內網IP地址,且任意兩個內網IP地址屬于不同的內網網段,使得虛擬主機之間不能相互通信,因此,即使當某個虛擬主機被攻擊也不會導致其他虛擬主機受攻擊,保障整個云管理平臺中的安全。
[0066]參閱圖2,本發明實施例提供的虛擬主機的讀寫請求處理方法,應用于虛擬主機的讀寫請求處理系統,所述讀寫請求處理系統包括路由器、宿主機和所述宿主機上承載的至少一個虛擬主機,所述至少一個虛擬主機中包括目標虛擬主機。所述宿主機中存儲有預建立的地址映射表,所述地址映射表中記錄有所述目標虛擬主機的所述公網IP地址和內網IP地址的對應關系。所述方法包括:
[0067]步驟SlOl:所述宿主機獲得所述路由器轉發的讀寫請求數據包,所述讀寫請求數據包中包含有作為目的地址的所述目標虛擬主機的公網IP地址。
[0068]虛擬主機運行在宿主機上。本步驟中,所述路由器中存儲有預建立的路由表,所述路由表中記錄有宿主機的內網地址及目標虛擬主機的公網IP地址。所述路由器轉發所述讀寫請求數據包至所述讀寫請求處理裝置,包括:
[0069]所述路由器獲得讀寫請求數據包,所述讀寫請求數據包中包含有目的地址;判斷所述讀寫請求數據包中的目的地址是否為所述目標虛擬主機的公網IP地址;如果是,則所述路由器根據所述讀寫請求數據包中的所述目標虛擬主機的公網IP地址、及所述路由表中的所述宿主機的內網地址,將所述讀寫請求數據包轉發至所述宿主機。
[0070]步驟S102:所述宿主機根據所述預建立的地址映射表,將所述目的地址轉換為所述目標虛擬主機的內網IP地址。為了目標降低虛擬主機被惡意外網用戶掃描到的概率,降低目標虛擬主機被惡意攻擊的風險,目標虛擬主機所依托的物理主機(宿主機)建立了內部虛擬網絡,使得目標虛擬主機工作在內部虛擬網絡中,因此宿主機需要將所述目的地址轉換為所述目標虛擬主機的內網IP地址,以便于將讀寫請求數據包轉發到目標虛擬主機內網IP地址對應的所述目標虛擬主機。
[0071]步驟S103:所述宿主機將所述目的地址轉換后的讀寫請求數據包轉發至所述目標虛擬主機內網IP地址對應的所述目標虛擬主機,實現公網IP地址的讀寫請求轉發到目標虛擬主機的內網IP地址上進行處理。
[0072]通過本發明實施例提供的虛擬主機的讀寫請求處理方法,目標虛擬主機的公網IP地址由路由器所分配,外網用戶向目標虛擬主機發送的讀寫請求數據包只能通過路由器轉發至相應的目標虛擬主機,外網用戶發送的讀寫請求數據包無法直接傳送至目標虛擬主機;拒絕(不轉發)任何目的地址不是虛擬主機的公網IP地址的請求,工作網內服務器的宿主機,只會將目的地址是虛擬主機的外網IP地址的讀寫請求數據包進行目的地址轉換并將目的地址轉換后的請求發送至目標虛擬主機,隔絕了來自公網的訪問,極大的降低了虛擬主機被黑客掃描攻擊的風險。
[0073]此外,宿主機上承載的虛擬主機可以有多個,每個虛擬主機都有一個內網IP地址,且每個虛擬主機都工作在內部虛擬網絡的不同網段,虛擬主機之間不能相互通信,即使某個虛擬主機被攻擊,也可以及時將被攻擊的虛擬主機撤出內部虛擬網絡,將其隔離,避免其他虛擬主機因其受攻擊。
[0074]此外,宿主機擁有內部網絡地址,工作在云管理平臺內部網絡,實現了云管理平臺與外部網絡隔絕,為整個云管理平臺的安全提供保障。
[0075]目標虛擬主機接收到所述目的地址轉換后的讀寫請求數據包,處理后會發出響應請求數據包。所述讀寫請求數據包中還包含有所述用戶終端的公網地址,以便于將目標虛擬主機發出的響應請求數據包發送至用戶終端。可選的,本發明實施例提供的虛擬主機的讀寫請求處理方法,還包括:
[0076]步驟S104:所述宿主機獲得所述虛擬主機發出的響應請求數據包,所述響應請求數據包中包含有源地址和所述用戶終端的公網地址。
[0077]步驟S105:所述宿主機判斷所述響應請求數據包中的源地址是否為所述目標虛擬主機的內網IP地址,如果是,則進入步驟S106,如果不是,則直接進入步驟S107。
[0078]步驟S106:所述宿主機將所述目標虛擬主機的內網IP地址轉換為所述目標虛擬主機的公網IP地址,得到地址轉換后的響應請求數據包。
[0079]步驟S107:所述宿主機根據用戶終端的公網地址,發送數據包:將地址轉換后的響應請求數據包發送至交換機,以便于交換機將地址轉換后的響應請求數據包發送至所述用戶終端的公網地址對應的所述用戶終端,或者直接將響應請求數據包發送至交換機,以便于交換機將響應請求數據包發送至所述用戶終端的公網地址對應的所述用戶終端。
[0080]參閱圖3,本發明實施例還提供了又一種虛擬主機的讀寫請求處理方法,所述方法應用于虛擬主機的讀寫請求處理系統,所述讀寫請求處理系統包括路由器、宿主機和所述宿主機上承載的至少一個虛擬主機,所述至少一個虛擬主機中包括目標虛擬主機,所述路由器中存儲有預建立的路由表,所述路由表中記錄有所述宿主機的內網地址及所述目標虛擬主機的公網網協IP地址;所述宿主機中存儲有預建立的地址映射表,所述地址映射表中記錄有所述目標虛擬主機的所述公網IP地址和內網IP地址的對應關系。所述方法包括:
[0081]步驟S201:所述路由器獲得讀寫請求數據包,所述讀寫請求數據包中包含有目的地址。
[0082]步驟S202:所述路由器判斷所述讀寫請求數據包中的目的地址是否為所述目標虛擬主機的公網IP地址,如果是,則進入步驟S203,如果否,則結束整個方法流程。如果讀寫請求數據包中的目的地址不是所述目標虛擬主機的公網IP地址,則路由器不轉發該讀寫請求數據包,拒絕任何目的地址不是目標虛擬主機的公網IP地址的請求,隔絕來自公網(非目標虛擬主機用戶)的訪問。
[0083]步驟S203:所述路由器根據所述讀寫請求數據包中的所述目標虛擬主機的公網IP地址、及所述路由表中的所述宿主機的內網地址,將所述讀寫請求數據包轉發至所述宿主機,以使得所述宿主機接收到所述讀寫請求數據包,將所述目的地址轉換為所述目標虛擬主機的內網IP地址后發送至所述目標虛擬主機。
[0084]參閱圖4,本發明實施例還提供了一種宿主機。所述宿主機應用于虛擬主機的讀寫請求處理系統,所述讀寫請求處理系統包括路由器、宿主機和所述宿主機上承載的至少一個虛擬主機,所述至少一個虛擬主機中包括目標虛擬主機,所述路由器中存儲有預建立的路由表,所述路由表中記錄有所述宿主機的內網地址及所述目標虛擬主機的公網IP地址;所述宿主機中存儲有預建立的地址映射表,所述宿主機包括:
[0085]存儲單元401,用于存儲預建立的地址映射表,所述地址映射表中記錄有所述目標虛擬主機的所述公網IP地址和內網IP地址的對應關系。
[0086]數據包獲得單元402,用于獲得讀寫請求數據包,所述讀寫請求數據包中包含有作為目的地址的所述目標虛擬主機的公網IP地址;所述讀寫請求數據包為所述路由器根據所述讀寫請求數據包中的所述目標虛擬主機的公網IP地址、及所述路由表中的所述宿主機的內網地址轉發的讀寫請求數據包。
[0087]地址轉換單元403,用于根據所述預建立的地址映射表,將所述目的地址轉換為所述目標虛擬主機的內網IP地址。
[0088]發送單元404,用于將所述目的地址轉換后的讀寫請求數據包轉發至所述目標虛擬主機內網IP地址對應的所述目標虛擬主機。
[0089]可選的,所述數據包獲得單元402,還用于獲得所述目標虛擬主機發出的響應請求數據包,所述響應請求數據包中包含有源地址和所述用戶終端的公網地址。
[0090]所述宿主機還包括地址判斷單元405,用于判斷所述響應請求數據包中的所述源地址是否為所述目標虛擬主機的內網IP地址,給出判斷結果。
[0091]所述地址轉換單元403,還用于當所述地址判斷單元的判斷結果為是時,將所述目標虛擬主機的內網IP地址轉換為所述目標虛擬主機的公網IP地址,得到地址轉換后的響應請求數據包。如果所述地址判斷單元的判斷結果為否時,所述地址轉換單元403不對目標虛擬主機的內網IP地址轉換進行地址轉換。
[0092]所述發送單元404,還用于將所述地址轉換后的響應請求數據包發送至交換機,以便于交換機將地址轉換后的響應請求數據包發送至所述用戶終端的公網地址對應的所述用戶終端。如果是沒有進行地址轉換的響應請求數據包,則發送單元404直接將響應請求數據包發送至交換機,以便于交換機將響應請求數據包發送至所述用戶終端的公網地址對應的所述用戶終端。
[0093]只有當只對響應請求數據包的源地址是目標虛擬主機的內網IP地址時,宿主機才會將目標虛擬主機的內網IP地址轉換為目標虛擬主機的公網IP地址,如果響應請求數據包的源地址不是目標虛擬主機的內網IP地址,那么交換機就會攔截該響應請求數據包,禁止發送出去,即拒絕任何源地址不是云主機公網IP的請求,保障所有工作網內服務器、宿主機都無法對公網進行訪問,實現整個云管理平臺與公網隔絕,保障整個云管理平臺的安全。
[0094]除非另外具體說明,否則在這些實施例中闡述的部件和步驟的相對步驟并不限制本發明的范圍。
[0095]本發明實施例所提供的宿主機,其實現原理及產生的技術效果和前述方法實施例相同,為簡要描述,宿主機實施例部分未提及之處,可參考前述方法實施例中相應內容。
[0096]在這里示出和描述的所有示例中,任何具體值或網絡地址應被解釋為僅僅是示例性的,而不是作為限制,因此,示例性實施例的其他示例可以具有不同的值。
[0097]應注意到:相似的標號和字母在下面的附圖中表示類似項,因此,一旦某一項在一個附圖中被定義,則在隨后的附圖中不需要對其進行進一步定義和解釋。
[0098]附圖中的流程圖和框圖顯示了根據本發明的多個實施例的系統、方法和計算機程序產品的可能實現的體系架構、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段或代碼的一部分,所述模塊、程序段或代碼的一部分包含一個或多個用于實現規定的邏輯功能的可執行指令。也應當注意,在有些作為替換的實現中,方框中所標注的功能也可以以不同于附圖中所標注的順序發生。例如,兩個連續的方框實際上可以基本并行地執行,它們有時也可以按相反的順序執行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執行規定的功能或動作的專用的基于硬件的系統來實現,或者可以用專用硬件與計算機指令的組合來實現。
[0099]參見圖5,本發明實施例還提供一種宿主機500,包括:處理器504,存儲器501,總線502和通信接口 503,所述處理器504、通信接口 503和存儲器501通過總線502連接;處理器504用于執行存儲器501中存儲的可執行模塊,例如計算機程序。
[0100]其中,存儲器501可能包含高速隨機存取存儲器(RAM !Random Access Memory),也可能還包括非不穩定的存儲器(non-volatile memory),例如至少一個磁盤存儲器。通過至少一個通信接口 503 (可以是有線或者無線)實現該系統網元與至少一個其他網元之間的通信連接,可以使用互聯網,廣域網,本地網,城域網等。
[0101]總線502可以是ISA總線、PCI總線或EISA總線等。所述總線可以分為地址總線、數據總線、控制總線等。為便于表示,圖5中僅用一個雙向箭頭表示,但并不表示僅有一根總線或一種類型的總線。
[0102]其中,存儲器501用于存儲程序505,所述處理器504在獲得到執行指令后,執行所述程序505,程序505的結構單元可以參見圖4,前述本發明實施例以宿主機為執行主體的實施例揭示的流程定義的裝置所執行的方法可以應用于處理器504中,或者由處理器504實現。
[0103]處理器504可能是一種集成電路芯片,具有信號的處理能力。在實現過程中,上述方法的各步驟可以通過處理器504中的硬件的集成邏輯電路或者軟件形式的指令完成。上述的處理器504可以是通用處理器,包括中央處理器(Central Processing Unit,簡稱CPU)、網絡處理器(Network Processor,簡稱NP)等;還可以是數字信號處理器(DSP)、專用集成電路(ASIC)、現場可編程門陣列(FPGA)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件。可以實現或者執行本發明實施例中的公開的各方法、步驟及邏輯框圖。通用處理器可以是微處理器或者該處理器也可以是任何常規的處理器等。結合本發明實施例所公開的方法的步驟可以直接體現為硬件譯碼處理器執行完成,或者用譯碼處理器中的硬件及軟件模塊組合執行完成。軟件模塊可以位于隨機存儲器,閃存、只讀存儲器,可編程只讀存儲器或者電可擦寫可編程存儲器、寄存器等本領域成熟的存儲介質中。該存儲介質位于存儲器501,處理器504讀取存儲器501中的信息,結合其硬件完成上述方法的步驟。
[0104]本發明實施例所提供的虛擬主機的讀寫請求處理方法的計算機程序產品,包括存儲了程序代碼的計算機可讀存儲介質,所述程序代碼包括的指令可用于執行前面方法實施例中所述的方法,具體實現可參見方法實施例,在此不再贅述。
[0105]所屬領域的技術人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統、裝置和單元的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。
[0106]在本申請所提供的幾個實施例中,應該理解到,所揭露的系統、裝置和方法,可以通過其它的方式實現。以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,又例如,多個單元或組件可以結合或者可以集成到另一個系統,或一些特征可以忽略,或不執行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些通信接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。
[0107]所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網絡單元上。可以根據實際的需要選擇其中的部分或者全部單元來實現本實施例方案的目的。
[0108]另外,在本發明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。
[0109]所述功能如果以軟件功能單元的形式實現并作為獨立的產品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中。基于這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分或者該技術方案的部分可以以軟件產品的形式體現出來,該計算機軟件產品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網絡設備等)執行本發明各個實施例所述方法的全部或部分步驟。而前述的存儲介質包括:U盤、移動硬盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質。
[0110]以上所述,僅為本發明的【具體實施方式】,但本發明的保護范圍并不局限于此,任何熟悉本【技術領域】的技術人員在本發明揭露的技術范圍內,可輕易想到變化或替換,都應涵蓋在本發明的保護范圍之內。因此,本發明的保護范圍應所述以權利要求的保護范圍為準。
【權利要求】
1.一種虛擬主機的讀寫請求處理方法,其特征在于,應用于虛擬主機的讀寫請求處理系統,所述讀寫請求處理系統包括路由器、宿主機和所述宿主機上承載的至少一個虛擬主機,所述至少一個虛擬主機中包括目標虛擬主機,所述路由器中存儲有預建立的路由表,所述路由表中記錄有所述宿主機的內網地址及所述目標虛擬主機的公網網協IP地址;所述宿主機中存儲有預建立的地址映射表,所述地址映射表中記錄有所述目標虛擬主機的所述公網IP地址和內網IP地址的對應關系;所述方法包括: 所述宿主機獲得讀寫請求數據包,所述讀寫請求數據包中包含有作為目的地址的所述目標虛擬主機的公網IP地址;所述讀寫請求數據包為所述路由器根據所述讀寫請求數據包中的所述目標虛擬主機的公網IP地址、及所述路由表中的所述宿主機的內網地址轉發的讀寫請求數據包; 所述宿主機根據所述預建立的地址映射表,將所述目的地址轉換為所述目標虛擬主機的內網IP地址; 將所述目的地址轉換后的讀寫請求數據包轉發至所述目標虛擬主機內網IP地址對應的所述目標虛擬主機。
2.根據權利要求1所述的方法,其特征在于,所述宿主機所承載的虛擬主機為多個,每個虛擬主機有一個內網IP地址,且任意兩個內網IP地址屬于不同的內網網段。
3.根據權利要求1所述的方法,其特征在于,所述讀寫請求處理系統還包括用戶終端,所述讀寫請求數據包中還包含有所述用戶終端的公網地址;所述方法還包括: 所述宿主機獲得所述目標虛擬主機發出的響應請求數據包,所述響應請求數據包中包含有源地址和所述用戶終端的公網地址; 所述宿主機判斷所述源地址是否為所述目標虛擬主機的內網IP地址,如果是,則將所述目標虛擬主機的內網IP地址轉換為所述目標虛擬主機的公網IP地址,得到地址轉換后的響應請求數據包; 所述宿主機將所述地址轉換后的響應請求數據包發送至所述用戶終端的公網地址對應的所述用戶終端。
4.一種虛擬主機的讀寫請求處理方法,其特征在于,應用于虛擬主機的讀寫請求處理系統,所述讀寫請求處理系統包括路由器、宿主機和所述宿主機上承載的至少一個虛擬主機,所述至少一個虛擬主機中包括目標虛擬主機,所述路由器中存儲有預建立的路由表,所述路由表中記錄有所述宿主機的內網地址及所述目標虛擬主機的公網網協IP地址;所述宿主機中存儲有預建立的地址映射表,所述地址映射表中記錄有所述目標虛擬主機的所述公網IP地址和內網IP地址的對應關系;所述方法包括: 所述路由器獲得讀寫請求數據包,所述讀寫請求數據包中包含有目的地址; 所述路由器判斷所述讀寫請求數據包中的目的地址是否為所述目標虛擬主機的公網IP地址; 如果判斷結果為是,則所述路由器根據所述讀寫請求數據包中的所述目標虛擬主機的公網IP地址、及所述路由表中的所述宿主機的內網地址,將所述讀寫請求數據包轉發至所述宿主機,以使得所述宿主機接收到所述讀寫請求數據包,將所述目的地址轉換為所述目標虛擬主機的內網IP地址后發送至所述目標虛擬主機。
5.一種宿主機,其特征在于,應用于虛擬主機的讀寫請求處理系統,所述讀寫請求處理系統包括路由器、宿主機和所述宿主機上承載的至少一個虛擬主機,所述至少一個虛擬主機中包括目標虛擬主機,所述路由器中存儲有預建立的路由表,所述路由表中記錄有所述宿主機的內網地址及所述目標虛擬主機的公網IP地址;所述宿主機中存儲有預建立的地址映射表,所述宿主機包括: 存儲單元,用于存儲預建立的地址映射表,所述地址映射表中記錄有所述目標虛擬主機的所述公網IP地址和內網IP地址的對應關系; 數據包獲得單元,用于獲得讀寫請求數據包,所述讀寫請求數據包中包含有作為目的地址的所述目標虛擬主機的公網IP地址;所述讀寫請求數據包為所述路由器根據所述讀寫請求數據包中的所述目標虛擬主機的公網IP地址、及所述路由表中的所述宿主機的內網地址轉發的讀寫請求數據包; 地址轉換單元,用于根據所述預建立的地址映射表,將所述目的地址轉換為所述目標虛擬主機的內網IP地址; 發送單元,用于將所述目的地址轉換后的讀寫請求數據包轉發至所述目標虛擬主機內網IP地址對應的所述目標虛擬主機。
6.根據權利要求5所述的宿主機,其特征在于,所述宿主機所承載的虛擬主機為多個,每個虛擬主機有一個內網IP地址,且任意兩個內網IP地址屬于不同的內網網段。
7.根據權利要求5所述的宿主機,其特征在于,所述讀寫請求數據包中還包含有所述用戶終端的公網地址;所述宿主機還包括地址判斷單元; 所述數據包獲得單元,還用于獲得所述目標虛擬主機發出的響應請求數據包,所述響應請求數據包中包含有源地址和所述用戶終端的公網地址; 所述地址判斷單元,用于判斷所述響應請求數據包中的所述源地址是否為所述目標虛擬主機的內網IP地址; 所述地址轉換單元,還用于當所述地址判斷單元的判斷結果為是時,將所述目標虛擬主機的內網IP地址轉換為所述目標虛擬主機的公網IP地址,得到地址轉換后的響應請求數據包; 所述發送單元,還用于將所述地址轉換后的響應請求數據包發送至所述用戶終端的公網地址對應的所述用戶終端。
8.—種虛擬主機的讀寫請求處理系統,其特征在于,包括:路由器、宿主機和所述宿主機上承載的至少一個虛擬主機,所述至少一個虛擬主機中包括目標虛擬主機,所述路由器中存儲有預建立的路由表,所述路由表中記錄有所述宿主機的內網地址及所述目標虛擬主機的公網網協IP地址;所述宿主機中存儲有預建立的地址映射表,所述地址映射表中記錄有所述目標虛擬主機的所述公網IP地址和內網IP地址的對應關系;其中, 所述路由器獲得讀寫請求數據包,所述讀寫請求數據包中包含有目的地址; 所述路由器判斷所述讀寫請求數據包中的目的地址是否為所述目標虛擬主機的公網IP地址,如果是,則根據所述讀寫請求數據包中的所述目標虛擬主機的公網IP地址、及所述路由表中的所述宿主機的內網地址,將所述讀寫請求數據包轉發至所述宿主機; 所述宿主機接收所述讀寫請求數據包,根據所述預建立的地址映射表,將所述目的地址轉換為所述目標虛擬主機的內網IP地址;將所述目的地址轉換后的讀寫請求數據包轉發至所述目標虛擬主機內網IP地址對應的所述目標虛擬主機。
9.根據權利要求8所述的系統,其特征在于,所述宿主機所承載的虛擬主機為多個,每個虛擬主機有一個內網IP地址,且任意兩個內網IP地址屬于不同的內網網段。
10.根據權利要求8所述的系統,其特征在于,所述系統還包括用戶終端和交換機,所述交換機中存儲有所述目標虛擬主機的公網IP地址,所述讀寫請求數據包中還包含有所述用戶終端的公網地址; 所述宿主機獲得所述目標虛擬主機發出的響應請求數據包,所述響應請求數據包中包含有源地址和所述用戶終端的公網地址; 所述宿主機判斷所述響應請求數據包中的源地址是否為所述目標虛擬主機的內網IP地址,如果是,則將所述目標虛擬主機的內網IP地址轉換為所述目標虛擬主機的公網IP地址,將地址轉換后的響應請求數據包發送至所述交換機;如果不是,則直接將所述響應請求數據包發送至所述交換機; 所述交換機判斷接收到的響應請求數據包的源地址是否為所述目標虛擬主機的公網IP地址,如果是,則將接收到的響應請求數據包發送至所述用戶終端的公網地址對應的所述用戶終端。
【文檔編號】H04L29/08GK104506540SQ201410836774
【公開日】2015年4月8日 申請日期:2014年12月29日 優先權日:2014年12月29日
【發明者】黃睿 申請人:成都致云科技有限公司