既然IPsec有隧道模式,为什么还有L2TP+IPsec这样的组合? Ipsec有隧道模式,可以用ESP或者AH进行隧道传输,即使需求加密,ESP也可以提供,那么有几个问题想不明白: 1、为什么还有L2TP over IPsec这样的组合?L2TP需要IPsec是因为L2TP本身明文传输,这一点可以理解,我的意思是既然IPsec可以单干,为什么L2TP over IPsec这样的组合还有存在的必要? 2、在L2TP over IPsec的组合里,IPsec是不是应该使用ESP的传输模式?因为没必要再用隧道了。 先谢过各位答主。 1.你的这个IPsec单干的问题,在IKEV1的xauth或者IKEV2中已经解决了。 xauth有版权问题,可能用的不多(不了解具体市场占比,也许思科设备用的多?这里只是一面之词,仅供参考)。 至于为什么L2TP还存在而且应用还很多,是之前大家用的习惯了。IPsec远程登录的应用场景首要是稳定性,用户如果对性能没有硬性要求(其实IKEv2性能提升也不算巨大,但确实有提升,第一,登录时L2TP交互报文较多,第二,通信流量需要走IPsec,再走L2TP),或者没有什么政策强制要求,暂时没有替换的必要。 2.你可以看一下传输与隧道模式的报文封装区别。隧道模式可以保护源与目的IP,其实为了安全性,更推荐隧道模式。(当然也要看具体应用场景,不过我了解用传输模式很少了)。 我不在一线负责售前与部署工作,应用场景可能说的不一定完全对。可供参考。 L2TP协议,你可以认为是一种PPP OVER UDP形式的隧道,外层用的UDP,里面的载荷是PPP。PPP是一种链路层协议,这种协议最大的优势是可以支持用户名+密码方式的链路层认证。因此,如果希望接入VPN服务器的时候,可以针对不同的用户进行权限验证等需求,IPSEC是很难支持的。因此就出现了L2TP OVER IPSEC的用法。IPSEC一般用来在两个网络之间打隧道(比如公司的两个分支机构),L2TP用在出差员工接入公司的场景。 PPP主要就是用来做接入用户认证的,例如PPPOE就是PPP OVER ETH,用在用户的宽带接入场景。L2TP就是PPP OVER UDP,因此使用在用户接入VPN的场景。 ——————————————补充一点说明———————————- 1、PPP和eth都是链路层协议,我认为两者最核心的区别:PPP是为了点对点信道开发的,ETH是为了广播信道开发的。因此,PPP关心用户级别的验证、IP地址分配(PPP无需DHCP协议即可给根据用户名给对端分配IP、DNS)等,而ETH更需要关心冲突和寻址。 2、IKE本身是用来协商密钥的(协商DES、3DES这种块加密用的对称密钥),很明显如果密钥被窃取了,加密就没有安全性可言了,而IPSEC是用来对报文进行加密的,两者其实没有必然联系的。实际上IKE、IPSEC都是独立开发的协议,从协议栈的位置来看也是没有可比性的。只是IKE和IPSEC结合起来用的太普及了,IKE/IPSEC几乎就是一体的协议了。 3、IKE既然是用来协商密钥的,一定要支持身份认证的,当然了IKE的身份认证也很复杂,就不展开了。因此采用IKE的身份认证手段+IPSEC也是可以支持客户接入VPN场景的。 4、L2TP、IPSEC、IKE,这三个是完全独立的协议,每个协议都有其弱点和优点,以及不同的应用场景。在一些复杂的组网场景里面,采用不同的协议组合可以更好的实现一些场景,而无需修改已有的协议。因此出现了L2TP + IPSEC +IKE的用法。 这个问题讨论的无论是IPsec,还是L2TP+IPsec 都是远程访问模式,这是前提条件。 什么是远程访问模式? 公司销售整天在外地出差,在客户那里需要一份数据,数据只有公司的服务器上有,服务器只接受内网的用户访问,销售可以远程访问公司服务器吗? 可以的!销售可以依赖一款IPsec VPN 软件来连接公司的VPN服务器,进而访问公司内部任何服务器。无论销售身在何处,都可以访问公司内网的服务器资源,仿佛置身于公司内网一样。由于销售是在遥远地方访问公司内网,故美其名曰:远程访问! 问题来了,内网服务器只接受内网用户访问自己,用什么条件判断是内网用户? 使用IP地址啊,通常公司给内网用户分配10.0.0.0/8的IP地址,如果IPsec VPN用户远程可以访问,第一个条件就是获得公司内网的IP。用户在获得IP时,需要先验证用户的身份,这是标准流程。 在公司内网做这一切非常简单,先用802.1x验证用户,域控制器验证成功之后,用户就可以通过DHCP动态获得IP地址,然后用户就可以上网了。 对于远程用户,如何先验证用户身份,再给用户分配内网的IP? 想必很多同学已经想到了这个协议,它就是PPP协议,可以完成这两个功能。 下一个问题,远程用户与公司服务器之间有Internet隔离,如何将用户的PPP Request消息运输到公司服务器,然后再把服务器PPP Response消息运输给远程用户? 这个很难吗? 一点也不难,用户有自己公网IP,服务器同样有自己的公网IP,用户电脑既然知道服务器的公网IP了,那就使用IP协议来传输吧! IP/PPP 可以吗?当然可以,但是考虑远程用户电脑通常位于NAT设备后,而IP协议不便于穿越NAT设备,所以一般使用这样运输组合: IP/UDP/L2TP/PPP L2TP使用 UDP 1701端口,UDP协议是穿越NAT的利器。 L2TP L2TP是 Layer 2 Tunnel Protocol的缩写,Layer 2这里指的是PPP协议,通俗地说,这个L2TP为了运输二层协议PPP而存在的! 问题来了,L2TP本身没有加密机制,如果不加密传输,那用户的数据在互联网上就是裸奔,这肯定无法接受。 很自然就会想到IPsec,因为IPsec可以加密,IPsec使用ESP协议来加密,ESP协议位于什么地方呢? 是 IP/ESP/UDP(1701)/L2TP/PPP 还是IP/UDP(4500)/ESP/UDP(1701)/L2TP/PPP ? 肯定是后者! 前者将UDP协议加密隐藏了起来,而后者将UDP明文暴露出来,可以轻松穿越NAT设备。 作为ESP运输的货物,是加密传输的,这里只是为了便于阐述协议封装,真实的封装格式则为: IP/UDP/ESP/ESP Payload 看出来了吗? 明文的UDP/L2TP/PPP加密之后变为 ESP的货物了,即ESP Payload。 以上的讨论解决了PPP协议在远程用户与公司服务器之间来回穿梭的问题,而且安全得到保证。 接下来就是PPP协议的工作流程,关于这个作者前几天刚写过一个回答,有兴趣的读者前去阅读,这里不再阐述了。 当PPP完成了握手流程,接下来就是传输用户的IP报文了,逻辑很简单,如下所示: IP/UDP(4500)/ESP/UDP(1701)/L2TP/PPP/IP/TCP/HTTP 想必很多同学可以看懂这辆小火车(协议封装)了吧? 如果一上来就写这辆小火车,估计很多同学都会很迷惑不解。。。 这辆小火车,真正运输时的样子是: IP/UDP/ESP/ESP Payload 啰嗦了那么多,好像还没有回答读者的问题。其实读者的问题已经回答了80%,接下来回答剩余的20%。 第一个问题:为何有了IPsec VPN(Remote Access),还需要L2TP + IPsec ? 那是因为前者使用 xauth认证用户, 使用mode config分配用户IP,这些东西并不完全标准化。没有标准化,不同厂商之间的互联就容易出现问题。 为了克服这种兼容性问题,使用业界标准的PPP协议,兼容性问题迎刃而解。 第二个问题,是传输模式(Transport Mode) 而不是隧道模式(Tunnel Mode),这可以通过封装格式看得出。 更多内容,请参阅同名文章:既然IPsec有隧道模式,为什么还有L2TP+IPsec这样的组合? 华为防火墙,配置了L2TP Over IPSec,但是用UniVPN远程拨入的时候,显示警告:“隧道保活超时或协商超时”
































2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/77490.html