「NAT」- Network Address Translation(网络地址转换)

问题描述
随着互联网发展和网络应用的增多,IPv4 地址枯竭已经成为制约网络发展的瓶颈; 随着互联网用户的增多,IPv4 的公有地址资源显得越发短缺; 同时 IPv4 公有地址资源存在地址分配不均的问题,这导致部分地区的 IPv4 可用公有地址严重不足; 为解决该问题,使用过渡技术解决 IPv4 公有地址短缺就显得尤为必要;
解决方案
NAT(Network Address Translation,网络地址转换)是 1994 年提出的。当在专用网内部的一些主机本来已经分配到了本地 IP 地址(即仅在本专用网内使用的专用地址),但又想和因特网上的主机通信(并不需要加密)时,可使用 NAT;
NAT,主要用于实现位于内部网络的主机访问外部网络的功能。当局域网内的主机需要访问外部网络时,通过 NAT 技术能够将其私网地址转换为公网地址,并且多个私网用户能够共用同个公网地址,这样既可保证网络互通,又节省了公网地址;
尽管 IPv6 可以从根本上解决 IPv4 地址空间不足的问题,但目前众多的网络设备和网络应用仍是基于 IPv4 的,迁移将带来大量的工作。因此在 IPv6 广泛应用之前,这种过渡技术的使用是解决地址短缺的主要技术手段;
原理简述
NAT,网络地址转换,对 IP 数据报文中的 IP 地址进行转换,是一种在现网中被广泛部署的技术。NAT 将重写数据包中的源地址或目的地址,用于解决地址短缺的问题。它的主要原理是,在网络中的多台主机,通过共享同个公网地址来访问外网资源。同时,由于 NAT 屏蔽了内网网络,自然也就为局域网中的机器提供了安全隔离;

NAT 的典型应用场景:在私有网络内部(园区、家庭)使用私有地址,出口设备部署 NAT 技术: 1)对于“从内到外”的流量,网络设备通过 NAT 将数据包的 SRC-ADDRESS 进行转换(转换成特定的公有地址), 2)对于“从外到内”的流量,则对数据包的 DST-ADDRESS 进行转换;
通过私有地址的使用结合 NAT 技术,可以有效节约公网 IPv4 地址;
NAT映射条目由首包触发,当一段时间没有流量时,为了安全考虑NAT映射条目自动删除。
特性特征
私网地址与公网地址,一对一映射;
NAT 不仅能解决了 lP 地址不足的问题,
而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机;
应用场景

企业或家庭使用私有网络,使用私有地址;运营商使用公共网络,使用公有地址;
NAT 一般部署在连接内网和外网的网关设备上;,例如路由器或防火墙上;
报文格式
将源地址或目的地址进行转换,也涉及源端口和目的端口的转换;
NAT 是种技术,而非协议,所以无[……]

READ MORE

「NAT」- 安全隐患

问题描述
数据通过 NAT 设备后,NAT 设备会建立 NAT 映射表。当 NAT 设备收到回程报文后根据映射表决定是否是合法回程报文,然后决定是否进行转发;

如果外部主机以 NAT 映射表中的公网 IP+Port 为目标发送数据,数据是否会被转发?—— 数据是会被转发的,原因在于 NAT 并不强制检查源地址,即针对源地址的检查是可选的;
解决方案
WIP
Tuple
内部 Tuple:内部主机的私有地址和端口号所构成的二元组,即内部主机所发送报文的源地址、端口所构成的二元组;
外部 Tuple:内部 Tuple 经过 NAT 的源地址 / 端口转换之后,所获得的外部地址、端口所构成的二元组,即外部主机收到经 NAT 转换之后的报文时,所看到的该报文的源地址和源端口;
目标 Tuple:外部主机的地址、端口所构成的二元组,即内部主机所发送报文的目标地址、端口所构成的二元组;

安全类型
NAT 可以分成两大类:Cone NAT(圆锥型 NAT)与 Symmetric NAT(对称型 NAT);
Cone NAT 又可以分为 Full Cone NAT(完全圆锥型)、Restricted Cone NAT(限制圆锥型)、Port -Restricted Cone NAT(端口限制圆锥型);
NAT 有 4 种不同的类型:
Full Cone NAT
Full Cone NAT(完全圆锥型):同一内部 Tuple 请求被 NAT 转换至同一外部 Tuple,任意外部主机就都能以外部 Tuple 中的地址和端口为目标发送报文,NAT 设备对收到的报文能正确转发。Full Cone NAT 处理方法简单,但安全性有缺陷;

内网 PC1 与 Web 服务器通信以后,NAT 设备生成 NAT 映射表,如果是 Full Cone NAT 类型,则攻击者以外部 Tuple(122.1.2.2:1025)为目标发送数据,则数据会被发送给 PC1;
Restricted Cone NAT
Restricted Cone NAT(限制圆锥型):Full Cone NAT 的受限版本,于 Full Cone NAT 概念类似,主要区别是 NAT 设备收到外部主机的报文时,除了查看报文目的地址+端口是否与外部 Tuple 一致外,还会查看报文源 IP 是否与目标 Tuple 中的 IP 地址一致,如果都一致则转发;

内网 PC1 与 Web 服务器通信以后,NAT 设备生成 NAT 映射表,如果是 Restricted Cone NAT 类型,则攻击者需要以外部 Tuple(122.1.2.2:1025)为目标地址+端口,以目[……]

READ MORE

「NAT」- 路由发布

问题描述
某些情况下 NAT 设备不一定是出口设备,因此需要将回程的流量引导至 NAT 设备上,
解决方案
此时可以在路由协议中引入 UNR 路由的方式解决问题;
UNR(User Network Route,用户网络路由),UNR 是非接口 IP 产生的路由,不存在于任何接口上。NAT 场景中,设备会为 NAT 地址池中的地址创建 UNR 主机路由。比如 NAT 地址池中有地址 122.1.2.2 和 122.1.2.3,则设备会自动创建 122.1.2.2/32 和 122.1.2.3/32 UNR 路由;[……]

READ MORE

「NETWORKING」- 智能选路

问题描述
云计算时代,网络的可靠性不再满足用户的需求,用户希望能够基于应用了解现网的情况,并根据应用的现状调整网络;
该需求对于原有的网络提出了挑战: 1)传统的网络无法很好地识别应用; 2)传统的网络无法基于应用调整;
解决方案
为了应对以上挑战,产生了两种技术: 1)SAC(Smart Application Control,智能应用控制),该技术能够灵活地识别应用; 2)SPR(Smart Policy Routing,智能策略路由),该技术能够基于网络的状况或者应用的状况切换转发路径;
原理简述
基于 SAC 识别应用,并通过 SPR 选路就可以保障特定业务在网络上的可靠性:

