Linux核心VPN實現源碼分析(一)

來源:互聯網
上載者:User
1.  linux下vpn簡介


一般而言,
linux

VPN
按照實現的協議棧可以分為應用程式層和網路層的
VPN
,應用程式層的
vpn
實現常見的比如有
SSL vpn
,著名得的開源實現有
openvpn
,而網路層的常見的為
IPSec VPN

SSL VPN
文本將不作介紹,網路上關於
openvpn
資料也比較多,大家可以自行研究。



其實
linux2.6
核心實現了至少三種
VPN
,這三種
VPN
分別是
IPIP
協議,
IPGRE
協議和
IPSec
協議,在核心原始碼中的檔案分別是
ipip.c

ip_gre.c

xfrm
開頭的檔案當中。但如果加上著名的開源
IPSec VPN openswan
,就有四種了。這四種從實現原理上看可分為兩種,一種是採用虛擬網卡建立隧道的方式,可以通過插入相應核心模組來運行,
linux2.6
核心的
IPIP
協議,
IPGRE
協議和
openswan

IPSec
協議,另一類是直接實現在核心裡面,即核心實現的
IPSec VPN
。因此,前面的三種實現是非常相似的。



對於
Linux2.6
核心中內建了
IPSec
的實現(註明:
linux2.4
核心可以通過打補丁的方式來支援),本文將不作任何分析,因為已經有前輩做了很好的分析,參見
http://blog.chinaunix.net/u/12313/showart_313220.html

,可惜的是,這位大牛前輩的
blog
已經很久沒有更新的。
Linux2.6
核心中內建了
IPSec
可以通過開源的工具
IPSec tool
來進行配置。



本文現在將開始循序漸進的方式分析
linux2.6.30
核心實現基於虛擬網卡的
VPN
的源碼,首先從最簡單的
IPIP
協議開始。

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.