当前位置: 首页 > article >正文

第十三章,L2TP VPN

 概述       

早期:

        个人用户和企业用户使用电话线上网的年代。企业分支机构、出差用户--->PSTN( 公共交换电话网 )/ 综合业务数据网 接入企业总部。
        VPN被命名为 VPDN--- 虚拟专用拨号网

            

 发展:

         个人用户和企业用户可以直接通过以太网接入Internet

  • PPP协议屈尊于以太网
    • 用户可以安装PPPoE Client,直接实现在以太网上的拨号行为。
  • L2TP延伸到PC
    • PC可以通过系统自带的L2TP Client来直接与LNS建立L2TP VPN隧道。

基于LAC拨号的L2TP VPN场景

PPPoc

        

        PPP over Ethernet--->以太网承载 PPP 协议。 PPP 协议的数据帧封装在以太网的数据链路层中
        一般在需要服务器为客户端提供认证、授权、控制、计费等场景中使用。
  • 发现阶段 --- 进行PPPoE协商。建立PPPoE虚拟链路。
  • 会话阶段 --- 进行 PPP 协商, LCP PAP/CHAP 认证、 NCP 协商阶段。
  • 终结阶段 --- 用户下线,断开连接

配置

第一步:建立PPPoE连接,设定拨号接口VT接口

        PPPoE发明了两个虚拟接口, Dialer 接口 ( 客户端 ) VT 接口 ( 服务端 )
Client
1 、创建拨号接口
[PPPoE Client]interface Dialer 1
[PPPoE Client-Dialer1]dialer user user1 --- 设定拨号用户名
[PPPoE Client-Dialer1]dialer-group 1 --- 创建拨号组
[PPPoE Client-Dialer1]dialer bundle 1 --- 设定拨号程序捆绑包
[PPPoE Client-Dialer1]ip address ppp-negotiate --- 设定 IP 地址获取方式为 PPP 邻居分配,PPP 邻居通过 IPCP 协议进行分配,即 PPP NCP 协商过程所用协议
[PPPoE Client-Dialer1]ppp chap user user1
[PPPoE Client-Dialer1]ppp chap password cipher Password123
[PPPoE Client]dialer-rule 1 ip permit --- 配置拨号访问控制列表,允许所有 IPv4 报文
通过拨号口,数字 1 必须与拨号组编号相同。
[PPPoE Client]int g 1/0/0
[PPPoE Client-GigabitEthernet1/0/0]pppoe-client dial-bundle-number 1 --- 在物
理接口上启动 PPPoE Client 程序,绑定拨号程序包,编号为 1
Server
[NAS]interface Virtual-Template 1
[NAS-Virtual-Template1]ppp authentication-mode chap
[NAS-Virtual-Template1]ip address 2.2.2.2 24
[NAS]firewall zone dmz
[NAS-zone-dmz]add interface Virtual-Template 1
        说明:1. VT 接口的 IP 地址不参与报文封装,只需要指定一个合法的 IP 地址即可,但需要注意跟其 他接口 IP 地址区分; 2. VT 接口需要加入到任意安全区域,否则 VT 接口不能正常运行,但是安全区域可 以随意选择,因为该接口不参与数据转发,即不受到安全策略控制
[NAS-GigabitEthernet1/0/0]pppoe-server bind virtual-template 1 --- VT 接口绑定在物
理接口
        
[NAS]aaa
[NAS-aaa]domain default
[NAS-aaa-domain-default]service-type l2tp
        
        
[NAS]user-manage user user1 domain default
[NAS-localuser-user1]password Password123
        用户的IP 地址,都是由总部 LNS 进行统一分配的,所以在 LAC 上不需要配置地址池信息 。即使你配 置了地址池,在 L2TP 隧道建立的情况下,也会优先使用总部的地址进行分配。而如果是普通的 PPPoE 置,则必须配置地址池

第二步:建立L2TP隧道

LAC 配置
[NAS]l2tp enable
[NAS]l2tp-group 1
[NAS-l2tp-1]tunnel authentication
[NAS-l2tp-1]tunnel password cipher Hello123
[NAS-l2tp-1]tunnel name lac --- 隧道名称
[NAS-l2tp-1]start l2tp ip 20.1.1.2 fullusername user1 --- 设定 LAC 模式,以及 LNS 地址,
以及认证用户名的方式为 完全用户认证 ,并指定用户名

LNS配置

        L2TP VPN协议中, LNS 进行分配 IP ,认证通过
        在默认情况下,LAC 的作用,是完成用户的认证,然后将用户的认证成功信息反馈给 LNS 设备,然后LNS设备进行地址分配。
  • LAC代理认证模式 ---- 默认情况
  • 强制CHAP认证
    • 不相信LAC设备,要求重新对用户进行审查。
  • LCP重协商
    • 不仅不相信LAC设备,还对前面LAC和客户端签订的服务不满意,要求与客户端重新洽谈业务。
    • 重新发起LCP协商
        强制CHAP 认证,以及 LCP 重协商,都属于 LNS 二次认证 。选配。特点: LNS 都绕过了 LAC ,直接验证Client ,可以提高更高的安全保障。但是 ---> 如果 PPPoE Server ,即 LAC 不支持二次认证,那么 L2TP VPN无法建立。