1)SAC 通过 SA 特征库与 FPI 特征库识别应用并分组流量; 2)SPR 基于探测报文确定链路质量从而决定转发路径;[……]

READ MORE

「NETWORKING」- 业务可靠性:智能应用控制,SAC,Smart Application Control

问题描述
传统网络主要是以流量为维度管理网络,但在云计算时代,业务变得原来越重要,网络不能再只基于过去的五元组管理网络,而需要以应用为维度管理监控网络;
一般的路由交换设备没有办法识别应用层的信息,以应用为维度管理网络存在较大难度;
解决方案
SAC(Smart Application Control,智能应用控制)技术能够帮助路由交换设备识别分类应用;
SAC 指利用 SA(Service Awareness,业务感知技术)和 FPI(First Packet Identification,首包识别技术),对报文中的第 4~7 层内容(如 HTTP、RTP)进行检测和识别;
原理简述
SAC 应用识别流程

当一条流量的报文进入设备之后,设备首先根据报文中携带的五元组信息,判断该报文是否已经识别过应用;
如果识别过,则不需要重复识别,直接将报文送入三层转发;
如果没有识别过,则送入 SAC 进行应用识别,依次查看 FPI 特征库和 SA 特征库;
SAC 识别结束后,报文根据 SAC 的识别结果进行业务处理,处理结束后送入三层转发;
其中,SAC 的识别流程为:先根据 FPI 中的 ACL 规则来识别应用;如果识别失败,再根据 FPI 中的 DNS 关联表来识别应用;如果识别失败,再根据 FPI 中的协议端口表来识别应用;如果三者都没有识别出应用,再送入 SA 继续识别;
SAC 特征库
特征识别是业务感知技术(SA)的最基本功能。不同的应用程序通常会采用不同的协议,而不同的应用协议具有各自的特征,能标识该协议的特征称为特征码。系统对流经设备的业务流进行分析,将分析结果和设备上的特征库进行对比,通过匹配数据报文中的特征码来识别出应用程序;
SAC 特征库包含: 1)FPI 特征库:FPI 的特征码是指可以用于 FPI 应用识别的特征码, 2)SA 特征库:SA 的特征码是指可以用于 SA 应用识别的特征码;
SAC 特征库文件只能以升级的方式进行更新,不可以手动修改;
SAC 特征库的升级方式有: 在线升级:可通过安全中心平台或者内网升级服务器升级 SAC 特征库 本地升级:通过安全中心平台下载升级包,通过 FTP 上传到设备本地,并进行升级;
SA(Service Awareness,业务感知)
当设备接收数据后,可以使用 SA(Service Awareness,业务感知)技术匹配应用;
SA 使用 SA 特征库感知业务,现有的 SA 特征库内置了 6000+应用,对于公有应用有非常高的识别率。SA 特征库一般不能手工修改,只能通过在线或本地升级更新 SA 特征库;

FPI
通过 SA[……]

READ MORE

「NETWORKING」- 业务可靠性:SPR(Smart Policy Routing,智能策略路由)

问题描述
云计算时代,越来越多的用户把关注点从网络的连通性转移到业务的可用性上,如业务的可获得性、响应速度和业务质量等。但是传统网络无法感知链路的质量和业务的需求,导致用户的业务体验较差;
解决方案
SPR(Smart Policy Routing,智能策略路由)就是在这一背景下产生的一种策略路由。它可以主动探测链路质量并匹配业务的需求,从而选择一条最优链路转发业务数据,可以有效地避免网络黑洞、网络震荡等问题;
原理简述

SPR 业务区分
SPR 可以根据协议类型,报文应用,报文信息区分不同流量;
不同业务可以设置不同的链路质量参数阈值,可以设置: 1)时延 D(Delay); 2)抖动时间 J(Jitter); 3)丢包率 L(Loss) 4)综合度量指标 CMI(Composite Measure Indicator):CMI 是基于时延,抖动,丢包综合计算得到的指标;
SPR 选路主要基于 CMI 值;

SPR 支持通过以下属性对业务进行区分: 根据协议类型区分:IP,TCP,UDP,GRE,IGMP,IPINIP,OSPF,ICMP; 根据报文应用区分:DSCP,TOS,IP Precedence,Fragment,VPN,TCP-flag; 根据报文信息区分:SRC-IP-ADDR,DST-IP-ADDR,Protocol,SRC-Port,DST-Port,SRC-IP-Prefix,DST-IP-Prefix;
SPR 根据 NQA 探测结果进行业务选路时, CMI 值的计算公式:CMI=9000 – cmi-method,其中 cmi-method 缺省定义为:D+J+L 使用 NQA 探测,CMI 值越大越优
SPR 根据 IP FPM 探测结果进行业务选路时, CMI 值的计算公式:CMI=D+J+L 使用 IP FPM 探测,CMI 值越小越优
SPR 探测链路和链路组
探测链路通过探针(NQA, IP FPM)获取链路参数的质量,SPR 根据探测链路的链路质量匹配业务需求,从而实现智能选路的需求;
SPR 以链路组的形式使用探测链路,一个链路组中可以有一条或多条探测链路;
SPR 的链路角色分为: 1)主用链路组 2)备用链路组 3)逃生链路。在 SPR 中,当业务无法从主用链路组和备用链路组中找到合适的链路传输数据时可以启用逃生链路;

SPR 业务选路
SPR 会定期获取 NQA 或 IP FPM 的探测结果,判断链路是否满足业务需求,如果不满足则触发链路切换;
SPR 业务选路过程如下:
1)根据 NQA 探测结果进行业务选路:
2)根据 IP FPM[……]

READ MORE

「GRE」- Generic Routing Encapsulation(通用路由封装协议)

