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

L2TP虚拟局域网

一、基本概念

早期个人和企业通过电话线接入互联网,部分企业借助 PSTN(公共交换电话网)或 ISDN(综合业务数据网)实现连接,通过这两种网络建立的虚拟局域网技术被称为 VPDN(虚拟专用拨号网)。

二、Client 直接拨号的 L2TP 虚拟局域网

(一)原理

LNS 会对接入的用户进行认证,认证通过后,为用户分配公司内网 IP 地址,使用户能够以私网方式访问企业总部。

(二)配置

1. 用户创建

创建用于认证过程的用户,例如用户名 user0002,密码 Password123 。

2. LNS 的 L2TP 配置

  • 参数:包括对端隧道名称(如 client )、用户名(如 user0001 )、密码(如 Password123 )、隧道验证密码(如 Hello123 )、地址池(如 172.16.1.0/24 ,用于分配给 L2TP 用户 )。
  • 服务器地址:为 LNS 上的 VT 接口配置,可理解为防火墙上的环回接口。
3. VT 接口配置
[FW]interface Virtual-Template 10
[FW-Virtual-Template10]ip address 172.16.10.200 24
[FW-Virtual-Template10]ppp authentication-mode pap
[FW-Virtual-Template10]remote service-scheme l2tp
[FW-zone-dmz]add int Virtual-Template 10
4. 地址池与业务方案配置
[FW]ip pool pool
[FW-ip-pool-pool]section 1 172.16.10.1 172.16.10.100
[FW]aaa
[FW-aaa]service-scheme l2tp
[FW-aaa-service-l2tp]ip-pool pool
5. 认证域配置
[FW-aaa]domain default 
[FW-aaa-domain-default]service-type l2tp
6. L2TP 组配置
[FW]l2tp enable 
[FW]l2tp-group 1
[FW-l2tp-1]allow l2tp virtual-template 10 remote client domain default
[FW-l2tp-1]tunnel authentication
[FW-l2tp-1]tunnel password cipher Hello123
7. 安全策略配置

需配置允许移动用户主动发起 L2TP 请求的策略(Untrust-->Local ),以及允许企业总部服务器与用户业务交互的策略(Trust-->VT 接口所在区域 等 )。

(三)报文交互

  • Client 发送 SCCRQ 报文,告知对端后续使用的 Tunnel ID,该 ID 用于 LNS 设备区分不同隧道。
  • L2TP 报文以 UDP 协议传输,发送时选用一个空闲端口作为源端口,向 LNS 的 1701 端口发送。
  • 存在建立 L2TP 隧道(如 SCCRQ、SCCRP、SCCCN 报文 )和会话(如 ICRQ、ICRP、ICCN 报文 )的相关报文。
  • 当 LNS 成功为用户分配 IP 地址后,本地会生成一条去往 Client IP 地址的主机路由,协议为 Unr。

(四)VT 接口

  • 功能:虚拟接口,用于与企业内部网络的终端设备进行通讯,类似 GRE 的 Tunnel 接口,负责对数据报文中的 L2TP 协议和 PPP 协议内容进行封装和解封装。
  • IP 地址和地址池规划:VT 接口可与地址池地址处于同一网段或不同网段,通常将企业内网地址和地址池规划为不同网段。

(五)报文传输流程

  • 用户向企业总部发送报文时,业务报文经 PPP 封装和 L2TP 封装,按用户本地路由传输给 LNS。
  • LNS 收到报文后,通过 VT 接口拆除 L2TP 头部和 PPP 头部,再按企业内部路由信息转发给企业总部服务器。
  • 企业总部服务器收到报文后,回复响应报文。

(六)安全策略

  • 用户和 LNS 之间传输的 L2TP 报文:对应 Untrust-->Local 区域策略,允许移动用户主动发起的 L2TP 请求信息,包括建立隧道的 L2TP 报文和被解封装前的业务报文。
  • 用户和企业总部服务器传输的业务报文:LNS 通过 VT 接口解封装后,由该接口查找路由表转发,VT 接口所在区域为 Trust,服务器的应答报文对应 Trust-->VT 接口所在区域 策略。

三、基于 LAC 拨号的 L2TP 虚拟局域网

(一)原理