[LNS]l2tp-group 1 --- 只能在命令行配置
[LNS-l2tp-1]mandatory-chap
[LNS-l2tp-1]mandatory-lcp
        当一个用户触发拨号行为时,才会触发建立LAC LNS 之间的 L2TP 隧道。只要该用户未下线,则其 余用户拨号时,会在已建立的 L2TP 隧道的基础上,直接建立 L2TP 会话,然后协商 PPP 会话。如果没有任 何用户,则隧道超过一定时间后会被拆除

安全策略配置思路



LAC

        LAC上只存在一条会话信息,并且该会话属于 L2TP 协议,并没有 ICMP 会话,所以 LAC 上配置安全策略时,只需要配置一条从 Local 区域 --->Untrust 区域的安全策略,允许 LAC LNS 建立 L2TP 隧道

基于ClientL2TP VPN拨号场景

        VPN客户端的作用:帮助用户在 PC 或手机上触发建立一条直通公司总部网络的隧道,实现用户自由访问公司总部的资源。
        用户可以轻松进入隧道,并自由离开隧道。
        用户需要借助L2TP 客户端,来进入隧道,从而进入到公司网络。 ---> LNS ,公司总部守门员,需要 对请求建立隧道的数据,进行身份验证 。如果身份验证通过, 那么 LNS 会为用户发放通行证 ( 公司内网 IP 地址 )

 案例以及配置思路

 

         服务器地址 --- >就是LNS上的VT接口配置。虚拟模板接口,可以理解防火墙上的环回接口

        目的:允许总部设备对客户的请求进行回复,而回复的报文会被送到VT 接口进行 VPN 封装,所以目的IP 为客户端的 IP ,即地址池地址。目的区域为 VT 接口所在区域。

        目的:允许客户端发送的L2TP隧道建立报文可以被防火墙进行处理,此时客户端 IP 不固定,所以为any,而目的则为防火墙对外的公网 IP 地址,即 192.168.0.0/24 网段。
        当该报文被防火墙接收,并且防火墙认证通过后,会建立L2TP VPN 隧道,之后基于隧道,为客户端分配地址池中的IP 地址,即 172.16.1.0/24 网段地址信息。
        此时,客户端具备与内网设备通信的能力,源IP 172.16.1.0/24 网段,目的为内网设备 IP

                        

移动办公用户与LNS建立L2TP VPN隧道

 

        第一步,由Client 发送,名称为 SCCRQ ,告知 LNS 使用 158 作为 Tunnel ID 进行通信。此时 Client 本地的Tunnel ID 0
        LNS设备, Tunnel ID 就是用来区分不同用户申请并建立的隧道。
        L2TP报文,使用 UDP 发送,初始化时,源端口随机数,而 目的端口为 1701 端口 如果 LNS 收到报文并回复后,则双方的端口选定了
        第二步,LNS 返回 SCCRP 报文,告知 Client 使用 1 作为 Tunnel ID 进行通信。
        第三步,Client 发送 SCCCN 报文,进行确认回复。此时 L2TP VPN 隧道建立完毕。
仅仅交互三个报文,用来协商参数 ---> 隧道 ID UDP 端口、主机名称、 L2TP 版本 ....

移动办公用户与LNS建立L2TP会话

        用户与LNS 之间建立 PPP 连接, L2TP 会话用来记录和管理它们之间的 PPP 连接。 L2TP 会话的功能 --->为后续建立PPP 连接来进行参数协商。

 

移动办公用户与LNS建立PPP连接

        前两步,完成了隧道ID 和会话 ID 的协商, Client 终于可以和 LNS 进行对话了。
        该步,才是真正L2TP 的工作过程:认证和地址分配
PPP 协议
1 LCP 协商 --- 双向认证
        1.MRU
        2.是否认证,以及认证方式, PAP( 明文 )/CHAP( 挑战握手协议,通过对比摘要值来认证 )
        3.魔术字
2 、认证 --- 可选
3 NCP 协商 --- 网络层协议协商阶段 --- 双向协商
        1.IP地址是否可用,合法
        2.网络层压缩方式
--- 目的:建立起 PPP 会话连接,存在该连接后,双方才可以正常发送数据报文

        选择PPP 协议的原因,就是因为 PPP 协议本身具备认证和地址分配机制。只不过这个 IP 地址是由 L2TP协议选择出来的。
        VT接口: VT 接口是一个虚拟接口,这个接口用途与企业内部网络的终端设备进行通信 VT 用来对 L2TP PPP 协议内容进行封装和解封装 VT 接口 IP--->1. 地址池中的 IP 需要与 VT 接口 IP 处于相同网段, 但是地址池中不能包含 VT 接口 IP 地址; 2.VT 接口 IP 地址,不能使用内网真实用到的网段

 