问题描述
随着企业的发展,越来越多的企业需要在分支-总部之间进行内网通信。传统分支-总部之间内网通信需要租用专线(比如 MPLS,传输专线等);
但是专线价格昂贵,对于中小型企业,或者跨国公司来说,成本较高;
由于 Internet 的发展,Internet 网有了足够的带宽和覆盖,通过 Internet 建立分支-总部内网通信的可行性越来越高;
解决方案
GRE(Generic Routing Encapsulation,通用路由封装协议)就是在这种背景下被提出的;
GRE 是种 Layer 3 VPN 封装技术。GRE 能够对某些网络层协议(如 IPX、IPv4、IPv6 等)的报文进行封装,使封装后的报文能够在另一种网络中(如 IPv4)传输,从而解决跨越异种网络的报文传输问题;
原理简述
GRE 提供了将一种协议的报文封装在另一种协议报文中的机制,是一种三层隧道封装技术,使报文可以通过 GRE 隧道透明的传输;
GRE 技术本质上是一种隧道技术,可以对某些网络层协议(如 IPX、IPv6、IPv4 等)的数据报文进行封装,使这些被封装的数据报文能够在另一个网络层协议(如 IPv4、IPv6 等)中传输;

特性说明
GRE 实现机制简单,对隧道两端的设备负担小; GRE 隧道可以通过 IPv4 网络连通多种网络协议的本地网络,有效利用了原有的网络架构,降低成本; GRE 隧道将不连续的子网连接起来,用于组建 VPN,实现企业总部和分支间的连接; GRE 只有简单的密码验证,没有加密功能;
GRE 隧道能够承载 IPv4/IPv6 的:单播、组播、广播报文; 1)由于动态路由协议中会使用组播报文,因此更多时候 GRE 会在需要传递组播路由数据的场景中被用到,这也是 GRE 被称为通用路由封装协议的原因;
应用场景
IPv6 over IPv4
通过在 IPv4 网络上建立 GRE 隧道,解决两个 IPv6 网络的通信问题:
广域互联
通过 GRE 隧道,分支和总部之间可以基于 Internet 建立企业网络,解决了企业分支与总部互联的问题;

GRE 隧道能承载 IPv4/IPv6 单播、组播、广播报文,分支-总部之间可以通过 GRE 隧道建立内网之间的动态路由协议邻居,使得分支-总部之间内网互联更加方便;

通过 GRE 接入 MPLS VPN 网络
在 MPLS VPN 中,为了让 CE 设备接入 VPN 中往往需要 CE 与 MPLS 骨干网的 PE 设备之间有直接的物理链路;
在实际组网中,并非所有的 CE 和 PE 都能用物理链路直接相连。例如,很多已经连接到 Internet 或[……]

READ MORE

「GRE」- 概念、术语

隧道接口(Tunnel Interface)
隧道接口(Tunnel Interface)是为实现报文的封装而提供的一种点对点类型的虚拟接口,与 Loopback 接口类似,都是一种逻辑接口;
负责发送封装后的报文的物理接口叫做隧道源接口,对端接收此报文的物理接口叫做隧道目的接口;
基本原理
GRE 构成要素分为 3 个部分: 1)乘客协议,指用户在传输数据时所使用的原始网络协议; 2)封装协议,就是用来“包装”乘客协议对应的报文,使原始报文能够在新的网络中传输; 3)运输协议,是指被封装以后的报文在新网络中传输时所使用的网络协议;

如图所示,乘客协议为 IPv6,封装协议为 GRE,运输协议为 IPv4;
整体转发流程如下: 1)当 R1 收到 IP1 发来的 IPv6 数据包,查询设备路由表,发现出接口是隧道接口,则将此报文发给隧道接口处理; 2)隧道接口给原始报文添加 GRE 头部,然后根据配置信息,给报文加上 IP 头。该 IP 头的源地址就是隧道源地址,IP 头的目的地址就是隧道目的地址; 3)封装后的报文在 IPv4 网络中进行普通的 IPv4 路由转发,最终到达目的地 R2,并解封装(解封装过程和封装过程相反,这里不再赘述)
GRE Over IPSec
GRE 的主要缺点是不支持加密和认证,数据的安全传输得不到很好的保障; 而 IPSec 的主要缺点是只支持 IP 协议,且不支持组播;
将 GRE 封装入 IPsec 可以结合 GRE 和 IPsec 的优点,避免各自的缺点。GRE Over IPsec 是一种企业常用的点到点 VPN 技术;
通过部署 GRE Over IPSec 结合两种 VPN 技术的优点:
GRE 可以封装组播数据并在 GRE 隧道中传输。而 IPsec 目前只能对单播数据进行加密保护,因此对于诸如路由协议、语音、视频等组播数据需要在 IPsec 隧道中传输的情况,可以通过建立 GRE 隧道,并对组播数据进行 GRE 封装,然后再对封装后的报文进行 IPsec 的加密处理,就实现了组播数据在 IPsec 隧道中的加密传输;
GRE Over IPsec 可以结合 GRE 和 IPsec 两种技术的优点,使网络既可以支持支持多种上层协议和组播报文,又可以支持报文加密、身份认证机制和数据完整性校验;
当网关之间采用 GRE over IPsec 连接时,先进行 GRE 封装,再进行 IPsec 封装;
GRE over IPsec 可以使用两种封装模式:隧道模式;传输模式;
DSVPN
DSVPN 主要解决 GRE Over IPsec 存在的一些缺陷,使得有大量分支机构的公司也能方便地搭建 VPN[……]

READ MORE

「GRE」- 报文格式

[……]

READ MORE

「GRE」- 基本工作原理

数据转发
GRE 隧道是三层隧道,主要承载 IPv4/IPv6 报文。GRE 通过封装外层 IP 头部,使得数据可在公网上传递

存活检测
由于 GRE 协议并不具备检测链路状态的功能,如果对端接口不可达,隧道并不能及时关闭该 Tunnel 连接,这样会造成源端会不断的向对端转发数据,而对端却因隧道不通接收不到报文,由此就会形成流量中断;
GRE 的 Keepalive 检测功能可以检测隧道状态,即检测隧道对端是否可达;
Keepalive 超时时间=发送周期(默认 5 s)*重试次数(默认 3 次)

Keepalive 检测功能的实现过程如下:
1)当 GRE 隧道的源端使能 Keepalive 检测功能后,就创建一个定时器,周期地发送 Keepalive 探测报文,同时通过计数器进行不可达计数。每发送一个探测报文,不可达计数加 1;
2)对端每收到一个探测报文,就给源端发送一个回应报文。如果源端的计数器值未达到预先设置的值就收到回应报文,就表明对端可达;
3)如果源端的计数器值到达预先设置的值——重试次数(Retry Times)时,还没收到回送报文,就认为对端不可达。此时,源端将关闭隧道连接。但是源端口仍会继续发送 Keepalive 报文,若对端 Up,则源端口也会 Up,建立隧道链接;[……]

