• 文章搜索:
  • IP技术专栏

        • 分享到...

        • 新浪微博
        • 腾讯微博
        • 推荐到豆瓣 豆瓣空间
        • 分享到搜狐微博 搜狐微博
        • 分享到QQ空间 QQ空间
        • 分享到腾讯朋友 腾讯朋友
        • 网易微博分享 网易微博
        • 添加到百度搜藏 百度搜藏
        • 转贴到开心网 开心网
        • 转发好友 告诉聊友
    • 推荐
    • 打印
    • 收藏

    技术点详解---L2TP VPN

     

           L2TP VPN的原生使用环境

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    9期专栏讲的是VPN的起源,这一期讲讲VPN中的VPDNVirtual Private Dial Network虚拟拨号专线网络)的主力技术L2TPLayer 2 Tunnel Protocol二层隧道协议l),上图说明了VPDN的一些特点,出差员工或者外出员工通过拨特定号码的方式接入到企业内部网络:

    1. 运营商对外提供L2TP VPN服务
    2. 有远程拨入需要的企业想运营商提出申请,交费,开通
    3. 企业要对运营商提供一个L2TP LNSL2TP Network Server网络服务器)作为企业内部网络入口
    4. 运营商提供一个L2TP LACL2TP Access Concentrator接入汇聚点),LAC要和企业LNS之间跨越运营商IP网络建立L2TP隧道,同时运营商将一个电话号码15400分配给LAC,以供出差员工拨入
    5. 当出差员工或者外出员工使用Modem或者特制手机拨打号码15400,此时Modem就连接到LAC
    6. L2TP是收费服务,而且企业不可能让任何人拨入这个网络,所以安全性肯定要考虑,结合上期网络身份保护的内容,LAC对拨入用户要进行身份确认,典型的身份确认方式就是用户名、密码验证,这个身份信息列表由企业提供,运营商执行
    7. LAC确认身份无误后就把这次呼叫封装到L2TP隧道里送给LNS
    8. LNS再对用户进行一次身份验证,验证通过后对远端用户分配IP地址
    9. 远端用户获得IP地址后,就可以访问企业内部网络了

    具体处理流程如下:

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    从上图可以发现,出差员工和LAC之间只有PPP会话,没有任何L2TP的内容,L2TP隧道、会话只存在于LACLNS之间:

    1. L2TP使用的是UDP封装,端口号1701
    2. L2TP隧道在LACLNS之间只有1个,协商隧道时可以使用身份确认
    3. L2TP会话在隧道内部可以有多个,一个会话对应一个PPP会话,即有多少个出差员工拨号,就会有多少个L2TP会话

    所以,如果一个出差员工拨号到LAC时,LAC检查到LNSL2TP隧道已经建立,那么LAC直接和LNS协商一个新会话;当一个隧道内没有任何会话时,隧道才会被拆除。L2TP原生应用场景的数据封装流程如下图所示:

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    可以发现出差员工发送的是纯PPP数据,到了LAC之后则增加了L2TP隧道封装,得以穿越运营商内部的IP网络,这样企业私有数据不会暴露到运营商IP网络之中。L2TP隧道封装数据到了LNS之后,LNS进行VPN数据剥离,反向流量封装顺序将流程逆转、源目的调换即可。

           运营商使用1LAC同时为多个企业服务

    LAC命名来说,我们可以知道这个东西必定价格不菲,运营商肯定不可能为每个企业单独设置一台LAC和一个号码,因为这么做成本很高,赚不到钱,运营商的想法是只用1LAC1个号码同时为多个企业服务:

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    如上图所示,该LAC同时为弯曲评论、华三通信、惠普三家企业同时提供L2TP VPN接入服务,这是怎么做到的呢?答案很简单:

    1. 我们在第一节中讲到了LAC要对拨入用户进行身份验证,可以在这里做文章
    2. 不同企业的用户肯定不一样,在身份验证时,根据不同的用户名找到不同的LNS即可
    3. 由于不同企业的人用户名有可能相同,所以这时的身份是带域名的用户名,比如弯曲评论的员工用户名是abc@tektalk.org,而华三的员工则是abc@h3c.com,惠普员工则是@hp.com
    4. 有了后缀域名,运营商只要少量的LAC,创造的收入就很紧实了

           新网络时代的L2TP VPN

    随着ADSL等高速接入技术的普及(xDSL下行最高速度可以达到12M),而普通的Modem接入速度只有56k,在这种情况下,高速L2TP VPN接入需求变得很迫切:

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    如上图所示,新网络时代的L2TP VPN基本上没有运营商什么事,因为没有LAC了,L2TP跨越的网络直接就是互联网:

    1. 企业总部还是要提供L2TP LNS,对互联网上的出差员工提供接入
    2. LNS最好要有一个固定都IP地址,如60.1.99.140,如果地址是变动的,那么需要实用DDNS和一个固定域名如l2tp.tektalk.org绑定起来,为什么呢,如果没有这个地址或域名,你让出差员工拨入到哪呢,这个地址和域名的作用就相当于原生L2TP VPN中的LAC电话号码15400
    3. LAC功能(或者叫L2TP客户端)一般集成在出差员工PC上,如Windows XP系统自带L2TP客户端
    4. 出差员工通过设置拨号连接的IP地址或域名,开始向总部LNS发起连接
    5. 建立L2TP隧道后协商L2TP会话
    6. L2TP会话协商结束,开始进行PPP参数协商,主要是身份确认和地址分配
    7. 获得地址后就算是连接到企业内部网络了,VPN建立成功
    8. L2TP会话结束,立刻拆除隧道,因为在这种模式中,每个客户端都需要和LNS建立隧道,而这个隧道中只有1PPP会话

    具体处理流程如下图所示:

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    很多时候出差员工是在宾馆上网,而宾馆客房网络通常都是通过NAT接入到互联网的,比如前图所示有2个出差员工的PC地址都是192.168.1.2,那么可以正常连接到LNS吗?

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    由于L2TP使用UDP 1701端口封装隧道,所以根据第10期专栏互联网穿越NAT介绍,它可以穿越出差员工的NAT网关,经过NAT转换后,两名员工的连接地址分别变成2.17.2.16.24.1.1LNS可以做出正确的区分,L2TP VPN显然可以轻松应对这种条件。

     

    下一期我们介绍另外一个VPN技术——IPSec VPN

    顶端