多平台统一管理软件接口,如何实现多平台统一管理软件接口
512
2022-09-18
HCIE-Security Day36:L2TP三种类型:NAS-Init、Client-Init、Call-LNS场景描述、原理分析(hcie-security实用)
目录
NAS-Init
场景描述
原理分析
隧道协商
报文封装
安全策略
Client-Init
场景描述
原理分析
隧道协商
报文封装
安全策略
Call-LNS
场景描述
原理分析
隧道协商
报文封装
安全策略
LAC上的源NAT地址转换
L2TP:Layer 2 Tunneling Protocol。二层隧道协议。用于承载PPP报文的隧道技术,该技术主要应用在远程办公场景中为出差员工远程访问企业内网资源提供接入服务。
ppp报文的传输问题
出差员工跨越Internet远程访问企业内网资源时需要使用ppp协议向企业总部申请内网IP地址,并需要经过总部的身份认证。但是ppp报文受其协议自身的限制不能在internet上直接传输。因为PPP(Point-to-Point Protocol)协议是一种点到点链路层协议,主要用于在全双工的同异步链路上进行点到点的数据传输。
问题1:为什么要申请企业内网IP地址?
访问内网资源一定要使用内网IP地址?内网设备做net server不可以吗?可能企业公网地址有限?
问题2:为什么要使用ppp协议?
ppp或者pppoe都可以基于ppp的lcp协议进行认证并基于此做aaa,更好保护网络安全性。
ppp可以通过ipcp方式申请得到企业内网地址。
初期用户只能拨号上网,必须使用ppp协议。
通过L2TP PN隧道承载PPP报文在internet上传输。不管出差员工通过传统拨号方式接入internet,还是通过以太网方式接入internet,l2tp pn都可以向其提供远程接入服务。
NAS-Init
场景描述
拨号用户访问企业内网。
NAS:Network Access Server,运营商用来向拨号用户提供PPP/PPPOE接入服务的服务器,拨号用户通过NAS访问外部网络。
LNS:L2TP Network Server,企业总部出口网关。
在L2TP出现以前,拨号用户远程访问企业总部内网资源时,需要依靠ppp协议向LNS(企业出口网关)申请总部内网地址。但是受到PPP协议点到点特点的限制,拨号用户发出的ppp报文会被率先终结在NAS设备(网络接入服务器),无法跨越公网到达LNS.
L2TP出现后,运营商配合企业在NAS和LNS之间部署L2TP隧道,拨号用户发出的ppp报文到达NAS时,NAS会通过L2TP 隧道将PPP报文进行封装,在其外部加L2TP报头,再把L2TP报文封装在ip报文中,在公网传输。LNS收到后,进行解封装,将报文还原成ppp报文,进行地址的申请和身份的认证,解决了ppp报文无法在公网传输的问题,满足了员工远程办公的需求。
随着Internet发展,用户不需要在使用modem拨号上网,ppp接入方式逐渐淘汰,但是ppp能够通过其认证协议实现aaa的优点实在太好,所以就基于以太网升级成为pppoe的接入方式。
问题:pppoe报文就可以在公网传输了,还需要L2TP吗?
携带ppp报文到达
L2TP同样支持PPPOE拨号用户远程访问企业总部,拨号用户发出的pppoe报文会被NAS处理成PPP报文以后,再通过L2TP 隧道传输。
原理分析
隧道协商
1、拨号用户与NAS建立PPPoE连接
pppoe client发送PADI广播报文,寻找PPPoE Server。
PPPoE Server返回PADO报文,告知PPPOE CLIENT可以与自己建立pppoe连接。
pppoe client发送PADR报文,向PPPOE SERVER请求建立PPPOE会话所需要的session id。
pppoe server返回PADS报文,告知pppoe client使用1作为session id。
pppoe client发送lcp request请求报文,协商链路层参数,比如mru值等。
pppoe server返回lcp ack报文,进行确认,链路层参数协商完成。
pppoe client发送pap/chap报文,请求pppoe server进行身份认证。具体根据使用pap还是chap决定。
2、NAS与LNS建立L2TP隧道
通过协商隧道标识来建立隧道。
NAS发送SCCRQ报文(UDP(X,1701)),携带初始Tunnel ID=0,告知LNS使用1作为Tunnel ID与其通信。Tunnel ID是作为对隧道的区分,因为一个NAS或者一个LNS都可以同时建立多条隧道承载多种业务。
LNS返回SCCRP报文(UDP(1701,X)),携带Tunnel ID=1,进行确认。
NAS发送SCCRN报文(UDP(X,1701)),携带Tunnel ID=1,进行确认。
3、NAS与LNS建立L2TP会话
通过协商隧道session id来建立会话。
目的是通过L2TP会话记录client与LNS后续建立PPP连接的状态。
NAS发送ICRQ报文(session id=0),告知LNS使用session ID=28与其通信。
LNS返回ICRP报文(session id=28),告知NAS使用session ID=24与其通信。
NAS发送ICCN报文(session id=24),进行确认。
4、client与LNS建立PPP连接
4.1、身份认证(可选)
代理认证(默认):认可NAS的认证结果,不进行二次认证。
强制CHAP认证:不认可NAS的认证结果,还需要再次使用CHAP进行二次认证。
LCP重协商:不仅不认可NAS的认证结果,还不认可NAS的LCP协商结果,需要重新协商并认证。
4.2、请求地址
client发送IPCP request报文,请求LNS向其分配企业内网地址。
LNS从地址池中分配地址,返回IPCP ack报文,为client分配地址。
5、client发送业务报文访问企业总部
报文经过NAS和LNS的加解封装后到达对端。
报文封装
1、client发出的原始数据经过ppp头和pppoe头封装后发往NAS
2、NAS使用VT接口拆除报文的PPPOE头部,再进行2LTP封装,然后按照到INTERNET的公网路由将封装后的数据发送出去。
安全策略
拨号用户访问企业内网的过程中,经过NAS的流量分为以下2类,对应流量的安全策略处理原则如下。
NAS收到的拨号用户发来的PPPoE报文。此处的PPPoE报文既包含拨号用户与NAS间建立PPPoE连接时的协商报文,也包含拨号用户访问企业总部内网业务数据被封装后的PPPoE报文。由于PPPoE广播报文不受安全策略控制,因此NAS上无需为该流量配置安全策略。由NAS发出的L2TP报文。此处的L2TP报文既包含NAS与LNS建立隧道时的L2TP协商报文,也包含拨号用户访问企业总部内网业务数据被封装后的L2TP报文,这些L2TP报文会经过Local—>Untrust区域。
LNS
拨号用户访问企业内网的过程中,经过LNS的流量分为以下2类,对应流量的安全策略处理原则如下。
NAS与LNS间的L2TP报文。此处的L2TP报文既包含NAS与LNS建立隧道时的L2TP协商报文,也包含拨号用户访问企业总部内网业务数据被解封装前的L2TP报文,这些L2TP报文会经过Untrust—>Local区域。拨号用户访问企业总部内网的业务报文。LNS通过VT接口将拨号用户访问企业总部内网的业务报文解封装以后,这些报文经过的安全域间为DMZ->Trust。DMZ区域为LNS上VT接口所在的安全区域,Trust为LNS连接总部内网接口所在的安全区域。
Client-Init
场景描述
移动办公用户访问企业内网。
用户直接通过以太网方式接入Internet。具体方式是移动终端上的pn软件与lns设备直接建立L2TP隧道,而无需再经过一个单独的NAS设备。用户访问企业内网时,PPP报文会通过两者之间的L2TP PN隧道到达LNS设备。该场景下,用户远程访问企业内网资源可以不受地域限制,使得远程办公更为灵活方便。
原理分析
隧道协商
1、client与LNS建立L2TP隧道
通过协商隧道标识来建立隧道。
client发送SCCRQ报文(UDP(X,1701)),携带初始Tunnel ID=0,告知LNS使用1作为Tunnel ID与其通信。Tunnel ID是作为对隧道的区分,因为一个NAS或者一个LNS都可以同时建立多条隧道承载多种业务。
LNS返回SCCRP报文(UDP(1701,X)),携带Tunnel ID=1,进行确认。
client发送SCCRN报文(UDP(X,1701)),携带Tunnel ID=1,进行确认。
2、client与LNS建立L2TP会话
通过协商隧道session id来建立会话。
目的是通过L2TP会话记录client与LNS后续建立PPP连接的状态。
client发送ICRQ报文(session id=0),告知LNS使用session ID=81与其通信。
LNS返回ICRP报文(session id=81),告知client使用session ID=77与其通信。
client发送ICCN报文(session id=77),进行确认。
3、client与LNS建立PPP连接
3.1、链路层协商
client发送lcp request请求报文,协商链路层参数,如mru=1500
lns返回lcp ack,进行确认。
3.2、身份认证(必选)
PAP认证(默认):client发送pap request,请求LNS进行确认。
CHAP认证:LNS发送chap challenge,client返回应答,LNS进行确认。
3.2、请求地址
client发送IPCP request报文,请求LNS向其分配企业内网地址。
LNS从地址池中分配地址,返回IPCP ack报文,为client分配地址。
4、client发送业务报文访问企业总部
报文经过client和LNS的加解封装后到达对端。
报文封装
1、client向企业总部服务器发送业务报文
业务报文进行ppp封装和l2tp封装,然后按照移动办公用户pc的本地路由转发给LNS。
2、LNS收到后,使用VT接口拆除报文的L2TP头和PPP头,然后按照到企业内网的路由将报文转发给企业总部服务器。
3、企业总部服务器收到client的报文后,向移动办公用户返回响应报文
安全策略
LNS
移动办公用户访问企业总部服务器的过程中,经过LNS的流量分为以下2类,对应流量的安全策略处理原则如下。
移动办公用户与LNS间的L2TP报文。此处的L2TP报文既包含移动办公用户与LNS建立隧道时的L2TP协商报文,也包含移动办公用户访问企业总部服务器被解封装前的业务报文,这些L2TP报文会经过Untrust—>Local区域。移动办公用户访问企业总部内网服务器的业务报文。LNS通过VT接口将移动办公用户访问企业总部服务器的业务报文解封装以后,这些报文经过的安全域间为DMZ->Trust。DMZ区域为LNS上VT接口所在的安全区域,Trust为LNS连接总部内网接口所在的安全区域。
Call-LNS
场景描述
通过LAC自主拨号实现企业分支与总部的内网互联互访。
LNS是企业总部的出口网关。LAC和LNS部署了L2TP以后,LAC设备会主动向LNS发起L2TP隧道建立请求,建立完成后,分支用户访问总部的流量直接通过L2TP隧道传输到对端,不需要分支内的用户发起与LAC的ppp/pppoe连接。该场景下,L2TP 隧道建立在LAC与LNS之间,隧道对于用户是透明的,用户感知不到隧道的存在。
原理分析
隧道协商
1、LAC与LNS建立L2TP隧道
通过协商隧道标识来建立隧道。
LAC发送SCCRQ报文(UDP(X,1701)),携带初始Tunnel ID=0,告知LNS使用1作为Tunnel ID与其通信。Tunnel ID是作为对隧道的区分,因为一个LAC或者一个LNS都可以同时建立多条隧道承载多种业务。
LNS返回SCCRP报文(UDP(1701,X)),携带Tunnel ID=1,进行确认。
LAC发送SCCRN报文(UDP(X,1701)),携带Tunnel ID=1,进行确认。
2、LAC与LNS建立L2TP会话
通过协商隧道session id来建立会话。
目的是通过L2TP会话记录client与LNS后续建立PPP连接的状态。
LAC发送ICRQ报文(session id=0),告知LNS使用session ID=81与其通信。
LNS返回ICRP报文(session id=81),告知LAC使用session ID=77与其通信。
LAC发送ICCN报文(session id=77),进行确认。
3、LAC与LNS建立PPP连接
3.1、链路层协商
LAC发送lcp request请求报文,协商链路层参数,如mru=1500
LNS返回lcp ack,进行确认。
3.2、身份认证(必选)
PAP认证(默认):LAC发送pap request,请求LNS进行确认。
CHAP认证:LNS发送chap challenge,LAC返回应答,LNS进行确认。
3.3、请求地址
LAC发送IPCP request报文,请求LNS向其分配企业内网地址。
LNS从地址池中分配地址,返回IPCP ack报文,为LAC分配地址。
4、client发送业务报文访问企业总部
报文经过LAC和LNS的加解封装后到达对端。
报文封装
1、client向企业总部内网服务器发送访问请求
分支员工的PC按照本地路由将请求报文转发给LAC。
2、LAC收到报文后使用VT接口对此报文进行PPP封装和L2TP封装。
封装完成后,LAC再按照到internet的公网路由将封装好的报文发送出去。
3、LNS设备接收到报文以后,使用VT接口拆除报文的L2TP头和PPP头,然后按照到企业内网的路由将报文转发给总部内网服务器。
4、企业总部服务器收到分支员工的报文后,向分支员工返回响应报文。
安全策略
LAC
企业分支员工访问企业总部服务器的过程中,经过LAC的流量分为以下2类,对应流量的安全策略处理原则如下。
企业分支员工访问企业总部服务器的业务报文。业务报文会从Trust区域进入LAC,然后再通过DMZ区域的VT接口进行封装,其经过的安全区域为Trust—>DMZ区域。Trust和DMZ仅为示例,Trust代表LAC连接分支内网接口所在的安全区域,DMZ代表LAC上VT接口所在的安全区域。由LAC发出的L2TP报文。此处的L2TP报文既包括建立L2TP VPN隧道时的协商报文,也包括经过L2TP封装以后的业务报文,这些L2TP报文会经过Local—>Untrust区域。
LNS
企业分支员工访问企业总部服务器的过程中,经过LNS的流量分为以下2类,对应流量的安全策略处理原则如下。
LNS收到的L2TP报文。此处的L2TP报文既包含LAC与LNS建立隧道时的L2TP协商报文,也包含分支员工访问企业总部服务器的业务数据被解封装前的L2TP报文,这些L2TP报文会经过Untrust—>Local区域。企业分支员工访问企业总部服务器的业务报文。LNS的VT接口会对L2TP报文解封装,解封装后的业务报文送往总部内网服务器所在的Trust区域,该报文经过的安全区域为DMZ—>Trust区域。
LAC上的源NAT地址转换
作用:将分支员工发出的报文源地址从内部私有地址转换为LAC上VT接口的地址。从而当企业总部服务器回包时,返回的响应报文的目的地址也是LAC上的vt接口地址,到达LNS后,可以命中LNS上的UNR(user network router,用户网络路由)路由,确保响应报文能够进入L2TP隧道,并返回给分支员工。
源NAT策略不影响L2TP 隧道的建立。
如果没有在LAC上配置源NAT地址转换,就会导致用户业务的回包在LNS侧因目的地址无法查到路由而无法进入L2TP隧道,导致访问失败。
1、分支员工向企业总部服务器发起访问请求,该报文的源地址是10.1.1.1,目的地址192.168.1.1。
2、LAC收到报文以后,查找目的地址为192.168.1.0/24这条路由转发此报文。
LAC发现该报文的出接口是VT1口,于是对该报文进行L2TP封装。封装后的报文源地址是1.1.1.1,目的地址是2.2.2.2。
3、LAC对封装后的L2TP报文继续查找路由,然后按照目的地址为0.0.0.0/0这条缺省路由将报文转发到Internet。
4、L2TP报文到达LNS侧以后,LNS进行L2TP解封装,并将解封装后的报文发送给企业总部服务器。然后,总部服务器向LNS返回响应报文,响应报文的源地址是192.168.1.1,目的地址是10.1.1.1。
5、LNS收到响应报文后,查找路由进行报文转发。
由于LNS上并没有一条目的地址是10.1.1.0/24网段的路由,于是该响应报文将无法进入L2TP隧道返回给分支员工。最后该报文只能匹配缺省路由被转发至Internet,直至被Internet丢弃。
该问题不建议采取在LNS上手动添加一条到分支内网路由的方法来解决,原因如下。
如果分支侧子网较多,则LNS上添加到分支子网的路由就会增多,这对于网络维护将会是一个很大的负担。分支子网的地址有可能会发生变化,LNS侧就要根据分支侧子网地址的变化同步修改路由,这同样会给网络维护带来麻烦。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~