1. 移动用户向总部发送数据时,
  • 应用层数据+私有IP封装
  • 会被L2TP VPN进行封装--->
    • 使用PPP头部进行第一次封装
    • 使用L2TP头部进行第二次封装
    • 使用UDP头部进行封装
    • 使用公网IP,即用户的网卡信息和LNS的公网地址信息---VPN隧道两端的地址信息
2. LNS 收到报文后,先通过安全策略检查, U--->L
  • 使用VT接口进行解封装,接触公网IP头部、UDP头部、L2TP头部、PPP头部
  • 查找路由表确定转发接口
  • 根据安全策略进行检查,是否允许从VT接口发往内部Trust网络。
3. 内网回复报文
        总结:GRE 协议是一个没有状态的协议,也就无法查看隧道的状态。但是 L2TP VPN 是存在控制连接 的隧道,可以查看隧道和会话信息。 --- 客户端直接访问 LNS 建立隧道,该隧道只有一条 L2TP 会话,而 PPP 连接是承载在这条 L2TP 会话之上的

安全策略总结:
  • 用户与LNS之间的L2TP报文
    • U--->L
  • 用户访问企业资源的报文
    • VT接口将报文解封装后发送给内网:VT接口区域--->T
    • 内网回复报文给VT接口:T--->VT接口区域

        在LNS 上,没下放一个 IP 地址给用户, 本地都会产生一条到达用户 IP 的主机路由 ,出接口为 VT 口,代表该流量会被引导到 L2TP VPN 隧道中

命令行配置

1 、配置 IP 地址池
                  
[FW]ip pool l2tp
[FW-ip-pool-l2tp]section 0 172.16.1.2 172.16.1.10 --- 设定地址池范围
        
        
2 、业务方案及用户信息
        
[FW]aaa
[FW-aaa]service-scheme l2tp -- 服务方案
[FW-aaa-service-l2tp]ip-pool l2tp --- 服务任务为分配 IP 地址信息
        
[FW-aaa]domain default --- 进入默认认证域
[FW-aaa-domain-default]service-type l2tp
        
[FW]user-manage user user0001 --- 创建用户名
[FW-localuser-user0001]parent-group /default
[FW-localuser-user0001]password Password123
        
        
3 、设定 VT 接口
             
[FW]interface Virtual-Template 1
[FW-Virtual-Template1]ip address 172.16.1.1 24 --- 该地址必须与地址池处于相同网
段,但是在地址池中不能包含该 IP 地址
[FW-Virtual-Template1]ppp authentication-mode chap
[FW-Virtual-Template1]remote service-scheme l2tp ---- 绑定服务方案
        
[FW]firewall zone dmz
[FW-zone-dmz]add int Virtual-Template 1
        
        
        
4、配置L2TP
        
[FW]l2tp enable
        
[FW]l2tp-group aa --- 创建 L2TP
[FW-l2tp-aa]allow l2tp virtual-template 1 remote client domain default
[FW-l2tp-aa]tunnel authentication --- 开启隧道认证
[FW-l2tp-aa]tunnel password cipher Hello123
        
        
5 、安全策略
        

LAC-Auto-Initiated VPN

        LAC自动拨号到LNS的场景--->省略了员工拨号的行为

        LNS只能对 LAC 进行认证。不能对分支员工进行认证
        认证通过后,LNS 只会给 LAC 分配 IP 地址
        隧道路由--- 指的是需要通过隧道才能到达的目的地,即总部网段
        在LAC 上必须增加一条 出接口方式的源 NAT 策略 ;目的是为了让 LNS 的回程报文可以顺利发送回 LAC
        使用出接口方式的原因,是因为LNS 一旦进行地址分配后,会在本地路由表中添加一条主机路由。
而下一跳就是 LAC 设备的 VT 接口的 IP 地址。 ---> 即从分支发送的报文,经过 LAC 时,被 LAC 将源 IP 转换为 VT 接口 IP 地址

总结


http://www.kler.cn/a/593595.html

相关文章:

  • XSS漏洞靶场练习
  • 成都国际数字影像产业园,文创产业运营新典范深度解析​
  • win10 如何用我的笔记本 接网线 远程控制 台式机
  • Python个人学习笔记(17):模块(sys、picklejson)
  • 4.6--入门知识扫盲,路径追踪与路由误导:Tracert攻击 vs ICMP重定向攻击(包你看一遍全记住)
  • iPaaS集成平台中的API可视化编排能给企业带来什么作用
  • Bilve 搭建手册
  • 解析Collections工具类主要功能
  • Execution failed for task ‘:path_provider_android:compileDebugJavaWithJavac‘.
  • PyTorch分布式训练中各节点如何通信
  • 第1次课枚举算法
  • Ubuntu 软件仓库管理概述与基本原理
  • PCL—passThrough 点云直通滤波器
  • 阿根廷主流收单方式:Rapipago支付
  • 复盘的力量:如何通过复盘提升项目管理水平
  • Postman高级功能深度解析:Mock Server与自动化监控——构建高效API测试与监控体系
  • 【最后203篇系列】020 rocksdb agent
  • Apache Paimon 在抖音集团多场景中的优化实践
  • latex-二项式括号怎么敲?
  • 【嵌入式学习】补码-加减乘除电路