隧道源地址和隧道目的地址是传输网络地址空间的一部分。它们需要在两个端点上进行匹配,以便一个路由器上的源地址是远程设备上的目标地址。路由器在它的路由表中也必须有一条到隧道目的地址的路径。到隧道目的地的下一跳必须指向一个真正的接口,而不是隧道接口。
在这种情况下,路由器有一个隧道接口,它在公共网络上的隧道目的地是192.168.2.1。然而,用于隧道IP地址的40.0.0.0/24网络是站点1和站点2使用的私有地址空间的一部分。
IPSec.
IPsec为IP网络提供了一套全面的安全服务。IPsec最初的设想是在IP网络上提供安全传输。安全部门包括strong身份验证(验证标题(啊))和加密(头[eh])协议和密码和密钥交换机制。IPsec提供了一种方法,可以通过协商功能和键和安全算法来互操作。
IPsec对等点维护一个安全关联数据库。一个安全协会(SA)是对等方之间的契约,它定义了以下内容:
使用的特定加密和认证算法,如三重DES (三重数据加密标准)
IPsec协议服务(封装安全有效载荷(ESP)或啊)
与同行沟通所需的关键材料
SA是在启动IPsec会话时协商的。a中的每个IPsec头包含对这个包的SA的唯一引用安全参数指标(SPI)字段,它是对处理数据包所需的SA的32位数字引用。同行维护入站和出站处理的SA列表。SPI的值是在对等体之间共享的。它是在IPSec会话协商期间交换的事情之一。
在协议层,IPsec头有两种:
啊-在双方之间提供不可否认的身份验证。身份验证服务还提供消息完整性和某些(身份)欺骗实例。
ESP.-提供双方之间的加密通信。加密服务允许消息机密性、完整性、不可否认性和防止欺骗和重放攻击。
身份验证和加密服务可以单独使用,也可以一起使用。如果组合使用,AH头在ESP头之前。
有两种方法可以封装IPSec数据包。第一个称为隧道模式,请在IPsec有效载荷中加密包含标题的整个IP数据包。为加密数据包生成新的IP标题,如图所示图4 - 7。
IPsec隧道模式堆栈
隧道模式使用新的IP标头添加20八位字节过载。为了减少数据包大小和碎片的问题,定义了第二种模式,称为传输模式。传输模式只需保护TCP / UDP层并显示在图4 - 8。隧道模式在穿越方面优于运输模式网络地址转换(NAT)设备。
传输模式栈
IPsec需要进行大量的协商才能启动会话。以至于有一个单独的控制信道协议,称为互联网密码匙交换(用于在对等点之间协商SA和交换密钥材料。注意,IKE不是强制性的;您可以静态地配置SAs。
IKE不仅在隧道设置过程中使用。在机密数据交换期间,可能需要定期更改用于保护单向流量的会话密钥,而IKE用于协商新的密钥。
IKE流量本身是加密的,实际上,它有自己的SA。大部分参数固定如下:
56位DES用于加密
消息摘要5MD5算法或安全哈希算法(SHA)哈希
里维斯特,Shamir, Adleman(RSA)(公钥)签名或预先键
IKE运行在UDP/500上。IPsec使用的IP协议值为50和51。
Cisco IOS IPSec配置
对于IPSec来说,可以在这里看到很多,但配置有三个基本零件,这对应于为IKE设置SA,然后为会话本身设置,并定义加密的流量。配置的步骤如下:
第一个基本部分是IKE策略。IKE将与遥控器协商自己的SA,因此它也需要一个政策。的Crypto Isakamp政策命令定义身份验证的类型、远程对等点的IP地址和用于保护IKE交换的共享秘密,如示例4-8所示。
例4 - 8艾克策略设置
Crypto ISAKMP策略1身份验证预份额加密ISAKMP关键秘密地址10.0.3.11
在第二个基本部分是加密映射,加密映射的作用是定义远程对等点、加密和身份验证算法(称为transforms)(该路由器将接受这些算法来设置SA),以及对需要加密的通信进行加密。在思科IOS中,有趣的流量是使用标准访问列表定义的。如果信息包与访问列表项匹配,则将对该信息包应用在crypto映射中定义的任何IPsec策略。示例4-9有一个密码映射,该映射将任何通信配置为与访问列表101匹配的地址为10.0.3.11的通信,使用称为ONE的IPsec服务进行加密。
例4 - 9日IPsec加密地图
密码映射VPN 1 IPsec-isakmp设置对等点10.0.3.11设置安全关联生命周期秒180设置转换设置一个匹配地址101
这个SA的身份验证和加密算法是在一个转换集中定义的(因此它们可以在多个SA定义之间共享)。变换集如例4-10所示。它指定AH和ESP服务,MD5用于身份验证,DES用于加密。
例4-10IPsec变换集
密码ipsec转换-设置一个ah-md5-hmac esp-des
第三步是在外向接口上应用crypto映射,如示例4-11所示。这就完成了谜题。现在,当数据包进入或离开这个路由器上的Serial0接口时,将它们与访问列表101(参阅示例4-9中的crypto映射)进行比较,如果有匹配,则根据示例4-10中定义的服务进行加密。
例4-11接口与密码映射
接口Serial0 ip地址10.0.2.11 255.255.255.0无ip mroute-cache无fair-queue密码映射VPN
L2TPv3
注意:附录A包含此部分的扩展版本,其中更详细地讨论了L2TPv3协议。
L2TPv3协议由用于启动、维护和销毁会话的组件以及将不同的第2层流多路传输到隧道中的功能组成。
L2TP协议具有控件和数据平面。控制信道可靠。有15种不同的控制消息类型。主要的是用于控制通道本身的设置和拆除(有关详细信息,请参阅附录A)。L2TPv3对等体可以在设置阶段交换会话的功能信息。其中最重要的是会话ID和cookie。
会话ID类似于控制信道标识符,并且是接收器与特定会话的协商上下文相关联的“快捷方式”值(例如,有效载荷类型,cookie大小等)。
cookie是一个可选的、可变长度的字段,最多64位。cookie是一个加密的随机数,它扩展了会话标识符空间,以确保数据包因为损坏会话ID而被误导的可能性很小64是一个很大的数目,而且只要它是随机的,cookie就使L2TPv3不受暴力欺骗攻击的影响,在这种攻击中,攻击者试图向活动会话注入数据包。
通过控制会话建立会话之后,L2TP端点就可以发送和接收数据流了。虽然数据报头有一个序列号字段,但数据通道是不可靠的。协议可以检测丢失的、重复的或无序的数据包,但不重新传输。这就留给了更高层的协议。
RFC允许使用本机控制协议或静态或使用另一个控制机制来设置数据信道。
在第5章之后的设计部分“基础设施分割架构:理论”中,坦率地说,您将看到有时GRE可以像L2TPv3那样解决问题。那么这两种协议之间有什么区别呢?以下是他们的名单:
泛滥-GRE几乎到处都有。它是一个古老的(无论如何在Internet术语中)、完善的协议,而且实现现在应该是健壮的。最近出现的L2TPv3就不那么普遍了。
性能- 高速链接,尤其是在企业网络上,包邮税(标题长度等)的问题远未少于几十年前的问题,当时尝试从1200 BPS链接撰写每次最后一盎司的波特率网络管理者的一个重要问题是世界的一个重要问题。在千兆位,或10千兆位速度下,良好设计的协议使用的字节数并不是一个问题,只要实现硬件运行即可。关于最后一点,它可能更容易找到GRE的硬件实现而不是L2TPv3。
有效载荷的协议-RFC 3931明确指出,L2TPv3被设计来携带第二层协议。GRE是一个多用途的解决方案,它可以携带任何其他协议。然而,关键在于细节,GRE“实现”可能仅限于特定的协议(比如以太网或IP)。此外,L2TPv3已被扩展以承载IP流量。
饼干-这是两种协议之间最根本的区别。GRE没有等同于Cookie的字段。如果这对您不重要(请回忆一下,主要优点是提供了防止欺骗的保证),那么实现问题比协议本身之间的任何差异更能决定您的选择。
L2TPv3 IOS配置
为L2TPv3 IOS配置配置有三件事:
控制信道参数
数据通道参数
连接电路参数
要配置第一个参数,请使用l2tp-class.用于控制通道设置的命令。在这里,您可以更改序列号设置等,但所需的最小值是对等方都知道的共享密码。示例4-12演示了该命令的使用。
例4-12l2tp-class.命令
L2TP-Class L2Wan密码7 00071A150754
就像在经典的L2TP设置,如果你不给主机名参数,使用设备名称。
配置的第二部分是数据通道。Cisco iOS使用伪命令,这是一个通用模板,也用于MPLS(称为AToM)上的第2层设置。的pseudowire-class属性指定封装并引用控制通道设置协议l2tpv3的名字命令(如果省略此选项,则使用默认的控制通道设置)。的pseudowire-class还包含用作L2TPv3数据包的源地址的接口的名称。
例4-13L2TPpseudowire-class命令
Pseudowire类R103R104封装L2TPv3协议L2TPv3 L2Wan IP本地接口Serial1 / 0
L2TPv3拓扑
配置的最后一部分(见示例14-14)使用的将面向客户端的连接电路绑定到主干端口xconnect命令(在本节前面关于VPLS的讨论中已经介绍过)。的xconnect命令定义远程对等体IP地址和唯一虚拟电路在每个对等点上使用的标识符,用于将L2TPv3有效负载映射到正确的附件电路。L2TPv3端点为每个VC ID协商唯一的会话和cookie ID值,如图4 - 9日。您必须为每个VLAN、端口或其他端口配置不同的VC ID链路层连接标识符(DLCI)通过L2TPv3隧道传输(目前,思科L2TPv3支持以太网,802.1q [VLAN],帧中继,高级数据链路控制[为],PPP)。
例4-14xconnect命令
接口Ethernet0/0描述客户端面对端口没有ip地址没有cdp启用xconnect 192.168.2.1 103封装l2tpv3 pwclass R103R104
有趣的是,尽管协议的第二和第三个版本有相对较小的差异,但是命令行界面(CLI)配置与标准显著不同L2TP访问集中器/ L2TP网络服务器(LAC / LNS)配置您可能已用于拨号或数字用户线(DSL)网络。然而,它与其他伪ire解决方案有明显的、深思熟虑的相似之处,例如通过MPLS以太网(EoMPLS)。
标签交换路径
标签交换路径(LSP)是所有前面的数据路径解决方案的有趣混合动力:具有第3层控制平面的第2层数据路径。当然,LSP是在MPLS网络中找到的,这是一个已经生成了书籍和其他文档的整个图书馆货架的主题。在本章中,我们对数据包如何遍历MPLS网络进行了简短的审查。我们不涵盖标签分发或任何主要的MPLS应用程序,例如VPN或交通工程(MPLS VPN),然而在第5章中深入讨论了MPLS VPN)。
我们要讲的内容可以总结如下:
一个LSP是一个穿过MPLS网络的隧道,由单个的跳到跳段组成。
MPLS网络使用IP控制平面。
lsp是为IP路由表中的所有已知IP前缀设置的。
LSP在物理链接中复用。
MPLS中的每个节点都基于固定长度标签转发,而不是可变长度的前缀。
标签在层2和第3层之间的垫片标题中携带。
节点使用标签分发协议将标签分配给相邻节点。
基本的标签切换很容易配置
标签切换必须在所有跳点上配置。