一種防止IP位址欺騙的方法和裝置與流程
2023-09-24 04:34:55
本發明涉及通信領域,更具體的說,涉及一種防止IP位址欺騙的方法和裝置。
背景技術:
伺服器的虛擬化是指將伺服器物理資源抽象成邏輯資源,讓一臺伺服器變成幾臺甚至上百臺相互隔離的虛擬伺服器,我們不再受限於物理上的界限,而是讓中央處理器CPU、內存、磁碟、輸入/輸出埠I/O等硬體變成可以動態管理的「資源池」。伺服器的虛擬化提高資源的利用率,簡化系統管理,實現伺服器整合,讓IT對業務的變化更具適應力。
在伺服器的虛擬化過程中,伺服器網絡虛擬化面臨著IP位址欺騙的問題,IP位址欺騙是指行動產生的IP數據包為偽造的源IP位址,以便冒充其他系統或發件人的身份。這是一種黑客的攻擊形式,黑客使用一臺計算機上網,而借用另外一臺機器的IP位址,從而冒充另外一臺機器與伺服器打交道,進而導致非法報文的傳播。
目前防止IP位址欺騙的方法應用在應用層面上,即在應用上設置認證或者是權限,進而使假冒的客戶端不能正常訪問應用。但是在網絡層面上,還沒有能夠防止IP位址欺騙的方法。
因此,伺服器網絡虛擬化亟需一種能夠在網絡層面上,防止IP位址欺騙的方法。
技術實現要素:
有鑑於此,本發明提供一種防止IP位址欺騙的方法和裝置,以解決在伺服器網絡虛擬化層面上,還沒有防止IP位址欺騙的方法的問題。
為解決上述技術問題,本發明採用了如下技術方案:
一種防止IP位址欺騙的方法,應用於虛擬交換機,所述方法包括:
攔截虛擬機請求者發送的第一地址解析協議ARP報文,所述第一ARP報文中攜帶有獲得目標網際網路協議地址IP位址對應的目標虛擬機的目標MAC地址的請求;所述目標IP位址為所述虛擬機請求者請求連接的IP位址;
判斷第一對照表中是否保存有所述目標IP位址對應的所述目標MAC地址;其中,所述第一對照表中保存有IP位址與網絡設備的MAC地址的對應關係且所述網絡設備包括虛擬機;
當判斷出所述第一對照表中保存有所述目標IP位址對應的所述目標MAC地址,發送第二ARP報文到所述虛擬機請求者,其中,所述第二ARP報文中攜帶有所述目標MAC地址。
優選地,所述攔截虛擬機請求者發送的第一ARP報文後,還包括:
判斷所述第一ARP報文中的源MAC地址是否是所述虛擬機請求者對應的預設源MAC地址;
若判斷出所述第一ARP報文中的源MAC地址是所述虛擬機請求者對應的預設源MAC地址,執行所述判斷第一對照表中是否保存有所述目標IP位址對應的所述目標MAC地址。
優選地,當判斷出所述第一對照表中沒有保存所述目標IP位址對應的所述目標MAC地址後,還包括:
將所述第一ARP報文發送到控制模塊;
接收所述控制模塊發送的第三ARP報文;
將所述第三ARP報文發送到所述虛擬機請求者。
一種防止IP位址欺騙的方法,應用於控制模塊,所述方法包括:
接收虛擬交換機發送的第一ARP報文;
判斷第二對照表中是否保存有目標IP位址對應的目標MAC地址;其中,所述第二對照表中保存有IP位址與網絡設備的MAC地址的對應關係且所述網絡設備包括虛擬機;
當判斷出所述第二對照表中保存有所述目標IP位址對應的所述目標MAC地址,發送第三ARP報文到所述虛擬交換機;
其中,所述第三ARP報文中攜帶有所述目標MAC地址。
優選地,所述判斷第二對照表中是否保存有目標IP位址對應的目標MAC地址,包括:
從預設位置讀取所述第二對照表並判斷所述第二對照表中是否保存有所述目標IP位址對應的所述目標MAC地址。
一種防止IP位址欺騙的裝置,應用於虛擬交換機,所述裝置包括:
攔截模塊,用於攔截虛擬機請求者發送的第一ARP報文,所述第一ARP報文中攜帶有獲得目標IP位址對應的目標虛擬機的目標MAC地址的請求;所述目標IP位址為所述虛擬機請求者請求連接的IP位址;
判斷模塊,用於判斷第一對照表中是否保存有所述目標IP位址對應的所述目標MAC地址;其中,所述第一對照表中保存有IP位址與網絡設備的MAC地址的對應關係且所述網絡設備包括虛擬機;
第一發送模塊,用於當所述判斷模塊判斷出所述第一對照表中保存有所述目標IP位址對應的所述目標MAC地址,發送第二ARP報文到所述虛擬機請求者,其中,所述第二ARP報文中攜帶有所述目標MAC地址。
優選地,還包括:
地址判斷單元,用於所述攔截模塊攔截虛擬機請求者發送的第一ARP報文後,判斷所述第一ARP報文中的源MAC地址是否是所述虛擬機請求者對應的預設源MAC地址;
所述判斷模塊,還用於若所述地址判斷單元判斷出所述第一ARP報文中的源MAC地址是所述虛擬機請求者對應的預設源MAC地址,判斷第一對照表中是否保存有所述目標IP位址對應的所述目標MAC地址。
優選地,還包括:
第二發送模塊,用於當所述判斷模塊判斷出所述第一對照表中沒有保存所述目標IP位址對應的所述目標MAC地址,將所述第一ARP報文發送到控制模塊;
接收模塊,用於接收所述控制模塊發送的第三ARP報文;
第三發送模塊,用於將所述第三ARP報文發送到所述虛擬機請求者。
一種防止IP位址欺騙的裝置,應用於控制模塊,所述裝置包括:
接收單元,用於接收虛擬交換機發送的第一ARP報文;
判斷單元,用於判斷第二對照表中是否保存有目標IP位址對應的目標MAC地址;其中,所述第二對照表中保存有IP位址與網絡設備的MAC地址的對應關係且所述網絡設備包括虛擬機;
發送單元,用於當所述判斷單元判斷出所述第二對照表中保存有所述目標IP位址對應的所述目標MAC地址,發送第三ARP報文到所述虛擬交換機;
其中,所述第三ARP報文中攜帶有所述目標MAC地址。
優選地,所述判斷單元包括:
判斷子單元,用於從預設位置讀取所述第二對照表並判斷所述第二對照表中是否保存有所述目標IP位址對應的所述目標MAC地址。
相較於現有技術,本發明具有以下有益效果:
本發明提供了一種防止IP位址欺騙的方法和裝置,當虛擬機請求者發送第一ARP報文時,虛擬交換機就能夠攔截第一ARP報文,進而去查詢目標IP位址對應的目標MAC地址,由於虛擬交換機攔截了第一ARP報文,因此,第一ARP報文就不會發送到其他的虛擬機上,進而就不會存在讓其他虛擬機偽造IP位址的機會,進而防止了IP位址欺騙。
附圖說明
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的實施例,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據提供的附圖獲得其他的附圖。
圖1為本發明提供的應用於虛擬交換機的一種防止IP位址欺騙的方法的方法流程圖;
圖2為本發明提供的應用於虛擬交換機的另一種防止IP位址欺騙的方法的方法流程圖;
圖3為本發明提供的應用於控制模塊的一種防止IP位址欺騙的方法的方法流程圖;
圖4為本發明提供的應用於虛擬交換機的一種防止IP位址欺騙的裝置的結構示意圖;
圖5為本發明提供的應用於虛擬交換機的另一種防止IP位址欺騙的裝置的結構示意圖;
圖6為本發明提供的應用於控制裝置的一種防止IP位址欺騙的裝置的結構示意圖。
具體實施方式
下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。
本發明實施例提供了一種防止IP位址欺騙的方法,該方法為在伺服器虛擬化環境中防止IP位址欺騙的方法,應用於虛擬交換機,虛擬交換機是一種用於電(光)信號轉發的網絡設備。虛擬交換機為openvswitch虛擬交換機。參照圖1,方法包括:
S101、攔截虛擬機請求者發送的第一ARP報文;
第一ARP報文中攜帶有獲得目標IP位址對應的目標虛擬機的目標MAC地址的請求;目標IP位址為虛擬機請求者請求連接的IP位址。其中,第一ARP報文為一種ARP請求報文。
具體的,當一個虛擬機想要連接外界的其他虛擬機時,首先確定想要連接的目標IP位址,進而發送攜帶有獲得目標IP位址對應的目標虛擬機的目標MAC地址的請求的ARP報文。當虛擬交換機檢測到該請求時,就會攔截該請求,使該請求僅發送到虛擬交換機,不會發送到其他的虛擬機。
可選的,本發明的另一實施例中,所述攔截虛擬機請求者發送的第一ARP報文後,還包括:
判斷所述第一ARP報文中的源MAC地址是否是所述虛擬機請求者對應的預設源MAC地址;
若判斷出所述第一ARP報文中的源MAC地址是所述虛擬機請求者對應的預設源MAC地址,執行所述判斷第一對照表中是否保存有所述目標IP位址對應的所述目標MAC地址。
具體的,發送第一ARP報文的虛擬機請求者可能不是在雲管平臺創建的虛擬機,此時該虛擬機請求者發送的第一ARP報文極有可能是強制偽造指定IP位址的第一ARP報文,此時判斷第一ARP報文中的源MAC地址是否是所述虛擬機請求者對應的預設源MAC地址,當第一ARP報文中的源MAC地址是所述虛擬機請求者對應的預設源MAC地址,說明虛擬機請求者是雲管平臺創建的虛擬機,此時去判斷第一對照表中是否保存有所述目標IP位址對應的所述目標MAC地址。
當第一ARP報文中的源MAC地址不是所述虛擬機請求者對應的預設源MAC地址,說明虛擬機請求者不是雲管平臺創建的虛擬機,此時第一ARP報文極有可能是強制偽造指定IP位址的第一ARP報文,虛擬交換機就能夠過濾掉第一SRP報文。
S102、判斷第一對照表中是否保存有目標IP位址對應的目標MAC地址;
其中,第一對照表包括本地流表,第一對照表中保存有IP位址與網絡設備的MAC地址的對應關係且網絡設備包括虛擬機、網卡等。第一對照表預先建立好。
具體的,攔截到第一ARP報文後,首先獲得第一ARP報文中的目標IP位址,然後從第一對照表中查看是否保存有該目標IP位址,以及是否保存有該目標IP位址對應的目標虛擬機的目標MAC地址。
S103、發送第二ARP報文到虛擬機請求者。
具體的,當判斷出第一對照表中保存有目標IP位址對應的目標MAC地址,發送第二ARP報文到虛擬機請求者,其中,第二ARP報文中攜帶有目標MAC地址,且第二ARP報文為一種ARP回應報文。
當虛擬機請求者接收到第二ARP報文後,就會按照第二ARP報文中攜帶的目標MAC地址,去連接目標MAC地址對應的虛擬機,進而能夠實現兩個虛擬機的通信。
本實施例提供了一種防止IP位址欺騙的方法,當虛擬機請求者發送第一ARP報文時,虛擬交換機就能夠攔截第一ARP報文,進而去查詢目標IP位址對應的目標MAC地址,由於虛擬交換機攔截了第一ARP報文,因此,第一ARP報文就不會發送到其他的虛擬機上,進而就不會存在讓其他虛擬機偽造IP位址的機會,進而防止了IP位址欺騙。
此外,本發明能夠過濾掉源MAC地址不是所述虛擬機請求者對應的預設源MAC地址的ARP報文,即虛擬機請求者不能隨便偽造ARP報文中的源MAC地址,進而防止虛擬機請求者強制偽造指定IP位址的ARP報文。
可選的,本發明的另一實施例中,參照圖2,當判斷出第一對照表中沒有保存目標IP位址對應的目標MAC地址後,還包括:
S204、將第一ARP報文發送到控制模塊;
具體的,當虛擬交換機內部沒有存儲有目標IP位址對應的目標MAC地址,會將第一ARP報文發送到控制模塊,進而讓控制模塊去查找目標IP位址對應的目標MAC地址。
S205、接收控制模塊發送的第三ARP報文;
具體的,當控制模塊查找到目標IP位址對應的目標MAC地址,會發送第三ARP報文到虛擬交換機,此時虛擬交換機才能夠接收到控制模塊發送的第三ARP報文。
S206、將第三ARP報文發送到虛擬機請求者。
當接收到控制模塊發送的第三ARP報文,即已經查找到目標IP位址對應的目標MAC地址,此時將第三ARP報文發送到虛擬機請求者,以使虛擬機請求者連接其想要連接的虛擬機。
本實施例中,當判斷出第一對照表中沒有保存目標IP位址對應的目標MAC地址後,會將查找目標IP位址對應的目標MAC地址的任務發送到控制模塊,以使能夠儘可能的查找到目標IP位址對應的目標MAC地址。
可選的,本發明的另一實施例中提供了一種防止IP位址欺騙的方法,應用於控制模塊,其中,控制模塊包括ONOS(Open Network Operating System)代答模塊。參照圖3,方法包括:
S301、接收虛擬交換機發送的第一ARP報文;
S302、判斷第二對照表中是否保存有目標IP位址對應的目標MAC地址;
其中,第二對照表中保存有IP位址與網絡設備的MAC地址的對應關係且網絡設備包括虛擬機。
可選的,本發明的另一實施例中,判斷第二對照表中是否保存有目標IP位址對應的目標MAC地址,包括:
從預設位置讀取第二對照表;
判斷第二對照表中是否保存有目標IP位址對應的目標MAC地址。
其中,預設位置為IP-MAC模塊,IP-MAC模塊由雲管平臺和存儲系統組成。雲管平臺用於生成IP位址與網絡設備的MAC地址的對應關係,並將IP位址與網絡設備的MAC地址的對應關係保存到存儲系統。其中,雲管平臺用於生成IP位址與網絡設備的MAC地址的對應關係的過程包括:
自動或者是人工手動生成IP位址與網絡設備的MAC地址的對應關係。
需要說明的一點是,由於部分IP位址與網絡設備的MAC地址的對應關係還未保存到虛擬交換機中,會造成虛擬交換機中存儲的第一對照表中的IP位址與網絡設備的MAC地址的對應關係的數量少於第二對照表中的IP位址與網絡設備的MAC地址的對應關係的數量。
S303、發送第三ARP報文到虛擬交換機。
具體的,當判斷出第二對照表中保存有目標IP位址對應的目標MAC地址,發送第三ARP報文到虛擬交換機。其中,第三ARP報文中攜帶有目標MAC地址。第三ARP報文為一種ARP回應報文。
當判斷出第二對照表中沒有保存有目標IP位址對應的目標MAC地址,此時,會發送第四ARP報文到虛擬交換機,告知虛擬交換機沒有查詢到目標IP位址對應的目標MAC地址,此時虛擬交換機就不會發送ARP報文到虛擬機請求者。
本實施例,接收虛擬交換機發送的第一ARP報文,去查詢目標IP位址對應的目標MAC地址,能夠儘可能的查找到目標IP位址對應的目標MAC地址,以避免IP位址欺騙。
可選的,本發明的另一實施例中提供了一種防止IP位址欺騙的裝置,參照圖4,應用於虛擬交換機,裝置包括:
攔截模塊101,用於攔截虛擬機請求者發送的第一ARP報文;
第一ARP報文中攜帶有獲得目標IP位址對應的目標虛擬機的目標MAC地址的請求;目標IP位址為虛擬機請求者請求連接的IP位址。
判斷模塊102,用於判斷第一對照表中是否保存有目標IP位址對應的目標MAC地址;
其中,第一對照表中保存有IP位址與網絡設備的MAC地址的對應關係且網絡設備包括虛擬機。
第一發送模塊103,用於當判斷模塊102判斷出第一對照表中保存有目標IP位址對應的目標MAC地址,發送第二ARP報文到虛擬機請求者。
其中,第二ARP報文中攜帶有目標MAC地址。
可選的,本發明的另一實施例中,還包括:
地址判斷單元,用於所述攔截模塊攔截虛擬機請求者發送的第一ARP報文後,判斷所述第一ARP報文中的源MAC地址是否是所述虛擬機請求者對應的預設源MAC地址;
所述判斷模塊,還用於若所述地址判斷單元判斷出所述第一ARP報文中的源MAC地址是所述虛擬機請求者對應的預設源MAC地址,判斷第一對照表中是否保存有所述目標IP位址對應的所述目標MAC地址。
本實施例提供了一種防止IP位址欺騙的裝置,當虛擬機請求者發送第一ARP報文時,虛擬交換機就能夠攔截第一ARP報文,進而去查詢目標IP位址對應的目標MAC地址,由於虛擬交換機攔截了第一ARP報文,因此,第一ARP報文就不會發送到其他的虛擬機上,進而就不會存在讓其他虛擬機偽造IP位址的機會,進而防止了IP位址欺騙。
此外,本發明能夠過濾掉源MAC地址不是所述虛擬機請求者對應的預設源MAC地址的ARP報文,即虛擬機請求者不能隨便偽造ARP報文中的源MAC地址,進而防止虛擬機請求者強制偽造指定IP位址的ARP報文。
需要說明的是,本實施例中的各個模塊的工作過程,請參照圖1對應的實施例中的內容,在此不再贅述。
可選的,本發明的另一實施例中,參照圖5,應用於虛擬交換機的防止IP位址欺騙的裝置,還包括:
第二發送模塊104,用於當判斷模塊102判斷出第一對照表中沒有保存目標IP位址對應的目標MAC地址,將第一ARP報文發送到控制模塊;
接收模塊105,用於接收控制模塊發送的第三ARP報文;
第三發送模塊106,用於將第三ARP報文發送到虛擬機請求者。
本實施例中,當判斷出第一對照表中沒有保存目標IP位址對應的目標MAC地址後,會將查找目標IP位址對應的目標MAC地址的任務發送到控制模塊,以使能夠儘可能的查找到目標IP位址對應的目標MAC地址。
需要說明的是,本實施例中的各個模塊的工作過程,請參照圖2對應的實施例中的內容,在此不再贅述。
可選的,本發明的另一實施例中提供了一種防止IP位址欺騙的裝置,應用於控制模塊,參照圖6,裝置包括:
接收單元201,用於接收虛擬交換機發送的第一ARP報文;
判斷單元202,用於判斷第二對照表中是否保存有目標IP位址對應的目標MAC地址;
其中,第二對照表中保存有IP位址與網絡設備的MAC地址的對應關係且網絡設備包括虛擬機。
發送單元203,用於當判斷單元202判斷出第二對照表中保存有目標IP位址對應的目標MAC地址,發送第三ARP報文到虛擬交換機;
其中,第三ARP報文中攜帶有目標MAC地址。
可選的,本發明的另一實施例中,判斷單元202包括:
判斷子單元,用於從預設位置讀取第二對照表並判斷第二對照表中是否保存有目標IP位址對應的目標MAC地址。
本實施例,接收虛擬交換機發送的第一ARP報文,去查詢目標IP位址對應的目標MAC地址,能夠儘可能的查找到目標IP位址對應的目標MAC地址,以避免IP位址欺騙。
需要說明的是,本實施例中的各個單元的工作過程,請參照圖3對應的實施例中的內容,在此不再贅述。
對所公開的實施例的上述說明,使本領域專業技術人員能夠實現或使用本發明。對這些實施例的多種修改對本領域的專業技術人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發明的精神或範圍的情況下,在其它實施例中實現。因此,本發明將不會被限制於本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的範圍。