PPTPL2TP协议详解以及应用部署.doc_第1页
PPTPL2TP协议详解以及应用部署.doc_第2页
PPTPL2TP协议详解以及应用部署.doc_第3页
PPTPL2TP协议详解以及应用部署.doc_第4页
PPTPL2TP协议详解以及应用部署.doc_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PPTP/L2TP协议讲述以及应用部署一、基本概念PPTPPPTP是对端对端协议(PPP)的一种扩展,它采用了PPP所提供的身份验证、压缩与加密机制。PPTP能够随TCP/IP协议一道自动进行安装。PPTP与Microsoft端对端加密(MPPE)技术提供了用以对保密数据进行封装与加密的VPN服务。MPPE将通过由MS-CHAP、MS-CHAP v2身份验证过程所生成的加密密钥对PPP帧进行加密。为对PPP帧中所包含的有效数据进行加密,虚拟专用网络客户端必须使用MS-CHAP、MS-CHAP v2身份验证协议。L2TP与PPTP不同,Windows所支持的L2TP协议并非利用MPPE对PPP帧进行加密。L2TP依靠Internet协议安全性(IPSec)技术提供加密服务。L2TP与IPSec的结合产物称为L2TP IPSEC VPN。VPN客户端与VPN服务器都必须支持L2TP和IPSec。也可以单独使用L2TP,这就需要修改windows主机的注册表,具体的修改过程,在建立简单的L2TP隧道中讲述。二、数据封装PPTP 1.控制连接和隧道维护PPTP控制连接建立在PPTP客户端机IP地址和PPTP服务器IP之间,PPTP客户端机使用动态分配的TCP端口号,而PPTP服务器则使用保留TCP端口号1723。PPTP控制连接携带PPTP呼叫控制和管理信息,用于维护PPTP隧道,其中包括周期性地的发送回送请求和回送应答消息,用于检测出客户端与服务器之间可能出现的连接中断。PPTP控制连接数包包括一个IP报头,一个TCP报头和PPTP控制消息。Star-Control-Connection-Request:由PPTP客户机发出,请求建立控制连接Star-Control-Connection-Reply:PPTP服务器对Star-Control-Connection-Request回应Outgoing-Call- Request:由PPTP客户机发出,请求创建PPTP隧道,该消息包含GRE报头中call id,该id可唯一地标识一条隧道Outgoing-Call- Reply:PPTP服务器对Outgoing-Call- Request t回应Set-Link-Info:由PPTP客户机或服务器任一方发出,设置PPP协商选项Call-Clear-Request:由PPTP客户机发出,请求终止隧道Call-Disconnect-Notify:PPTP服务器对Call-Clear-Request回应或者其他原因指示必须终止隧道Stop-Control-Connection-Request:由PPTP客户机或者服务器任一方发出,通知对端控制连接将被终止Stop-Control-Connection-Reply:回应Stop-Control-Connection-Request消息2.PPTP数据封装将原来Ethernet数据包先封装成PPP packet,再由GRE封装,通过Internet传送至接收端(注意:当身份认证协议选择MS-chap以及MS-chapv2的时候,ppp payload将被加密)L2TP1. L2TP控制连接L2TP控制连接建立在L2TP客户端机IP地址和L2TP服务器IP之间,PPTP客户端机使用动态分配的UDP端口号,而L2TP服务器则使用保留UDP端口号1701。L2TP控制连接用于隧道和会话连接的建立、维护以及传输控制。L2TP控制连接数包包括一个IP报头,一个UDP报头和L2TP控制消息。控制连接建立和会话建立首先由客户端发起隧道建立请求SCCRQ(start-control-connection-request)服务器收到后用SCCRP(start-control-connection-reply)客户端收到应答后返回确认SCCCN(start-control-connection-conneted)服务器收到之后用ZLB(zero-length boby)消息作为最后应答,其中ZLB消息是一个只有L2TP头的控制消息,其作用是作为一个明确应答,以确保控制消息的可靠传输客户端发起建立请求ICRQ(incoming-call-request)服务器收到请求后返回应答ICRP(incoming-call-reply)客户端收到应答会返回确认ICCN(incoming-call-conneted)服务器收到ICCN后,用ZLB消息作为最后的应答,会话建立1. L2TP数据连接L2TP数据消息用于封装PPP帧,并在隧道上传输。1. 工作原理原始用户数据为IP报文,先经过PPP封装,然后链路层将PPP帧进行L2TP封装,将其封装成UDP,并继续封装成可以在internet上传输的IP报文,此时的结果就是IP报文中有PPP帧,PPP帧中还有IP报文,但两个IP地址不同,里面的IP头部是私有地址(原地址为L2TP服务器动态分配的地址,目的地址为公司内网服务器的地址),外层IP头部的原IP是客户端的原始地址,目的IP是L2TP服务器的地址,至此完成客户端数据封装,然后通过L2TP隧道将报文发送到L2TP服务器,L2TP服务器收到封装的IP报文,发现外层IP头部的目的地址是指定自己的,然后L2TP服务器解封装报文,得到里面的IP报文,然后根据IP头部的的目的IP地址将数据包发送到内网局域网服务器。1. L2TP IPSEC VPN可以发现L2TP IPSEC VPN的数据封装是在原始L2TP数据连接的IP头部后面加入ESP字段的,所以这是一种传输模式的IPSEC隧道。因为ESP后面的数据是经过加密的,所以这里就不例举抓包结果了。三协议和算法介绍PPP1.工作流程一个IP分组需要传输,出发PPP层启动连接过程,LCP协议负责完成连接的建立过程,PAP或者CHAP协议完成身份认证,IPCP协议进一步完成网络层协议协商,当以上过程都成功完成之后,IP分组封装在PPP帧中传输到对方2.协议分析LCP:负责链路的建立,维护以及拆除CHAP:对客户端进行身份认证IPCP:负责协商IP地址以及DNS等信息CCP:负责压缩的协商GRE1.概述GRE(通用路由封装)定义了在任意一种网络层协议上封装任意一个其它网络层协议的协议。2.封装在大多数情况下,系统拥有一个有效载荷包,需要将它封装并发送某个目的地。首先将有效载荷封装在一个GRE包中,然后将此GRE包封装在其它某协议中并进行转发。比如在PPTP隧道中,IP包封装GRE包,在IP头部中指明下层协议GRE的协议号47,GRE包封装PPP包,在GRE头部中指明下层协议PPP的协议号0x880b3.应用GRE OVER IPSEC当数据包到达隧道一端A,A查询路由,发现去往该目的地的数据包需要经过GRE封装,在原始的数据包上加上GRE头部以及新的ip头部,然后A重新查询规则,发现该新的ip头部需要经过ipsec模块处理,所以数据包又经过加密封装之后,查询路由之后发送到隧道对端B,B发现该数据包的目的是发给自己的,解封装时ip头部的协议字段指明封装的是ESP或者AH,然后B解密等操作,发现该数据包的原始目的,查询路由之后,该数据包送到保护网络中。因为ipsec并不能承载动态路由协议以及组播,所以需要用到这两种技术的时候,可以选择GRE OVER IPSEC。IPSEC OVER GRE没有什么实际的使用意义PPTP请查看PPTP的讲述L2TP请查看L2TP的讲述PAP口令直接以明文在网络上传输,建议选择CHAP,更安全。CHAPCHAP是一种加密的验证方式,能够避免建立连接时传送用户的真实密码,服务器向客户端发送一个挑战口令challenge,其中包括会话ID和一个任意生成的挑战字符串。当客户端收到后,必须使用MD5算法计算用户口令以及挑战口令的hash值,然后将这个hash值和用户名传送给服务器。因为服务器上有该用户名和口令,然后服务器同样使用MD5算法计算出该用户密码和挑战口令的hash值,与客户端传送给自己的hash值比较,如果相同的话,则身份验证通过。Challenge=session_id+challenge_stringRespond=md5(session_id+challenge_string+user_passwd)+uer_name四应用环境建立虚拟专用网络第一步: pc机上网络邻居-属性第二步:在网络连接中选择创建一个新的连接第三步:在弹出的新建连接向导中选择下一步第四步:选择连接到我的工作场所的网络,然后下一步第五步:选择虚拟专用网络连接,然后下一步第六步:输入公司名,我这里输入的是leadsec,这个是随便怎么写的,然后下一步第七步:选择不拨初始连接,然后下一步第八步:输入服务器的ip地址,然后下一步第九步:选择完成即可不经过NAT的PPTP隧道1.拓扑图2.环境描述经过专线的远程用户连接互联网,该远程用户需要连接到公司局域网,需要与公司出口防火墙建立PPTP隧道,当建立PPTP隧道成功之后,测试该远程用户是否还能访问互联网3.配置在远程用户的虚拟专用网络属性中指定VPN类型是PPTP VPN,项目只选择Internet协议(TCP/IP),常规选项中填入目的主机地址,在安全选项中选择高级,指定数据加密可选加密,允许认证协议MSCHAP以及MS-CHAPV2,其他参数保持默认(版本以及之前的版本必须这么配置)在防火墙处开启PPTP服务,配置远程拨号用户以及全局的地址池或者用户中的虚拟ip地址(如果用户中配置有虚拟ip地址,则该地址优先与地址池中地址分配给远程用户)连接虚拟专用网络leadsec查看防火墙给远程用户分配的虚拟地址查看虚拟专用网络leadsec的状态,类型是PPTP,身份验证MS CHAP V2,,分配给远程客户端地址为,防火墙PPTP服务器虚拟地址查看远程客户端的路由变化,第一条默认路由是虚拟专用网络leadsec连接成功之后添加,它的网关为它自己,并且它的度量值为1,比第二条默认路由的度量值小,所以默认查不到明细路由的数据包都送到第一条默认路由进行处理。所以虚拟专用网络leadsec连接之后,远程用户不能再访问互联网地址,只能访问公司局域网查看防火墙的路由变化,多了到目的网络的出接口ppp0的明细路由经过NAT的PPTP隧道1.拓扑图2.环境描述分支机构通过出口FW1连接互联网,在出口FW1上作NAT,将/24网段转换为出口FW1的外网口地址92,现在分支结构需要通过PPTP隧道连接到公司总部局域网。3.配置在公司总部出口FW2上添加两个远程拨号用户,并且开启PPTP服务在出口FW1上作NAT转化,将/24到any的流量源地址转化为92分别在分支结构的两个客户端建立虚拟拨号连接,连接到92,具体的参数配置参考不经过NAT的PPTP隧道,这里不再详述了。接下来要分析的是PPTP穿越NAT的工作机制PPTP穿越NAT的工作机制我们知道GRE(请看GRE协议介绍)是没有端口信息的,并且它是跟TCP、UDP是同一层的,GRE的ip协议号是47,TCP的ip协议号是6,UDP的ip协议号是17。那GRE穿越NAT的时候怎么映射呢?这个时候你可能会想到那就只转换ip不就得了,但是这对防火墙是个问题。接下来我们就来分析下:如果处于分支机构的主机A(NAT转换为92)与pptp服务器21建立连接,控制连接成功建立,数据连接由于没有端口,NAT只做其ip的转换,于是在出口FW1上有这样的一个NAT表:SIPSPortProto转换地址转换端口DIPDPort5000TCP9250011723GRE92当92这个防火墙收到来自于pptp服务器21的数据流包时,92这个 nat设备发现来自于网络21的gre 协议数据包,是给分支结构的主机的,所以成功通信。分析如果位于分支结构的 也与21的pptp服务器通信,结果就不太理想了。因为如果在nat表中还有一条到达主机的gre通信,到收到一个gre协议数据包时,92这个nat设备犹豫了,这个包给谁呢??还是呢?在此大家也不要忘了,我们的实验环境是只有一个公网ip,分支结构的和出去的时候,源ip都转换成了公网的ip92,所以收到的数据包都是目标ip为92,然后nat设备根据端口的不同转发到不同的主机,但是又因为GRE根本就没有端口这一说法,所以有两个客户端就无法通信。当然了,明知道PPTP穿越NAT的时候有问题,我们就要解决它,就好像IPSEC穿越NAT的时候,就需要在IPSEC包头前面额外的插上UDP。人们发现gre协议中有一个字段,可以拿来利用,那就是这个call id值,这个值并不固定,可以改变。这个值是怎么回事呢?用来标识唯一会话的。这个值最早出现在控制连接中,客户端与服务器互相通告彼此的call id值,然后在其数据连接中,服务器call id值写上客户端的,客户端写上服务器的callid值。所以我可以把call id值当做端口来看,然后添加到nat表中。下面来具体分析下call id和nat转化的关系了!分析客户端到PPTP服务器21的PPP以及GRE数据报到21的Outgoing-Call-Request包中表明自己的call id为327721到的Outgoing-Call-Reply包中表明自己的call id为3712,并指明客户端的call id为3277到21的GRE包中会携服务器的call id 371221到的GRE包中会携客户端的call id 3277接下来看下NAT设备的NAT表将NAT表转化为图标的形式为:(注意需要把srckey以及deskey当成源端口以及目的端口,并且将十六进制转化为十进制)SIPSPortProto转换地址转换端口DIPDPort3277TCP92327721172362524GRE923712213712213712GRE92327732772051TCP92172321172332768GRE923840213840213840GRE9220512051可以看出利用客户端以及服务器的call id当成端口号,多个客户端穿越nat的时候可以同时与PPTP服务器建立连接简单l2tp隧道默认情况下,windows系统中L2TP是与IPSEC功能相结合的,如果只想简单的使用L2TP隧道,需要在远程客户端系统中禁用L2TP与IPSEC的结合功能,这时就需要修改远程客户端的注册表了。在HKEY_MACHINESYSTEMCurrentContorlSetServicesRasManParameters增加名称为prohibitipsec,类型为REG_DWORD,值为1的键值,保存之后重新启动计算机才有效。修改虚拟专用网络的VPN类型为L2TP IPSec VPN,其他参数与PPTP隧道的参数一致然后连接虚拟专用网络leadsec,L2TP服务器的虚拟地址为,分配给远程L2TP用户的虚拟ip为2。所以PPTP用户和L2TP用户共享地址池中地址,L2TP用户使用地址池中的后一段。在新版本的防火墙中,PPTP和L2TP用户的虚拟地址将分别设置。查看L2TP客户端的路由,添加了一条默认路由,网关是2.并且度量值为1,所以到目的网络的数据包没有明细路由的都选择使用L2TP隧道L2TP服务端新增了一条路由,出接口是ppp0l2tp ipsec vpn使用预共享密钥认证1.客户端的配置与简单l2tp隧道的配置区别删除注册表中HKEY_MACHINESYSTEMCurrentContorlSetServicesRasManParameters中,名称为prohibitipsec的键值,重启客户端主机。因为客户端默认prohibitipsec的键值是不存在的,所以这步可以省略。2.在虚拟专用网络中修改开启使用预共享密钥身份认证,并且该密钥与服务器的保持一致L2tp服务器配置需要增加ipsec隧道的配置开启ipsec模块配置远程VPN,这里需要注意的是因为windows认证野蛮模式不安全,所以远程VPN中必须选择主模式配置客户端隧道,注意这里使用的是传输模式。传输模式只保护有效负载,不对原始ip加密,所以这里的本地保护子网即是建立隧道的端口地址隧道建立之后IPSEC隧道中有L2TP的流量建立隧道的接口收到的包是经过ESP封装的L2TP服务器的虚拟接口收到的是原始数据报需要注意的是,虽然流量经过了IPSEC隧道,但是IPSEC隧道监控处显示的流量一直为0L2TP隧道监控处显示的加密强度是NONE,因为是通过ipsec进行加密处理的,与MPPE没有关系使用证书认证1.相比预共享密钥的认证,使用证书进行认证更可靠并且可用性更高。安装一个证书服务器,至于怎么安装,这里就不详细说了。一般情况下证书服务器部署在企业局域网中,所以远程用户需要使用证书服务的时候,可以先使用PPTP隧道连接企业的局域网,这样就可以进行证书的申请和安装了2.先假设远程用户1与PPTP服务器的隧道已经建立成功,并且可以成功访问证书服务器。浏览器访问/certsrv,申请一个证书3.使用高级证书申请4.使用创建并向此CA提交一个申请5.填写姓名,使用远程用户主机的计算机名字,证书类型选择客户端身份验证证书,并勾选将证书保存在本地计算机存储中,然后提交即可CA服务器的管理员需要离线确认该申请,CA服务器管理员打开管理工具中的证书颁发结构,在挂起的申请中选择颁发动作然后远程用户1访问/certsrv,选择查看挂起的证书申请的状态选择客户端身份证书验证证书选择安装此证书安装客户端成功之后,远程用户在运行中输入mmc,打开控制台打开文件中的添加/删除管理单元选择添加操作,选择证书,选择计算机账户,然后选择本机计算机即可12.完成之后,在个人证书中就有客户端证书13远程用户访问/certsrv,下载CA证书保存在本地14.在控制台的受信任的根证书颁发结构中选择导入保存在本地的CA证书15.在L2TP服务器中导入CA证书16在L2TP服务器中选择本地证书,选择密钥本地生成,填写相应的字段,然后导出该请求文件,保存在本地。打开该请求文件,复制全部内容17.访问/certsrv,选择申请一个证书,选择高级证书申请,选择使用 base64 编码的 CMC 或 PKCS #10 文件提交 一个证书申请,或使用 base64 编码的 PKCS #7 文件续订证书申请,然后将上一步复制的内容粘贴到此处18.在证书颁发结构中颁发该L2TP服务器的证书,以及下载该证书,然后将该证书导入本地证书,并且也需要导入对端证书也就是客户端证书。19.在远程VPN中选择使用证书认证,选择相应的证书即可20.在客户端的虚拟专用网络中取消预共享密钥认证,虚拟专用网络其他的配置与使用预共享密钥认证一样,然后连接该网络,L2TP服务器显示ipsec隧道建立成功,L2TP隧道建立成功21.至于其他远程用户需要使用证书建立l2tp ipsec vpn隧道,则配置与上面类似PPTP模式跟L2TP模式有什么不同?1、PPTP协议是点对点隧道协议:其将控制包与数据包分开,控制包采用TCP控制,用于严格的状态查询及信令信息;数据包部分先封装在PPP协议中,然后封装到GRE V2协议中2、L2TP是国际标准隧道协议:它结合了PPTP协议以及第二层转发L2F协议的优点,能以隧道方式使PPP包通过各种网络协议,包括ATM、SONET和帧中继。但是L2TP没有任何加密措施,更多是和IPSec协议结合使用,提供隧道验证。3、两者的联系与区别联系:PPTP和L2TP都使用PPP协议对数据进行封装,然后添加附加包头用于数据在互联网络上的传输。尽管两个协议非常相似,但是仍存在以下几方面的不同PPTP/L2TP区别:1)PPTP要求互联网络为IP网络。L2TP只要求隧道媒介提供面向数据包的点对点的连接。L2TP可以在IP(使用UDP),桢中继永久虚拟电路(PVCs),X.25虚拟电路(VCs)或ATM VCs网络上使用。2)PPTP只能在两端点间建立单一隧道。L2TP支持在两端点间使用多隧道。使用L2TP,用户可以针对不同的服务质量创建不同的隧道。3)L2TP可以提供包头压缩。当压缩包头时,系统开销(overhead)占用4个字节,而PPTP协议下要占用6个字节。4)L2TP可以提供隧道验证,而PPTP不支持隧道验证。但当L2TP或PPTP与IPSEC共同使用时,可由IPSEC提供隧道验证,不需在第2层协议上验证隧道。简单来说:PPTP使用TCP协议,适合没有防火墙限制的网络。L2TP使用UDP协议,一般可以穿透防火墙,适合有防火墙限制、局域网用户,如公司、网吧、学校等场合。注:XP系统启用L2TP需要重启电脑,Vista,Win7则无需重启。二个连接类型在性能上差别不大,如果使用PPTP不正常,那就更换为L2TP。在Ubuntu上部署L2TP服务一、简介目前流行的L2TP服务都是通过IPSec加密的,正式的叫法应该是L2TP over IPSec。因此,要获得通用性较强的L2TP服务,就需要有IPSec支持。IPSec提供加密、验证服务,客户端连接服务器后首先请求IPSec验证,这通常是用PSK进行验证,验证通过后,交由L2TP处理。L2TP负责对数据进行封包,并启动pppd建立通讯链路。pppd负责用户名、密码的验证。以上就是建立一个L2TP连接的大致过程,但是其中会用到多种相关的协议或者端口:o 协议:UDP,端口500,Internet Key Exchange (IKE)o 协议:UDP,端口4500,IPsec NAT-To 协议:UDP,端口1701,L2TP监听o 协议:ESP,协议号50,Encapsulated Security Payloado 协议:AH,协议号51,Authentication HeaderESP和AH协议用于提供验证、数据完整性以及加密通信等特性。它们可以加密整个数据包,也可以仅加密上层协议头,这取决于IPSec所启用的模式。IPSec工作在隧道模式(tunnel)时,加密整个数据报;传输模式(transport)时,仅加密IP数据报的头部。我们配置的IPSec仅向L2TP提供支持,因此工作在传输模式。二、安装软件包现在流行的ipsec来自openswan,l2tp来自xl2tpd。本文将以这两个软件包进行讲解如何配置。当提及openswan的时候就是指ipsec,当说到xl2tpd的时候就是指l2tp。希望读者能够明白。1.搭建环境o Ubuntu 10.04o Kernel 2.6.32o Openswan 2.6.37o xl2tpd-1.2.5/!重要:笔者一开始在Ubuntu 11.04上进行实验,Kernel 3.0,IPSec版本2.6.23。这里有几个严重问题:1. openswan尚未对3.0内核提供良好支持,某些情况下用iPhone或者win7客户端连接会导致内核奔溃!2. 2.6.23版本的openswan尚有诸多BUG,即使在Kernel 2.6的环境下,也无法保证100%连接成功。因此,请至少使用openswan 2.6.37的版本,当前最新版本是2.6.38。源代码可在这里下载:/openswan/,之后需要通过编译完成安装。对于openswan的安装我们将会提供两种不同的方法。2.通过添加软件库安装openswanapt-get install python-software-propertiesadd-apt-repository ppa:openswan/ppaapt-get updateapt-get install openswan如果出现Do you want to create a RSA public/private keypair for this host?。我们选择No,这种模式的IPSec通过证书进行验证,而非PSK。3.通过编译源代码包安装openswan获取最新软件包:wget /openswan/openswan-2.6.38.tar.gztar -xzf openswan-2.6.38.tar.gz编译不同的版本可能会依赖不同的库文件,因此如果你正在编译更高版本的openswan,请务必先阅读README文件。这里我们安装如下库文件:apt-get install libgmp3-dev flex bison安装这些库会占用大量空间,而且在服务器上编译二进制文件通常不是明智之举!但是有时候服务器架构会与你的测试机完全不同,因此可能你仍然需要在服务器上做这些工作。接下来我们开始编译:make programs install如果一切顺利,编译工作完成后配置文件及服务会自动安装到合适的地方,也就是和通过apt-get安装没什么两样了。4.安装xl2tpdUbuntu中xl2tpd的版本目前没有发现严重问题。因此安装起来也比较方便:apt-get install xl2tpd三、开始配置配置工作分为三部分:IPSec配置、L2TP配置、PPP配置1.IPSec配置# /etc/ipsec.confconfig setup nat_traversal=yes virtual_private=%v4:/8,%v4:/16,%v4:/12,%v4:/8,%v6:fd00:/8,%v6:fe80:/10 oe=off protostack=netkeyconn L2TP-PSK-NAT rightsubnet=vhost:%priv also=L2TP-PSK-noNATconn L2TP-PSK-noNAT authby=secret pfs=no auto=add keyingtries=3 # we cannot rekey for %any, let client rekey rekey=no # Apple iOS doesnt send delete notify so we need dead peer detection # to detect vanishing clients dpddelay=10 dpdtimeout=90 dpdaction=clear # Set ikelifetime and keylife to same defaults windows has ikelifetime=8h keylife=1h # l2tp-over-ipsec is transport mode type=transport # left=$IP # # For updated Windows 2000/XP clients, # to support old clients as well, use leftprotoport=17/%any leftprotoport=17/1701 # # The remote user. # right=%any # Using the magic port of %any means any one single port. This is # a work around required for Apple OSX clients that use a randomly # high port. rightprotoport=17/%anyconn passthrough-for-non-l2tp type=passthrough left=$IP leftnexthop=$GATEWAY right= rightsubnet=/0 auto=route其中,$IP改成你主机以太网卡的IP,$GATEWAY改成该IP所在网段的网关地址,下同。对于下面的密钥文件,你需要将密钥引在引号中。# /etc/ipsec.secrets$IP %any: PSK Your Preshared Key Here最后我们需要修改某些网络策略,让ipsec正常运行:for each in /proc/sys/net/ipv4/conf/*do echo 0 $each/accept_redirects echo 0 $each/send_redirectsdone2.L2TP配置# /etc/xl2tpd/xl2tpd.confglobalipsec saref = yeslns defaultip range = 00-54local ip = require chap = yesrefuse pap = yesrequire authentication = yesppp debug = yespppoptfile = /etc/ppp/options.xl2tpdlength bit = yes3.PPP配置# /etc/ppp/options.xl2tpdrefuse-mschap-v2refuse-mschapms-dns ms-dns asyncmap 0authlockhide-passwordlocal#debugname l2tpdproxyarplcp-echo-interval 30lcp-echo-failure 4mtu 1404mru 14045.启用转发echo 1 /proc/sys/net/ipv4/ip_forwardiptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE对于OpenVZ的主机,可能不支持MASQUERADE,此时需要使用SNAT:iptables -t nat -A POSTROUTING -o eth0 -j SNAT -to-source $IP其中$IP就是你主机的eth0接口的IP地址。四、检查ipsec是否工作正常我们通过执行ipsec verify命令进行验证ipsec服务是否工作正常:错误1:pluto is running FAILEDChecking your system to see if IPsec got installed and started correctly:Version check and ipsec on-path OKLinux Openswan U2.6.38/K(no kernel code presently loaded)Checking for IPsec support in kernel FAILED SAref kernel support N/AChecking that pluto is running FAILED whack: Pluto is not running (no /var/run/pluto/pluto.ctl)Checking for ip command OKChecking /bin/sh is not /bin/dash WARNINGChecking for iptables command OKOpportunistic Encryption Support DISABLED这是因为你还没有启动ipsec服务!/etc/init.d/ipsec start错误2:NETKEY: Testing XFRM related proc values FAILEDChecking your system to see if IPsec got installed and started correctly:Version check and ipsec on-path OKLinux Openswan U2.6.38/K2.6.32-38-gener

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论