READ MORE

「GRE」- 安全威胁

问题描述
GRE 隧道的主要作用是将数据在分支-总部之间传递,数据并不加密,有被篡改的风险;
GRE 隧道建立也有一定风险,通过伪造 IP 地址,可以使得非法设备与合法设备之间建立 GRE 隧道;

解决方案
数据校验和验证
校验和验证是指对封装的报文进行端到端校验,通过数据校验防止数据被篡改
若 GRE 报文头中的 C 位标识位置 1,则校验和有效。发送方将根据 GRE 头及 Payload 信息计算校验和,并将包含校验和的报文发送给对端。接收方对接收到的报文计算校验和,并与报文中的校验和比较,如果一致则对报文进一步处理,否则丢弃;

隧道两端可以根据实际应用的需要决定配置校验和或禁止校验和。如果本端配置了校验和而对端没有配置,则本端将不会对接收到的报文进行校验和检查,但对发送的报文计算校验和;相反,如果本端没有配置校验和而对端已配置,则本端将对从对端发来的报文进行校验和检查,但对发送的报文不计算校验和;
识别关键字
识别关键字(Key)验证是指对 Tunnel 接口进行校验。通过这种弱安全机制,可以防止错误识别、接收其它地方来的报文;
若 GRE 报文头中的 K 位为 1,则在 GRE 头中插入一个四字节长关键字字段,收发双方将进行识别关键字的验证;

关键字的作用是标志隧道中的流量,属于同一流量的报文使用相同的关键字。在报文解封装时,GRE 将基于关键字来识别属于相同流量的数据报文。只有 Tunnel 两端设置的识别关键字完全一致时才能通过验证,否则将报文丢弃。这里的“完全一致”是指两端都不设置识别关键字,或者两端都设置相同的关键字;[……]

READ MORE

「Huawei-VRP」- 配置 GRE 隧道

#### RT1

[Huawei] interface Tunnel 0/0/100
[Tunnel] tunnel-protocol gre
[Tunnel] ping <peer-pubip-address>

[Tunnel] source <local-pubip-address>
[Tunnel] destination <peer-pubip-address>
[Tunnel] ip address <local-pivip-address-0>

#### RT2

[Huawei] interface Tunnel 0/0/100
[Tunnel] tunnel-protocol gre
[Tunnel] ping <peer-pubip-address>

[Tunnel] source <local-pubip-address>
[Tunnel] destination <peer-pubip-address>
[Tunnel] ip address <local-pivip-address-1>

#### Routing RT1

ip route-static xxxx xxxx Tunnel 0/0/100

#### Routing RT2

ip route-static xxxx xxxx Tunnel 0/0/100

注意事项: 1)local-pivip-address-0 与 local-pivip-address-1 要相同网段的内网地址[……]

READ MORE

「GRE」- GRE Over IPSec

问题描述
GRE 技术简单,但是使用 GRE 隧道传递的数据以明文方式传递的,数据容易被窃取;
解决方案
在现网中,一般与 IPsec 技术结合使用。GRE 技术构建分支-总部之间的内部网络互联,IPSec 技术加密 GRE 隧道报文;
原理简述

当网关之间采用 GRE over IPsec 连接时,先进行 GRE 封装,再进行 IPsec 封装;

封装模式
GRE over IPsec 使用的封装模式为可以是隧道模式也可以是传输模式。因为隧道模式跟传输模式相比增加了 IPsec 头,导致报文长度更长,更容易导致分片,所以 GRE over IPsec 推荐采用传输模式;
报文封装

IPsec 封装过程中增加的 IP 头即源地址为 IPsec 网关应用 IPsec 安全策略的接口地址,目的地址即 IPsec 对等体中应用 IPsec 安全策略的接口地址;
IPsec 需要保护的数据流为从 GRE 起点到 GRE 终点的数据流。GRE 封装过程中增加的 IP 头即源地址为 GRE 隧道的源端地址,目的地址为 GRE 隧道的目的端地址;
特性特征
GRE over IPsec 可利用 GRE 和 IPsec 的优势,通过 GRE 将组播、广播和非 IP 报文封装成普通的 IP 报文,通过 IPsec 为封装后的 IP 报文提供安全地通信;[……]

READ MORE

「Openswan」- 杂记

问题描述
Openswan,Linux 的 IPsec 实现。支持与 IPsec 相关的大部分扩展。包括 IKEv2,X.509 数字证书,NAT Traversal 等等;
类似的实现还有 strongSwan,但是 StrongSwan 更新一些。最近的一些 Linux 发行版中不再有 Openswan 了;
解决方案
部署安装
可以从 Github 上下载 Openswan
下载之后先阅读 README 文件,一定要认真阅读 Openswan 要求内核版本是基于 Kernel 2.4.x 或 2.6.x 的 Linux 发行版。而我的内核比较新,是 4.x 的,所以不能用 Openswan,即使能安装,为了后期考虑,我还是决定换 strongSwan,因为 strongSwan 支持 4.x 的内核;
安装 Openswan 依赖的软件包 gmp 及头文件,awk,flex,bison,iproute2,iptables,sed,awk,bash,cut,python 等等; 如果编译过程中出现问题,根据错误提示再安装其他相关的依赖就好了;
安装按照 README 的指引即可
使用源进行安装
apt-get install openswan
dpkg-reconfigure openswan
参考文献
Openswan Homepage GitHub Repo Openswan Wiki[……]

READ MORE

「IPSec VPN」- Racoon

问题描述
racoon,是 KAME 的用户空间进程,负责处理 IKE。在 Linux 系统中,是 ipsec-tools 的组成部分。
该笔记将记录:与 Racoon 相关的内容,以及相关问题的解决办法。
背景说明
下面是阿里云的 IPSec VPN 服务日志的节选,我们通过对其中的源码文件名及函数名进行检索,并根据检索结果推断其使用 Racoon 实现:


,2022-05-01 09:19:09 *** [DEBUG]: algorithm.c:524:alg_oakley_encdef(): encryption(aes)
,2022-05-01 09:19:09 *** [DEBUG]: oakley.c:3051:oakley_do_encrypt(): pad length = 16
,2022-05-01 09:19:09 *** [DEBUG]: oakley.c:3083:oakley_do_encrypt(): 1. encrypted payload by IV:
,2022-05-01 09:19:09 *** [DEBUG]: algorithm.c:524:alg_oakley_encdef(): encryption(aes)
,2022-05-01 09:19:09 *** [DEBUG]: oakley.c:3094:oakley_do_encrypt(): with key:

