手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>操作系统>Linux>列表

Linux中IP隧道的分析与建议

来源:互联网 作者:west263.com 时间:2008-02-23
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!


7 消息密钥是否需保留

8-15 保留



CheckSum: 头校验

IPIP Options: 用来传送一些必要的数据,比如消息密钥、签名等

格式: -------------------------------------

| 类型 | 长度 | 数据 ... |

-------------------------------------



好了,有了这个东西,我们就可以扩展Linux IP Tunnel为我们的VPN服务了。

首先,改写new_tunnel.c和ipip.c两个文件,加入对IPIP头的处理。



接着,我们要实现一种密钥的管理和传送机制。

当然,对称密钥是必需的,而对IP数据包加密要使用序列密码。从全体考虑,

我们可以提出建立VPN的逻辑步骤;

1、准备工作:建网安装系统完成配置等等

2、隧道的两端分别向对方发送自己的公开密码和设备号

3、如有必要,产生序列密码,后加密签名传给对方

4、正常通信,----放心,你的数据已经很保险了。



在一个VPN的隧道中,一个封包的格式应如图四所示。



/ -----------------

| | 封包IP头 |

封包头 | -----------------

| | 封包协议头 |

\ -----------------

/ | |

| | 原协议头 |

| | 及 |

封包数据 | | 原协议数据 |

| . (密文) .

| . .

| | |

\ -----------------





图四. VPN封包结构







你的几种使用方法。

事情往往不能两全其美,你在安全强度和通信速度上必须作出选择,

(不然你就需要在安全强度和Money的耗费中做选择。)

使用这样的协议,根据你的需求不同,你可有不同的使用方法,下面列举

一些:

0、跨Internet的公司多个内部网之间进行通信,保密性并不重要

直接使用原框架机制,无任何加密措施

这样速度快、效率高,公司也不用申请多个IP地址,方便可行

1、一般性的商业应用,具有保密要求

利用事先产生的序列密码,每次对原数据包加密

安全度提高了,是一种十分实用的方法。只要强度足够,一般很难破译

速度快

2、密码不变的方式你认为不够安全

你可以自己实现一种密码传送方法,每隔一段时间更换一次密码。

其中一些握手关系需要完善,有兴趣的欢迎探讨。

如果发展成熟,此法相信很有前途。

4、高度机密领域

敬请使用一次一密,并进行每次签名。

每次产生新密钥和签名十分费时,在目前我国Internet网络的速度下

几乎不可行。

但相信有此需要的部门也能够设法提高其网络带宽,让网络状况适合

这种应用。



另外,当然还可以就加密强度自身作出选择,比如选择128位,还是512位、1024位









四、

待完善



主要牵涉到隧道的管理,在封包的传送过程中如果出现错误是十分正常的,

当一台路由器检测到错误时,它会发送一个ICMP包给隧道的发送端,但遗憾的是

ICMP返回的数据除了IP头外,只含8个字节的上层协议信息。只凭这个难以对

ICMP信息作出反应,因此,在隧道端保留一些状态信息是必须的。这些信息

主要包括:

隧道的另一端的可达性

隧道的拥塞状况

隧道的MTU

同时所发送的封包信息也是需要保留的,举例说,当一个路由不可达信息

到来时,封包的发送者要能够找出所封装的数据来自何方,并发送相应的ICMP包。



强调一点,MTU的更新对隧道来将很重要,因为一个灵活的隧道的下一级设备是

不定的,同时一些数据包本身也要求更改MTU。


所有这些,在Linux中的处理都不够或根本没有处理。大家努力呀!

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!