Linux内核VPN实现源码分析(一)
来源:互联网 发布:婚礼宣传片制作软件 编辑:程序博客网 时间:2024/06/06 18:20
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协议开始。
- Linux内核VPN实现源码分析(一)
- Linux内核VPN实现源码分析(一)
- Linux内核VPN实现源码分析(二)
- Linux内核VPN实现源码分析(三)
- Linux内核VPN实现源码分析
- Linux内核源码分析(一)--序言
- Linux内核源码分析
- 深入分析Linux内核源码-Linux管道的实现机制
- Linux内核源码分析--内存管理(一、分页机制)
- Linux内核源码分析--内存管理(一、分页机制)
- 读Linux内核源码情景分析(一)
- 一、Linux内核分析
- webkit内核源码分析一
- 深入分析Linux内核源码
- 深入分析Linux内核源码
- 深入分析Linux内核源码
- linux 内核中断源码分析
- 深入分析Linux内核源码
- JavaScript 网页两侧对联浮动广告
- SQL 数据库备份
- Task和Activity相关
- 设计模式之迭代器模式
- Linux 命令学习
- Linux内核VPN实现源码分析(一)
- 最近的学习感想
- Java中类型的生命周期
- java环境变量的配置
- 多层函数参数非const引用潜在的危险
- erwere
- 插入排序
- C# 向Excel插入图片
- HDU A strange lift