论文部分内容阅读
随着Internet应用的普及和深入,全球性公司和组织广泛分布,各分支机构之间需要进行及时安全的通信,VPN作为一种廉价安全的组网方案越来越受到人们的青睐。IPSec协议良好的体系结构及解决端对端通信的能力,使其成为目前最常用的VPN解决方案。
目前的IPSecVPN系统仍存在一些不足。首先,由于多数负载平衡系统无法判别被VPN系统加密的数据包,使得多链路负载平衡功能和容错功能几乎丧失,无法保证VPN的高效性和可靠性。其次,传统的IPSec实施方案难以保证VPN系统的通信性能和可扩展性。
针对上述需求和传统方案的缺陷,本文提出利用Linux的Netfilter框架来实现基于IPSec的VPN网关系统。这种实现方法既没有直接修改内核源代码,又真正达到了修改内核IP协议栈处理流程的目的。
该系统利用Netfilter的HOOK机制,将IPSec处理、多链路负载平衡与原有的网络层处理融合在一起。IPSec处理与网络层处理的无缝结合保证了系统的高效性;多链路负载平衡提供的链路选择、备份和连接迁移功能提高了系统的性能和容错能力;对PFKEY协议的实现和扩展,使内核空间与用户空间的通信更加方便灵活,并为系统进一步完善IKE功能做了准备;而Netfilter架构本身的良好特性进一步增强了系统的可扩展性。此外,系统的配置、日志、报警等功能为用户提供了全面、便利的管理手段。
本文对系统的功能和性能均做了详细测试,并给出了测试过程中遇到的主要问题及其解决方法。最后,针对系统的的不足本文提出了改进方向和建议。