所以,我们需要对该软件有个简单的了解(比如 日志、特性 等等)。
而且需要开启 DPD 检查才能显示 IPSec VPN 服务的相关日志。
参考文献
KAME project – Wikipedia[……]

READ MORE

「IPSec-VPN」- 场景及方案

员工远程接入
L2TP over IPSec
企业广域互联[……]

READ MORE

「Huawei VRP」- IPSec VPN

概述流程
配置 IPSec VPN 的步骤如下:
第一步、设备网络可达
解释:IPSec VPN 利用公网来构建私网,所以首先两端的公网必须是互通的;
需要检查报文发送方和接收方间的网络层可达性,确保双方只有建立 IPSec VPN 隧道才能进行 IPSec 通信;
第二步、识别感兴趣流(ACL)
解释:定义数据流,即选择需要进行 IPSec VPN 加密(传输)的流量;
因为部分流量无需满足完整性和机密性要求,所以需要对流量进行过滤,选择出需要进行 IPSec 处理的兴趣流;
通过配置 ACL 来定义和区分不同的数据流;
第三步、创建安全提议(Proposal)
配置 IPSec 安全提议。IPSec 提议定义用于保护数据流所用的安全协议、认证算法、加密算法、封装模式; 对等体的安全提议参数必须一致。为了能够正常传输数据流,安全隧道两端的对等体必须使用相同的安全协议、认证算法、加密算法和封装模式;
安全协议包括 AH 和 ESP,两者可以单独使用或一起使用;
AH 支持 MD5 和 SHA-1 认证算法,不支持加密; ESP 支持两种认证算法(MD5 和 SHA-1)和三种加密算法(DES、3DES 和 AES);
如果要在两个安全网关之间建立 IPSec 隧道,建议将 IPSec 封装模式设置为隧道模式,以便隐藏通信使用的实际源 IP 地址和目的 IP 地址;
第四步、创建安全策略
1)安全策略将要保护的数据流与安全提议进行绑定;
配置 IPSec 安全策略。IPSec 策略中会应用 IPSec 提议中定义的安全协议、认证算法、加密算法和封装模式。每一个 IPSec 安全策略都使用唯一的名称和序号来标识。IPSec 策略可分成两类:手工建立 SA 的策略;IKE 协商建立 SA 的策略;
第五步、应用安全策略
在接口上应用 IPSec 安全策略;
隧道模式,手工配置(Manual)

下面为配置 IPSec VPN 的流程(采用完全手工配置方法):
第 1 步、网络可达

[RTA] ip route-static 0.0.0.0 0.0.0.0 10.1.34.2

第 2 步、选择兴趣流

[RTA] acl number 3001
[RTA-acl-adv-3001] rule 5 permit ip source 192.168.1.0 0.0.0.255 destination 192.168.2.0 0.0.0.255

第 3 步、创建安全提议(Proposal)

// 包括:封装模式、传输模式(AH/ESP)、加密算法

[RTA][……]

READ MORE

「Huawei-VRP」- 配置 IPSec VPN 服务:IKE;隧道模式;

拓扑信息

1)这里仅演示 RTA 的配置,针对 RTB 设备,其与 RTA 相反;
第 1 步、网络可达

[RTA] ip route-static 10.1.2.0 24 20.1.1.2

第 2 步、选择兴趣流

[RTA] acl number 3001
[RTA-acl-adv-3001] rule 5 permit ip source 10.1.1.0 0.0.0.255 destination 10.1.2.0 0.0.255

第 3 步、配置 IKE 信息

// 配置 IKE Proposal 信息

[RTA] ike proposal 10
[RTA] display ike proposal number 10
——————————————-
IKE Proposal: 10
Authentication method : pre-shared
Authentication algorithm : SHA2-256
Encryption algorithm : AES-CBC-256
DH group : MODP-1024
SA duration : 86400
PRF : PRF-HMAC-SHA2-256
——————————————-

// 配置 IKE Peer 信息

[RTA] ike peer TO_RTB v1
[RTA-ike-peer-TO_RTB] remote-address 10.1.43.5
[RTA-ike-peer-TO_RTB] ike-proposal 10
[RTA-ike-peer-TO_RTB] pre-shared-key cipher Huawei123 # 用于 IKE 认证

在 IKE Peer 中,若使用 IKEv2 协商,仅需修改 ike peer TO_RTB v2 即可;
第 4 步、配置 IPSec 信息

// 配置 IPSec Proposal 信息

[RTA] ipsec proposal tran1
[RTA-ipsec-proposal-tran1] esp authentication-algorithm sha1
[RTA] display ipsec proposal

// 配置 IPSec Policy 信息

[RTA] ipsec poli[……]

READ MORE

「Huawei-VRP」- 配置 IPSec VPN 服务:IKE;隧道模式;客户端在 NAT 之后;

问题描述
L2TP over IPSec,经常用于员工远程接入企业网,而员工办公主机通常出于 NAT 之后(家用路由器)。
其拓扑结构所示如下:

IPSec VPN Gateway <==(Internet)== Router with NAT <==(IPSec VPN)== Client

解决方案

ike peer foo
nat travseral[……]

READ MORE

「Huawei-VRP」- IPSec, IKEv2, with BGP

问题描述
早期,我们使用 IKEv1 建立 IPSec VPN 连接,并通过 ACL 抓取特定流量,来实现两个网络(公司与云商)的内网互通;
随着网络规模的扩大,现有多个子网需要与云商互通。但是,IKEv1 并不支持多个子网,所以我们尝试切换到 IKEv2 协议;
当我们完全切换 IKEv2 协议后,虽然 IPSec 两端能够协商成功,但是无法实现其他子网互通(或许,是我们配置问题,但是原始的子网互通正常),并且在云商的控制台中,我们看到相关错误提示(其提示:鉴于 IPSec VPN 实现的原因,即使 IKEv2 也会存在部分子网无法互通的问题);
在云商的错误提示中,其建议我们使用路由模式,即 IPSec VPN 抓取感兴趣数据流的另一种方式:路由模式;
该笔记将记录:通过 IKEv2 + 路由模式 + BGP 方式,实现两个内网(公司与云商)互通的方法,以及相关常见问题的解决办法;
解决方案
补充说明
该笔记仅演示公司侧的路由配置,针对云商网络环境设备,其与 RTA 相反;
网络拓扑信息

