记录详细的系统信息,调试及错误日志 其他 解决了上述的几个问题,基本可以保证VPN通讯模型能够建立起来了。但是并不完美,这是最简单的VPN。即通过对端两个静态的IP地址,实现异地网络的互联。美国的很多VPN设备就作到这一级,因为美国IP地址充裕,分配静态IP地址没有问题。苦的是我等中国客户,2端都需要静态IP地址,相当于2根Internet专线接入。VPN要在中国用起来,还要解决一堆的相关问题。。 包封装包方法 通过Internet建立了一个通讯的隧道,通过这个通讯的隧道,就可以建立起网络的连接。但是这个模型并非完美,仍然有很多问题需要解决。在讲述其他问题以前,我们对VPN定义几个概念。 VPN节点 一个VPN节点,可能是一台VPN网关,也可能是一个客户端软件。在VPN组网中间,属于组网的一个通讯节点。它应该能够连接 Internet,有可能是直接连接,比如adsl、电话拨号等等,也可能是通过nat方式,例如:小区宽带、cdma上网、铁通线路等等。VPN隧道:在两个vpn节点之间建立的一个虚拟链路通道。两个设备内部的网络,能够通过这个虚拟的数据链路到达对方。与此相关的信息是当时两个VPN节点的IP地址,隧道名称、双方的密钥。 隧道路由 一个设备可能和很多设备建立隧道,那么就存在一个隧道选择的问题,即到什么目的地,走哪一个隧道?用前面的通讯模型来说,老李老张就是隧道节点,他们通过邮政系统建立的密码通讯关系,就是一个数据隧道,小张和小李把信发给他们老爸的时候,他们老爸要作出抉择,这封信怎么封装,封装以后送给谁。假如还有一个老王和他们的儿子,也要通讯,这时候隧道路由就比较好理解了。送给小王的数据,就封装给老王,送给小李的数据,就封装发给老李。如果节点非常多,那么这个隧道路由就会比较复杂。理解了以上的问题,我们就知道,ipsec要解决的问题其实,可以分为以下几个步骤:找到对方vpn节点设备,如果对方是动态IP地址,那么必须能够通过一种有效途径能够及时发现对方IP地址的变化。按照通讯模型,就是老李老张如果经常搬家的话,必须有一个有效的机制,能够及时发现老李老张地址的变化。 建立隧道 建立隧道说起来简单,做起来不容易。如果两个设备都有合法的公网IP,那么建立一个隧道是比较容易的。如果一方在nat之后,那就比较麻烦了。一般通过内部的vpn节点发起一个udp连接,再封装一次ipsec,送到对方,因为udp可以通过防火墙进行记忆,因此通过udp再封装的ipsec 包,可以通过防火墙来回传递。建立隧道以后,就确定隧道路由,即到哪里去,走哪个隧道。很多VPN隧道配置的时候,就定义了保护网络,这样,隧道路由就根据保护的网络关系来决定。但是这丧失了一定的灵活性。所有的ipsec VPN展开来讲,实现的无非就是以上几个要点,具体各家公司,各有各的做法。但是可以肯定,目前在市场销售的VPN,肯定都已经解决了以上的问题。