歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> 更多Linux >> Linux下ip隧道研究(1)

Linux下ip隧道研究(1)

日期:2017/2/27 9:39:15   编辑:更多Linux

 摘要  由於網絡的日益普及,網絡的安全成為目前的熱門話題。本文對隧道技術的分析,就側重安全領域,對利用隧道技術實現Linux下的虛擬專網提出建議    由於網絡的日益普及,網絡的安全成為目前的熱門話題。本文對隧道技術的分析,就側重安全領域,對利用隧道技術實現Linux下的虛擬專網提出建議。    VPN在表面上是一種聯網的方式,比起專線網絡來,它具有許多優點。在VPN中,通過采用一種所謂"隧道"的技術,可以通過公共路由網絡傳送數據分組,例如Internet網或其他商業性網絡。    這裡,專有的"隧道"類似於點到點的連接。這種方式能夠使得來自許多源的網絡流量從同一個基礎設施中通過分開的隧道。這種隧道技術使用點對點通信協議代替了交換連接,通過路由網絡來連接數據地址。隧道技術允許授權移動用戶或已授權的用戶在任何時間任何地點訪問企業網絡。    通過TUNNEL的建立,可實現以下功能:    將數據流量強制到特定的目的地   隱藏私有的網絡地址   在IP網上傳輸非IP協議數據包   提供數據安全支持   協助完成用戶基於AAA的管理。   隧道技術基礎   隧道技術是一種通過使用互聯網絡的基礎設施在網絡之間傳遞數據的方式。使用隧道傳遞的數據(或負載)可以是不同協議的數據桢(此字不正確)或包。隧道協議將這些其它協議的數據桢或包重新封裝在新的包頭中發送。新的包頭提供了路由信息,從而使封裝的負載數據能夠通過互聯網絡傳遞。    被封裝的數據包在隧道的兩個端點之間通過公共互聯網絡進行路由。被封裝的數據包在公共互聯網絡上傳遞時所經過的邏輯路徑稱為隧道。一旦到達網絡終點,數據將被解包並轉發到最終目的地。注意隧道技術是指包括數據封裝,傳輸和解包在內的全過程。    隧道所使用的傳輸網絡可以是任何類型的公共互聯網絡,本文主要以目前普遍使用Internet為例進行說明。此外,在企業網絡同樣可以創建隧道。隧道技術在經過一段時間的發展和完善之後,目前較為成熟的技術包括:    1. IP網絡上的SNA隧道技術    當SNA的數據流通過企業IP網絡傳送時,SNA數據桢將被封裝在UDP和IP協議包頭中。     2. IP網絡上的NovellNetWareIPX隧道技術    當一個IPX數據包被發送到NetWare服務器或IPX路由器時,服務器或路由器用UDP和IP包頭封裝IPX數據包後通過IP網絡發送。另一端的IP-TO-IPX路由器在去除UDP和IP包頭之後,把數據包轉發到IPX目的地。    近幾年不斷出現了一些新的隧道技術,本文將主要介紹這些新技術。具體包括:    1. 點對點隧道協議(PPTP)    PPTP協議允許對IP,IPX或NetBEUI數據流進行加密,然後封裝在IP包頭中通過企業IP網絡或公共互聯網絡發送。    2. 第2層隧道協議(L2TP)    L2TP協議允許對IP,IPX或NetBEUI數據流進行加密,然後通過支持點對點數據報傳遞的任意網絡發送,如IP,X.25,桢中繼或ATM。    3.安全IP(IPSec)隧道模式    IPSec隧道模式允許對IP負載數據進行加密,然後封裝在IP包頭中通過企業IP網絡或公共IP互聯網絡如Internet發送。    隧道協議   為創建隧道,隧道的客戶機和服務器雙方必須使用相同的隧道協議。    隧道技術可以分別以第2層或第3層隧道協議為基礎。上述分層按照開放系統互聯(OSI)的參考模型劃分。第2層隧道協議對應OSI模型中的數據鏈路層,使用桢作為數據交換單位。PPTP,L2TP和L2F(第2層轉發)都屬於第2層隧道協議,都是將數據封裝在點對點協議(PPP)桢中通過互聯網絡發送。第3層隧道協議對應OSI模型中的網絡層,使用包作為數據交換單位。IP overIP以及IPSec隧道模式都屬於第3層隧道協議,都是將IP包封裝在附加的IP包頭中通過IP網絡傳送。    提供PPTP客戶機和PPTP服務器之間的加密通信。PPTP客戶機是指運行了該協議的PC機,如啟動該協議的Windows95/98;PPTP服務器是指運行該協議的服務器,如啟動該協議的WindowsNT服務器。PPTP是PPP協議的一種擴展。它提供了一種在互聯網上建立多協議的安全虛擬專用網(VPN)的通信方式。遠端用戶能夠透過任何支持PPTP的ISP訪問公司的專用網。    通過PPTP,客戶可采用撥號方式接入公用IP網。撥號用戶首先按常規方式撥到ISP的接入服務器(NAS),建立PPP連接;在此基礎上,用戶進行二次撥號建立到PPTP服務器的連接,該連接稱為PPTP隧道,實質上是基於IP協議的另一個PPP連接,其中的IP包可以封裝多種協議數據,包括TCP/IP、IPX和NetBEUI。PPTP采用了基於RSA公司RC4的數據加密方法,保證了虛擬連接通道的安全。對於直接連到互聯網的用戶則不需要PPP的撥號連接,可以直接與PPTP服務器建立虛擬通道。PPTP把建立隧道的主動權交給了用戶,但用戶需要在其PC機上配置PPTP,這樣做既增加了用戶的工作量,又會給網絡帶來隱患。另外,PPTP只支持IP作為傳輸協議。    第2層轉發(L2F)   L2F是Cisco公司提出隧道技術,作為一種傳輸協議L2F支持撥號接入服務器將撥號數據流封裝在PPP桢內通過廣域網鏈路傳送到L2F服務器(路由器)。L2F服務器把數據包解包之重新注入(inject)網絡。與PPTP和L2TP不同,L2F沒有確定的客戶方。應當注意L2F只在強制隧道中有效。(自願和強制隧道的介紹參看“隧道類型”)。    第2層隧道協議(L2TP)   L2TP隧道協議是典型的被動式隧道協議,它結合了L2F和PPTP的優點,可以讓用戶從客戶端或訪問服務器端發起VPN連接。L2TP是把鏈路層PPP幀封裝在公共網絡設施如IP、ATM、幀中繼中進行隧道傳輸的封裝協議。     L2TP主要由LAC(L2TP Access Concentrator) 和LNS(L2TP Network Server) 構成,LAC支持客戶端的L2TP,用於發起呼叫、接收呼叫和建立隧道;LNS是所有隧道的終點,LNS終止所有的PPP流。在傳統的PPP連接中,用戶撥號連接的終點是LAC,L2TP使得PPP協議的終點延伸到LNS。     L2TP的好處在於支持多種協議,用戶可以保留原有的IPX、Appletalk等協議或公司原有的IP地址。L2TP還解決了多個PPP鏈路的捆綁問題,PPP鏈路捆綁要求其成員均指向同一個NAS(Network Access Server),L2TP可以使物理上連接到不同NAS的PPP鏈路,在邏輯上的終結點為同一個物理設備。L2TP還支持信道認證,並提供了差錯和流量控制。     L2TP利用IPsec增強了安全性,支持數據包的認證、加密和密鑰管理。L2TP/IPSec因此能為遠程用戶提供設計精巧並有互操作性的安全隧道連接。這對安全的遠程訪問和安全的網關之間連接來說,它是一個很好的解決方案。因此,安全的VPN需要同時解決好L2TP和IPSec這兩個不同的問題。L2TP協議解決了穿過IP網絡的不同用戶協議的轉換問題;IPSec協議(加密/解密協議)解決了通過公共網絡傳輸信息的保密問題。     IP網上的L2TP使用UDP和一系列的L2TP消息對隧道進行維護。L2TP同樣使用UDP將L2TP協議封裝的PPP桢通過隧道發送。可以對封裝PPP桢中的負載數據進行加密或壓縮。 PPTP與L2TP     PPTP和L2TP都使用PPP協議對數據進行封裝,然後添加附加包頭用於數據在互聯網絡上的傳輸。盡管兩個協議非常相似,但是仍存在以下幾方面的不同:    PPTP要求互聯網絡為IP網絡。L2TP只要求隧道媒介提供面向數據包的點對點的連接。L2TP可以在IP(使用UDP),桢中繼永久虛擬電路(PVCs),X.25虛擬電路(VCs)或ATM VCs網絡上使用。    PPTP只能在兩端點間建立單一隧道。L2TP支持在兩端點間使用多隧道。使用L2TP,用戶可以針對不同的服務質量創建不同的隧道。    L2TP可以提供包頭壓縮。當壓縮包頭時,系統開銷(overhead)占用4個字節,而PPTP協議下要占用6個字節。    L2TP可以提供隧道驗證,而PPTP則不支持隧道驗證。但是當L2TP或PPTP與IPSEC共同使用時,可以由IPSEC提供隧道驗證,不需要在第2層協議上驗證隧道。     IPSec隧道模式   IPSec在IP層上對數據包進行高強度的安全處理,提供數據源地驗證、無連接數據完整性、數據機密性、抗重播和有限業務流機密性等安全服務。各種應用程序可以享用IP層提供的安全服務和密鑰管理,而不必設計和實現自己的安全機制,因此減少密鑰協商的開銷,也降低了產生安全漏洞的可能性。IPSec可連續或遞歸應用,在路由器、防火牆、主機和通信鏈路上配置,實現端到端安全、虛擬專用網絡(VPN)和安全隧道技術。    IPSEC是第3層的協議標准,支持IP網絡上數據的安全傳輸。本文將在“高級安全”一部分中對IPSEC進行詳細的總體介紹,此處僅結合隧道協議討論IPSEC協議的一個方面。除了對IP數據流的加密機制進行了規定之外,IPSEC還制定了IPoverIP隧道模式的數據包格式,一般被稱作IPSEC隧道模式。一個IPSEC隧道由一個隧道客戶和隧道服務器組成,兩端都配置使用IPSEC隧道技術,采用協商加密機制。    為實現在專用或公共IP網絡上的安全傳輸,IPSEC隧道模式使用的安全方式封裝和加密整個IP包。然後對加密的負載再次封裝在明文IP包頭內通過網絡發送到隧道服務器端。隧道服務器對收到的數據報進行處理,在去除明文IP包頭,對內容進行解密之後,獲的最初的負載IP包。負載IP包在經過正常處理之後被路由到位於目標網絡的目的地。    IPSEC隧道模式具有以下功能和局限:   只能支持IP數據流   工作在IP棧(IPstack)的底層,因此,應用程序和高層協議可以繼承IPSEC的行為。   由一個安全策略(一整套過濾機制)進行控制。安全策略按照優先級的先後順序創建可供使用的加密和隧道機制以及驗證方式。當需要建立通訊時,雙方機器執行相互驗證,然後協商使用何種加密方式。此後的所有數據流都將使用雙方協商的加密機制進行加密,然後封裝在隧道包頭內。   




Copyright © Linux教程網 All Rights Reserved