Local LAN ====> Local Gateway ==(Internet, ISP)==> Cloud Gateway ====> Cloud Server
(192.168.7.0/24) (172.16.0.0/16)

公司网关与云商网关,两者公网直接互通: 1)建立 IPSec 连接,两者中间没有 NAT 设备,公网直连。如果两者间存在 NAT 设备,需要更多配置,该场景不在此次讨论范围内;
第一步、配置两端网络可达
该配置相较简单,具体细节不再赘述:

[RTA] ip route-static …

第二步、配置 IKE 信息

// ——————————————————– // 增加 Proposal 配置

ike proposal 99

// ——————————————————– // 增加 Peer 配置

ike peer albb-cld-infra v2
// remote-address x.x.x.x # 不需要配置远端地址
ike-proposal 99
pre-shared-key cipher Huawei123[……]

READ MORE

「L2TP」- Layer 2 Tunneling Protocol(二层隧道协议)

解决方案
在计算机网络中,L2TP(第二层隧道协议)是种隧道协议,用于支持 VPN 或作为 ISP 提供服务的组成部分。L2TP 允许创建 VPDN,通过使用共享基础设施(可以是“Internet”或“服务提供商的网络”)将远程客户端连接到其公司网络;
IETF 的开放标准 L2TP 协议结合 L2F 和 PPTP 协议的优点,特别适合组建远程接入方式的 VPN,已经成为事实上的工业标准,是 IETF 有关二层隧道协议的工业标准;
L2TP 是 VPDN 隧道协议的一种,它扩展 PPP 的应用,是种在远程办公场景中为出差员工或企业分支远程访问企业内网资源提供接入服务的 VPN;
在 1999 年,作为提议的标准 RFC 2661 发布,L2TP 主要源于用于点对点通信的两种较旧的隧道协议:思科的第二层转发协议(L2F);微软的点对点隧道协议(PPTP);
在 2005 年,该协议的新版本 L2TPv3 出现,作为提议的标准(RFC 3931)。L2TPv3 提供额外的安全功能,改进封装,以及通过 IP Network 携带 Data Link 的能力(例如帧中继、以太网、ATM 等等),而不仅仅是携带点对点协议(PPP);
原理简述

通常在 L2TP Tunnel 内承载 PPP 会话; 通过 UDP 数据报发送整个 L2TP 数据包(包括有效负载和 L2TP 报头); 通过 UDP 传输的一个优点是它避免“TCP 崩溃问题”;
特性说明
传输安全: 但请注意,L2TP 只是一种隧道协议,既不提供加密也不保证隐私,因此一般与 IPsec 配合使用。它本身不提供任何加密或保密,相反,它依赖于它在隧道内传递的加密协议来提供隐私。IPsec 通常用于通过提供机密性、身份验证、完整性,能够用来保护 L2TP 数据包。这两种协议的组合通常称为 L2TP over IPsec(后面将讨论相关内容);
身份认证:L2TP 本身也不提供强身份验证,仅支持隧道认证,而用户身份认证需要内部的 PPP 协议支持; 多种协议:上层能够承载多种协议; 地址分配:也属于 PPP 的特性 网络计费: 高可靠性:这里指 LNS 支持双机热备; 支持 RADISU Server 认证
应用场景
在远程办公场景中,为出差员工或企业分支远程访问企业内网资源提供接入服务;
企业互联
L2TP 被作为常用的企业互联技术之一,使用 L2TP 需要配合 AAA 服务器,当需要构建 L2VPN 时,L2TP 是非常好的选择;
分支站点之间也可以使用 L2TP 链接,但 L2TP 没有办法传递组播数据,无法在总公司和分公司之间传递路由;
远程用户接入
企业出差员工的地理位置经常发生移[……]

READ MORE

「L2TP」- 概念、术语

基本组件
在 L2TP Tunnel 中,两个端点称为: 1)LAC(L2TP Access Concentrator,L2TP 访问集中器); 2)LNS(L2TP Network Server,L2TP 网络服务器)

LNS 等待新的隧道。当建立隧道后,对等体间的网络流量是双向的。为了对网络有用,然后通过 L2TP Tunnel 来运行更高级别的协议。为了促进这一点,在隧道内,为每个更高级别的协议(例如 PPP)建立 L2TP 会话(或称为“call”)。LAC 或 LNS 可以发起会话。每个会话的流量由 L2TP 隔离,因此可以在单个隧道中设置多个虚拟网络。
在实施 L2TP 服务时,应考虑 MTU 的合理配置;
LAC(L2TP Access Concentrator)
LAC 是网络上具有 PPP 和 L2TP 协议处理能力的设备;
LAC 负责和 LNS 建立 L2TP 隧道连接。LAC 可以发起建立多条 L2TP 隧道使数据流之间相互隔离;
在不同的组网环境中,LAC 可以是不同的设备,可以是一台网关设备,也可以是一台终端设备:

User <—(PPPoE)–> LAC <—(L2TP)—> LNS

LNS(L2TP Network Server)
LNS 是 LAC 的对端设备,即 LAC 和 LNS 建立了 L2TP 隧道;LNS 位于企业总部私网与公网边界,通常是企业总部的网关设备;
组网架构

NAS
NAS 网络接入服务器(Network Access Server)主要由 ISP 维护,连接拨号网络,是距离 PPP 终端地理位置最近的接入点。NAS 用于传统的拨号网络中,ISP 在 NAS 上部署 LAC,可为远程拨号用户提供 L2TP 服务,和企业总部建立隧道连接;
LAC
L2TP 访问集中器 LAC 是交换网络上具有 PPP 和 L2TP 协议处理能力的设备。LAC 根据 PPP 报文中所携带的用户名或者域名信息,和 LNS 建立 L2TP 隧道连接,将 PPP 协商延展到 LNS;
在不同的组网环境中,LAC 可以是不同的设备:
NAS-Initiated 场景:在传统的拨号网络中,ISP 在 NAS 上部署 LAC,或在企业分支的以太网络中,为 PPP 终端配备网关设备,网关作为 PPPoE 服务器,同时部署为 LAC;
L2TP Client-Initiated 场景:企业分支在网关设备配置可以主动向 LNS 发起 L2TP 隧道连接请求的 L2TP Client,不需要远端系统拨号触发,L2TP Client 为 LAC;[……]

READ MORE

「L2TP」- 报文格式

AVP(Attribute-Value Pair)
UDP Port 1701
报文封装
仅在 LAC 与 LNS 间的报文才会进行 L2TP 封装;