用户通过拨号接入互联网的 LAC 设备,LAC 设备向拨号用户提供 PPP/PPPoE 接入服务,用户发出的 PPP 报文到达 LAC 后,被 LAC 通过 L2TP 虚拟局域网隧道封装为 L2TP 报文在互联网上传输,实现与企业总部的数据通讯。

(二)PPPoE 相关

  • 典型的 C/S 架构,由客户端主动向服务端申请认证和 IP。
  • PPPoE 发现:进行 PPPoE 协商,可借助 DHCP 协议理解。
  • PPPoE 会话:进行 PPP 协商。
  • PPPoE 终结:断开 PPPoE 会话。

(三)配置

1. 建立 PPPoE 连接
(1)PPPoE Client 配置
[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
[PPPoE Client-Dialer1]ppp chap user user1
[PPPoE Client-Dialer1]ppp chap password cipher Password123
[PPPoE Client]dialer-rule 1 ip permit
[PPPoE Client]int g 1/0/0
[PPPoE Client-GigabitEthernet1/0/0]pppoe-client dial-bundle-number 1
(2)PPPoE 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
[NAS]int g 1/0/0
[NAS-GigabitEthernet1/0/0]pppoe-server bind virtual-template 1
[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

说明:LAC 上无需配置地址池,用户 IP 由 LNS 分配,即使 LAC 配置了地址池,在 L2TP 隧道建立情况下也优先使用 LNS 的地址。

2. 建立 L2TP 隧道
(1)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
(2)LNS 配置
[LNS]ip pool l2tp
[LNS-ip-pool-l2tp]section 0 172.16.0.2 172.16.0.100
[LNS]aaa
[LNS-aaa]service-scheme l2tp
[LNS-aaa-service-l2tp]ip-pool l2tp
[LNS]aaa    
[LNS-aaa]domain default 
[LNS-aaa-domain-default]service-type l2tp
[LNS]user-manage user user1 domain default 
[LNS-localuser-user1]password Password123
[LNS]interface Virtual-Template 1
[LNS-Virtual-Template1]ppp authentication-mode chap 
[LNS-Virtual-Template1]ip address 172.16.0.1 24
[LNS-Virtual-Template1]remote service-scheme l2tp
[LNS]firewall zone dmz 
[LNS-zone-dmz]add int Virtual-Template 1
3. LNS 认证与 IP 分配
  • 认证方式:LAC 将用户信息发送给 LNS 验证,LNS 有三种处理态度:

    • LAC 代理认证:相信 LAC,直接验证 LAC 发来的用户信息。
    • 强制 CHAP 认证:不相信 LAC,要求用 CHAP 协议重新审查用户,配置命令 [LNS-l2tp-1]mandatory-chap 。
    • LCP 重协商:不相信 LAC 且对之前协议不满意,重新发起 LCP 协商,配置命令 [LNS-l2tp-1]mandatory-lcp 。
  • 后两种为 LNS 二次认证,可绕过 LAC 直接验证 PPPoE 客户端信息。
  • 补充路由[PPPoE Client]ip route-static 0.0.0.0 0 172.16.0.1(下一跳为 LNS 的 VT 接口地址 ),并将 Dialer 1 加入安全区域。
4. 报文格式变化
  • 用户发送的报文结构:数据 -- 私有 IP--PPP 头部 --PPPoE 头部 -- 以太网头部 。
  • 到达 LAC 后:数据 -- 私有 IP--PPP 头部 --L2TP 头部 --UDP 头部 -- 公网 IP-- 以太网头部 。
  • 到达 LNS 后:数据 -- 私有 IP-- 以太网头部 。
5. 安全策略配置思路
  • LAC 上:配置从 Local-->Untrust 区域的安全策略,允许 LAC 和 LNS 之间建立 L2TP 隧道,用户业务数据会被封装到 L2TP 报文中传输。
  • LNS 上:配置两条安全策略,一条从 untrust-->local 放通 L2TP 相关内容,另一条放通 VT 接口所在区域和内部安全区域的业务。

四、LAC 自动拨号

(一)特点

LAC 完成配置后,会自动向 LNS 发起拨号建立 L2TP 隧道,无需用户拨号触发,且 LNS 只对 LAC 进行认证。

(二)配置

  • 基础配置:包括设备基本参数设置等。
  • 路由信息:配置相关路由,确保数据传输路径正确。
  • L2TP 配置:类似基于 LAC 拨号的 L2TP 虚拟局域网的 L2TP 配置,实现隧道建立。
  • NAT 配置:采用 easy-ip 方式,因为 LAC 的 VT 接口 IP 可能变化。LAC 内网报文经 LAC 时,源地址需转换为 LAC VT 接口地址,保证 LNS 返回的响应报文能准确进入 L2TP 隧道返回给 LAC。

(三)安全策略

  • 用户访问企业总部业务报文:对应 Trust-->VT 接口所在区域 。
  • LAC 发出的 L2TP 报文:对应 Local-->Untrust 区域。

(四)说明

  • 用户对 L2TP 信息无感知,封装和解封装由 LAC 和 LNS 完成。
  • LAC 的 VT 接口起到转发数据的功能。

五、不同版本对比

项目Client 虚拟局域网PPPoE 版本LAC 自动版本
协商方式由 Client 主动发起 L2TP 相关协商用户通过 PPPoE 拨号接入 LAC 后,由 LAC 发起 L2TP 协商LAC 自动向 LNS 发起拨号协商建立隧道
隧道和会话关系每个 Client 与 LNS 建立单独的隧道和会话一对 LNS 和 LAC 之间只有一个 L2TP 隧道,隧道中可存在多个 L2TP 会话,每一条会话承载一个用户的 PPP 连接和业务流量一对 LNS 和 LAC 之间建立一个隧道,承载 LAC 侧多个用户的业务
安全性用户直接与 LNS 认证,安全性较高支持 LNS 二次认证,安全性较好LNS 只对 LAC 认证,需保证 LAC 自身安全
回程路由LNS 为用户分配 IP 后生成去往该 IP 的主机路由LNS 为用户分配 IP 后生成对应路由,用户侧配置指向 LNS VT 接口的默认路由LAC 拨号成功后,LNS 生成目的地址为 LAC VT 接口地址的路由,下一跳为 LAC VT 接口的 IP 地址
分配 IP 方式由 LNS 的地址池分配用户 IP 由总部 LNS 直接分配,LAC 上即使配置地址池,在 L2TP 隧道建立情况下也优先使用 LNS 的地址由 LNS 分配 IP 给 LAC 的 VT 接口等
http://www.lryc.cn/news/626137.html

相关文章:

  • 快速傅里叶变换:数字信号处理的基石算法
  • Orange的运维学习日记--47.Ansible进阶之异步处理
  • 数据库-MYSQL配置下载
  • go链路追踪
  • 微算法科技(NASDAQ: MLGO)研究利用PBFT中的动态视图变换机制,实现区块链系统高效运转
  • 不同语言的并发模型对比:Go、Java与Python
  • Go高效复用对象:sync.Pool详解
  • 机器学习中的「损失函数」:模型优化的核心标尺
  • 决策树算法详解
  • 【完整源码+数据集+部署教程】鳄梨表面缺陷检测图像分割系统源码和数据集:改进yolo11-MLCA
  • QT聊天项目DAY19
  • 广东省省考备考(第八十一天8.19)——资料分析、数量(强化训练)
  • 第5.5节:awk算术运算
  • 基于深度学习的森林火灾图像识别实战
  • 【撸靶笔记】第七关:GET - Dump into outfile - String
  • 浙江电信IPTV天邑TY1613_高安版_晶晨S905L3SB_安卓9_原厂固件自改_线刷包
  • Linux中Docker k8s介绍以及应用
  • windows电脑对于dell(戴尔)台式的安装,与创建索引盘,系统迁移到新硬盘
  • 微信小程序连接到阿里云物联网平台
  • 高等数学 8.6 空间曲线及其方程
  • 添加右键菜单项以管理员权限打开 CMD
  • DNS有关知识(根域名服务器、顶级域名服务器、权威域名服务器)
  • 【C语言16天强化训练】从基础入门到进阶:Day 3
  • Vue 2 项目中快速集成 Jest 单元测试(超详细教程)
  • 【矢量数据】1:250w中国地质图地断层数据/岩性shp数据
  • EPM240T100I5N Altera FPGA MAX II CPLD
  • 无人机/航测/三维建模领域常见的“航线规划或建模方式
  • Everything 搜索工具下载安装使用教程(附安装包)Everything
  • 在 Python 中操作 Excel 文件的高效方案 —— Aspose.Cells for Python
  • mycat分库分表实验