懒得写了 等我空了再写
——————————————————————
2020年9月21日更新
L2TP(Layer 2 Tunnelling Protocol):二层隧道协议
PPP:爹,定义了一种封装技术,可以在二层点到点连路上传输多种数据包
- 灵活身份验证机制(因依赖PPP,所以支持CHAP\PAP等)
- 多协议传输(具有PPP可以传输多协议)
- 计费认证地址分配(可在LAC\LNS两端同时计费,可根据这些数据进行网络计费)
- 高度安全性(L2TP采用通道加密、端对端加密或应用层加密。更可结合IPSec来提高数据安全性)
- 支持远程接入
角色:
Client:用户是需要登录私网的设备,通常是一个拨号用户的主机或私有网络的一台路由器。发起PPP协商
LAC(NAS):L2TP Access Concentrator,在交换网络上具有PPP端系统和L2TP协议处理能力的设备,主要用于PPP用户接入。通常是企业分支的出口网关。
LNS:是LAC的对端设备,是LAC进行隧道传输的PPP会话的逻辑终止端点。通常是企业内部网边缘设备。
//LAC和LNS是L2TP协议里的概念,NAS是VPDN里的概念,在L2TP中LAC实际上就是NAS
VT接口:
产生虚拟访问接口VA,用于L2TP的建立
作为隧道的端点用于封装和解封装。
转换二层协议,配置认证信息
<head>L2TP可以追溯到个人和企业用户大多都通过电话线网上的时代,当然企业分支机构和出差用户一般也通过电话网络接入总部网络。人们将这种基于PSTN\DSDN的VPN为VPDN,L2TP是VPDN技术中的一种,其他的VPDN技术以及逐步退出了历史舞台</head>
NAS-Initiated VPN
项目 | Client-Initiated VPN | NAS-Initiated VPN | LAC-Initiated VPN |
协商方式 | L2TP Client和LNS协商建立L2TP隧道和L2TP会话、建立PPP连接 | 接入用户使用PPPoE拔号触发LAC和LNS之间协商建立L2TP隧道和L2TP会话,接入用户和LNS协商建立PPP连接 | LAC主动拔号和LNS协商建立L2TP隧道和L2TP会话、建立PPP连接 |
隧道 会话 | 每个L2TP Client和LNS之间均建立一条L2TP隧道,每条隧道中仅承载一条L2TP会话和PPP连接 | LAC和LNS的连接可存在多条L2TP隧道,一条L2TP隧道中可承载多条L2TP会话和PPP连接 //1 | LAC和LNS之间建立一条永久的L2TP隧道,且仅承载一条永久的L2TP会话和PPP连接 |
安全性 | LNS对L2TP Client进行PPP认证(PAP或CHAP)安全性较高 | LAC对接入用户进行认证,LNS对接入用户进行二次认证(可选),安全性最高 | LAC不对用户进行认证,LNS对LAC配置的用户进行PPP认证(PAP或CHAP),安全性低 |
回程路由 | LNS上会话自动下发UNR路由,指导回程报文进入L2TP隧道,无需手动配置 | LNS上会话自动下发UNR路由,指导回程报文进入L2TP隧道,无需手动配置 | LNS上需要手动配置目的地址为网段的静态路由,或者在LAC上配置easy-ip方式的源NAT//2 |
LNS端认证方式
LNS对用户的认证方式除由PPP认证方式决定外,还取决于配置的L2TP认证方式。L2TP认证方式有三种:LAC代理认证、强制CHAP认证和LCP重协商。其中,LCP重协商的优先级最高,代理认证优先级最低。
LCP重协商(不相信LAC,重新发起LCP,协商MRU参数和认证方式)
如果需要在LNS侧进行比LAC侧更严格的认证,或者LNS侧需要直接从用户获取某些信息(当LNS与LAC是不同厂商的设备时可能发生这种情况),则可以配置LNS与用户间进行LCP重协商。LCP重协商使用相应VT接口配置的认证方式,此时将忽略LAC侧的代理认证信息。
强制CHAP认证(不相信LAC,要求重新对用户进行认证)
如果只配置强制CHAP认证,则LNS对用户进行CHAP认证,如果认证不通过,会话就不能建立成功
代理认证(相信LAC,直接对LAC发来的用户信息进行验证)
代理认证就是LAC将它从用户得到的所有认证信息及LAC配置的认证方式传给LNS,LNS会利用这些信息和LAC端传来的认证方式对用户进行认证
报文
--控制报文建立、拆除、维护隧道
- SCCRQ:控制连接发起请求
- SCCRP:表示接受了对端的连接请求,隧道的建立过程可以继续
- SCCCN:对SCCRP的回应,完成隧道建立
- StopCCN:由LAC或LNS发起,通知对端隧道将停止,清除所有会话
- HELLO:隧道保活控制消息。检测隧道连通性,一段时间内未收到,清除隧道
--会话报文建立和拆除会话
- ICRQ:当LAC检测到有用户接入时,向LNS发起ICRQ,请求建立会话
- ICRP:用来回应ICRQ,表示ICRQ崇高,LNS也会在ICRP中标识L2TP会话的必要参数
- ICCN:用来回应ICRP,L2TP会话建立完成
- CDN:由LAC或LNS发出,同时对端会话将要停止
加密L2TP流量
L2TP Over IPSec
1、建立IPSec隧道
2、在IPSec隧道中建立L2TP
场景限制:隧道模式比传输模式相比多增加了一个IPSec报文头,导致报文长度更长,容易导致分片。如果网络环境要求报文不能分片,推荐使用传输模式。
在L2TP Over IPSec中,由于L2TP已经进行了一次封装,原始报文就是两个网络之间的报文,所以无论IPSec采用传输模式还是隧道模式,都可以保护两个网络之间通信消息。
IPSec封装过程中增加的IP头即源地址为IPSec网关应用IPSec策略的接口地址,目的地址即隧道对端应用IPSec策略的接口地址
IPSec需要保护的是从L2TP的起点到L2TP的终点数据流。L2TP封装过程中增加的IP头即源IP地址为L2TP起点地址,目的IP地址为L2TP终点的地址。
问题:gre over ipsec的数据包封装和应用场景?
与PPTP
L2TP | PPTP |
公有协议 | 私有协议 |
UDP1701 | TCP1723 |
支持隧道认证 | 不支持隧道认证 |
支持多个协议 | 只支持IP |
多个隧道 | 单个隧道 |
压缩开销4个字节 | 压缩开销6个字节 |
支持三种模式 | 只支持点到点模式 |