消息类型
在 LAC 和 LNS 间(即 L2TP Tunnel 内)交换的数据包被分类为: 1)控制包(Control Data):用于 Tunnel 和 Session 的建立、维护、拆除; 2)数据包(Traffic Data):用于封装 PPP 数据帧并在隧道上传输;
控制消息

1)在控制消息的传输过程中,使用消息丢失重传和定时检测隧道连通性等机制来保证控制消息传输的可靠性,支持对控制消息的流量控制和拥塞控制; 2)控制消息承载在 L2TP 控制通道上,控制通道实现控制消息的可靠传输,将控制消息封装在 L2TP 报头内,再经过 IP 网络传输;
数据消息

1)不可靠的传输,不重传丢失的数据报文,不支持对数据消息的流量控制和拥塞控制。可靠性必须由隧道的嵌套协议来提供; 2)数据消息携带 PPP 帧承载在不可靠的数据通道上,对 PPP 帧进行 L2TP 封装,再经过 IP Network 传输;
L2TP Header

Flags and Version Info:指示数据 / 控制分组的控制标志、长度、序列、偏移字段的存在
Length(optional):消息的总长度(以字节为单位),仅在设置 length 标志时出现
Tunnel ID:「控制连接」的「标识符」
Session ID:「隧道内会话」的「标识符」;
Ns (optional):该「数据包」或「控制包」的序列号,从零开始,对于发送的每个消息递增 1(模数 216)。仅在sequence标志设置时出现;
Nr (optional):要接收的预期消息的序列号。Nr 被设置为接收的上一个有序消息的 Ns 加一(模 216)。在「数据包」中,Nr 是保留的,如果存在(如 S 位所示),必须在接收时被忽略,因为 Nr 主要用于「控制包」;
Offset Size (optional):指定「有效负载数据」在「L2TP 标头」之后的位置。如果存在偏移字段,则「L2TP 标头」在偏移填充的最后一个字节之后结束。如果设置了offset标志,则该字段存在;
Offset Pad (optional):可变长度,由偏移大小指定。该字段的内容未定义;
Payload data:可变长度(最大有效负载大小 = UDP 数据包的最大大小(65507)- L2TP 报头的大小)
L2TP Control Data
WIP
在 Host Name AVP 中,能够看到 Tunn[……]

READ MORE

「L2TP」- CLI-Initiated(客户端自主拨号)

原理概述

1)用户需要安装 L2TP 的拔号软件(部分操作系统自带L2TP客户端软件);客户需要知道LNS的IP地址; 2)直接由LAC客户(指可在本地支持L2TP协议的用户)发起。LAC客户可直接向 LNS 发起隧道连接请求,无需再经过一个单独的 LAC 设备。 3)在LNS设备上收到了LAC客户的请求之后,根据用户名、密码进行验证,并且给LAC客户分配私有IP地址。

1)移动办公用户与 LNS 建立 L2TP 隧道; 2)移动办公用户与LNS建立L2TP会话:移动办公用户在第3步会与LNS间建立PPP连接,L2TP会话用来记录和管理它们之间的PPP连接状态。因此,在建立3)PPP连接以前,隧道双方需要为PPP连接预先协商出一个L2TP会话。会话中携带了移动办公用户的LCP协商信息和用户认证信息,LNS对收到的信息认证通过后,通知移动办公用户会话建立成功。L2TP会话连接由会话ID进行标识。 4)移动办公用户与LNS建立PPP连接。移动办公用户通过与LNS建立PPP连接获取LNS分配的企业内网IP地址。 5)移动办公用户发送业务报文访问企业总部服务器。
会话建立过程

数据封装过程

特性特征
1)用户上网的方式和地点没有限制,不需ISP介入。 2)L2TP 隧道两端分别驻留在用户侧和 LNS 侧,一个L2TP隧道承载一个L2TP会话。[……]

READ MORE

「L2TP」- Call LNS(LAC 自主拨号)

应用场景
L2TP 能够企业分支与总部的内网互联,实现分支用户与总部用户的互访,而用户对此无感知。

分支路由器充当 LAC 角色,与 LNS 建立永久的 L2TP 隧道,实现分支与总部网络之间的数据通过 L2TP 隧道互通;
交互过程
涉及 L2TP Tunnel, L2TP Session, PPP Session 三条连接:
报文封装[……]

READ MORE

「L2TP」- NAS-Initiated

对接入用户的认证可由 LAC 侧的代理完成,也可两侧都对接人用户做认证。当所有L2TP用户都下线时,隧道自动拆除以节省资源,直至再有用户接入时,重新建立隧道。
原理简述
1)由远程拨号用户发起,远程系统通过 PSTN/ISDN/PPPoE 拨入(连接)到 LAC 设备, 2)再由 LAC 通过网络向 LNS 发起建立隧道连接请求; 3)接入用户地址由 LNS 分配;

会话建立过程

数据封装过程

特性特征
1)用户必须采用 PPP 的方式接入到互联网,也可以是 PPPoE 等协议; 2)运营商的接入设备(主要是BAS设备)需要开通相应的 VPN 服务。用户需要到运营商处申请该业务。 3)L2TP隧道两端分别驻留在LAC侧和LNS侧,且一个L2TP隧道可以承载多个会话。 5)对远程拨号用户的验证与计费既可由 LAC 侧的代理完成,也可在 LNS 完成。 6)用户与 LNS 建立 PPP Session,网络地址也由 LNS 分配;
应用场景
此组网适用于分支机构用户向总部发起连接,且一般用于分支机构的用户不经常访问企业总部的情况。[……]

READ MORE

「L2TP」- 场景及方案

Why PPTP, L2TP, PPPOE are in OSI Layer2? What can L2TP do for your network?
软件实现:Wikipedia/Layer 2 Tunneling Protocol/Implementations Start-Control-Connection-Request (SCCRQ)
Windows Server 2016配置VPN服务器
关于 TCP Meltdown 问题
Why TCP Over TCP Is A Bad Idea Understanding TCP over TCP: effects of TCP tunneling on end-to-end throughput and latency[……]

READ MORE

「L2TP」- 通过 xl2tpd 搭建 L2TP VPN 隧道

问题描述
xl2tpd 是 L2TP 协议(RFC 2661)的软件实现,该项目从 l2tpd 中 fork 出来,由 Xelerance 公司维护。
该笔记将记录:如何配置 xl2tpd 服务,以实现 VPN 功能,以及常见问题解决方案。
解决方案
其用途是:通过隧道在 IP Network 中发送 PPP 帧。它实现 L2TP Network 的 LAC(作为 L2TP Client 连接 L2TP Server)和 LNS(提供 L2TP VPN 服务)设备。
xl2tpd 通过打开 伪 tty 与 pppd 进行通信来工作。它完全在用户空间运行,但支持内核模式 L2TP。

# pstree -a $(pidof xl2tpd)
xl2tpd
└─pppd passive nodetach 192.168.145.1:192.168.145.2 debug file /etc/ppp/options.xl2tpd.k4nz ipparam 189.34.59.128 /dev/pts/0

# pstree -a $(pidof xl2tpd)
xl2tpd -D -c /run/nm-l2tp-xl2tpd-7f15330c-10a0-4880-927f-3a1f815b397b.conf -C /run/nm-l2tp-xl2tpd-control-7f15330c-10a0-4880-927f-3a1f815b397b -p /run/nm-l2tp-xl2tpd-7f15330c-10a0-4880-927f-3a1f815b397b.pid
└─pppd plugin pppol2tp.so pppol2tp 7 passive nodetach : file /run/nm-l2tp-ppp-options-7f15330c-10a0-4880-927f-3a1f815b397b
└─2*[{pppd}]

package -> pppX -> tty -> xl2tpd -> … -> xl2tpd -> tty -> pppX -> package

服务部署(LNS)
附加说明
这里的 L2TP 仅开启 PPP 认证,而未开启隧道认证,原因是 Network Manager L2TP 无法设置隧道认证密钥(或是我们未找到)。
该部署没有使用 IPSec 进行加密,所以该笔记不涉及 IPSec 相关内容。
环境的原因,我们不能保证配置 100% 成功。在我们第一次配置时,根本不懂 L2TP 协议的工作原理,所以并不清楚各个属性的含义。现在我们对 L2TP 的工作原理有了一定程度的了解,[……]

READ MORE

「xl2tpd」- “混合云”中的数据包路由

问题描述
在建立 xl2tpd 隧道时,会添加一条到对端主机的路由(但非到达某个网络的路由),也就是说我们能够通过 LAC 访问 LNS 主机;
在实际情况中,我们可能会将 L2TP LNS 作为路由器,而希望多个 LAC 间能够相互访问,来构建简单的混合云,即实现各网络互联;

LAN-A <–> Router-A <==== (L2TP-Tunnel) ====> L2TP-LNS
||
||
(L2TP-Tunnel)
||
||
vv
Client-01

当 Client-01 连接 L2TP LNS 后,虽然能得到网络地址,但是由于广播域的隔离,它是无法访问 Router A 下属的 LAN-A
解决方案
#1 开启 LNS 转发
首先,开启 LNS 所在主机的数据包转发(net.ipv4.ip_forward=1),即可实现其路由的功能[1],在中间转发来自各个 LAC 的数据包;
#2 设置 LNS 路由
接下来需要在各个 LNS 主机上设置路由。这一点可以通过 ppp 的脚本实现,当连接成功后,执行脚本添加路由;
在 CentOS 中,修改 /etc/ppp/ip-up.local 文件,加上如下内容:

case “$5” in
# 地址 172.18.104.1 是对端的 IP 地址,及 LNS 的 IP 地址
“172.18.104.1”)
ip route add 172.18.104.0/24 via 172.18.104.1
;;
esac

这个脚本用于添加默认路由,它会被传入六个参数[2],其中$5是对端地址。不要忘记给脚本执行权限
在 Debian 中,会有稍微的不同之处,需要在 /etc/ppp/ip-up.d/ 中创建一个可执行文件,然后追加上述脚本;
有关其他的内容可以参考[……]

READ MORE

「VPN」- L2TP over IPSec

问题描述
企业出差用户和总部通信,使用 L2TP 功能建立 VPN 连接,总部部署为 LNS 对接入的用户进行认证;
当企业对数据和网络的安全性要求较高时,要求出差用户需要向总部传输高机密信息,L2TP 无法为报文传输提供足够的保护;
解决方案
将 L2TP 和 IPSec 功能结合使用(L2TP over IPSec),保护传输的数据,有效避免数据被截取或攻击;

在出差用户的 PC 终端上运行拨号软件,将数据报文先进行 L2TP 封装,再进行 IPSec 封装,发往总部。在总部网关,部署 IPSec 策略,最终还原数据。这种方式 IPSec 功能会对所有源地址为 LAC、目的地址为 LNS 的报文进行保护;
原理简述

L2TP over IPsec,在隧道中,当传输报文时,先用 L2TP 封装报文,再用 IPsec 封装;
在 IPsec 封装过程中,增加的 IP 头即源地址为 IPsec 网关应用 IPsec 安全策略的接口 IP 地址,目的地址即 IPsec 对等体中应用 IPsec 安全策略的接口 IP 地址;
IPsec 需要保护的是从 L2TP 的起点到 L2TP 的终点数据流。在 L2TP 封装过程中,增加的 IP 头即源 IP 地址为 L2TP 起点地址,目的 IP 地址为 L2TP 终点的地址。
在分支接入总部组网中,L2TP 起点地址为 LAC 出接口的 IP 地址,L2TP 终点的地址为 LNS 入接口的 IP 地址;
在出差用户远程接入总部网络的组网中,L2TP over IPsec 的协商顺序和报文封装顺序跟分支接入总部网络的组网中的协商顺序和报文封装顺序是一样的。所不同的是出差用户远程接入总部网络的组网中,用户侧的 L2TP 和 IPsec 封装是在客户端上完成的。L2TP 起点的地址为客户端将要获取的内网地址,此地址可以是 LNS 上配置的 IP 地址池中的任意地址。L2TP 终点地址为 LNS 入接口的地址;
Q:推荐采用传输模式 L2TP over IPsec? A:由于 L2TP 封装时已经增加了一个公网 IP 头,而隧道模式跟传输模式相比又多增加了一个公网 IP 头,导致报文长度更长,更容易导致分片。
关于 L2TP 与 IPSec 关系
首先,我们需要明确 IPSec 与 L2TP 间没有必然关系: 1)没有 IPSec 依旧能够实现 L2TP 隧道; 2)没有 L2TP 依旧能够使用 IPSec 来搭建 VPN 隧道;
在 L2TP over IPSec(L2TP/IPSec)中: 1)IPSec,处于传输模式,仅负责认证及网络层数据加密(除了 IP Address 以外,之上的信息都是加密的[……]

READ MORE