Cisco IPSec VPN实战指南

978-7-115-27003-0
作者: 秦柯
译者:
编辑: 傅道坤
分类: 安全

图书目录:

详情

本书从网络行业中的实际需求出发,以VPN技术为讲解主线,以实验配置为依托,先后给出了IPsec VPN技术的基本理论和详细的配置步骤,以及相应的排错技术,以帮助读者解决在实际工作中遇到的配置问题。

图书摘要

Cisco IPSec VPN 实战指南
秦柯 著
人民邮电出版社

北京

关于作者

秦柯,CCIE#13778,网名“现任明教教主”。于2010 年7 月创立YESLAB CCIE培训中心,是网络视频教学和网真教学的开创者之一。作者多年来一直从事网络安全、虚拟化与数据中心的教学工作,从业10年期间,总共培训出300多名CCIE安全学员。作者还开发了全套CCSP、CCIE安全、黑客技术和虚拟化与数据中心的教学资料与视频教程。这些教学资料和视频教程,得到了广大网络安全从业人员的好评。如若读者对这些资料和视频感兴趣,请通过作者的博客地址 http://blog.sina.com.cn/xrmjjz 进行查阅和下载。

献词

谨将本书献给我的妻子和我的父母:谢谢他们对我事业的支持,以及长期以来在生活上对我的照顾和关怀。

致谢

在本书的创作过程中,得到了YesLab实验室各位老师的大力帮助,在此表示感谢。尤其感谢YesLab安全团队的张雷、戴鑫和马海波老师对实验室的尽心管理,使我能够投入地创作这本书。没有你们的努力,YesLab实验室和我都不会有今天的成绩。谢谢你们!

前言

知行合一是几百年前明朝思想家王阳明首先提出的一种哲学思想,我认为在我们学习网络的时候,可以这样来理解知行合一的思想,“知”也就是理论知识,是我们行动的指导,没有理论的支撑,我们的行动会变得盲目,并且会走很多弯路。但是,“行”也很重要,对网络技术的学习而言,“行”的本职就是做实验做项目。大量的实验与来自工程中的经验,是对“知”也即理论知识的实践。并且我们在实践中得到的经验,反过来会验证我们学习的理论知识,能够对我们的理论起着升华的作用。

现在学习网络的学员或者朋友,主要分为两类,一类是以实践为主,每天忙于各种项目的实施,当遇到问题的时候才开始看看书,或者看看视频。对于理论知识不求甚解、得过且过,以能搞定项目为第一目标。另一类则是以理论为主,天天研究各种高深理论,在与同行进行交流时,动辄就是LSA的几种类型、BGP的各种选路原则,而且还动不动的对他人的理论水平评头论足,但是,他们并不了解这些理论知识在实际工程中的应用情况,甚至可以说,他们都不知道自己学习的技术到底能做些什么!

上面这两种方法虽然都是极端,但是在现实世界中却切实存在。我以为这两类学习方法都不可取,我们应该把知行合一的思想运用到网络学习中去。我们不仅仅要学习理论,更应该知道如何将学到的理论灵活运用到实际实施的项目中,并且知道这些理论到底解决了哪些实际问题。读者们在学习网络安全技术时,最能体会到这一点。有些读者在做实验时,可能会熟练进行相关配置,但是却不知道这个实验的目的是什么,其中涉及的技术到底发挥了什么作用,它们又真正解决了客户的哪些问题。而真正的技术高手不但应该知道如何配置相关实验,还应该能够将实验中所用到的技术应用到实际的工程中,以解决来自现实世界(而非实验环境)中的问题,而且他们还要基于客户的要求选择最适当、最有效的技术,只有这样,他们才称得上是对技术融会贯通,才真正称得上“高手”二字。

下面,我与读者分享一下我的学习方法,以引导大家把知行合一的思想融合到网络技术的学习中去。当然,每个人都有最适合自己的学习方法,而且我的方法也不见得能够适合所有人,但是仍然希望读者能够用来参考。我在学习时的一个最大特点就是,把学到的所有知识都实际运用起来。我的技术专长是网络安全,以前也做过很多相关的工程,现在是以培训讲师的身份在三尺讲台之上讲授网络安全知识,这在很多读者看来,我已经远离了“一线”工作,但实则不然,我仍然会注重将掌握的理论知识实施到YesLab的内部网络中,也可以说,YesLab的内部网络就是我的最前线。这样,我学习过的所有安全技术都在这个内部的网络中得到了部署。通过这种部署应用,我对安全技术理论知识的理解得到了进一步提升。除了 Cisco 安全技术之外,我还在实践中掌握了包括CheckPoint和Juniper厂商在内的安全技术。而且通过横向比较这些厂商的产品,我对它们的产品性能和优缺点也了然于胸。

当然,部署和维护这个内部网络并不轻松,网络经常被我搞得崩溃,而且每次都会让我痛不欲生。但是每当将网络重新修复之后,这种痛苦就转换为一种甘甜,如此往复,技术不断得到升华。我在讲课时经常会提到,学员在几分钟之内就轻松搞定的VPN,可能在当初花费了我两天的时间。虽然我们的处理方式都是一样的,但是我比他们知道更多错误的处理方式。这些方式尽管不正确,但是他们让我对错误产生了比较敏锐的嗅觉。我可能无法马上找到一种正确的处理方式,但是我肯定能迅速地发现一种错误方式,而这就是行动对知识的升华。而且在每一次错误发生后,我都会从一个错误的方面来验证理论知识的正确性。

当然,在学习网络时,仅有实践也是不够的,我们还需要理论知识的支撑,为此,我们需要阅读大量的技术图书(尤其推荐人民邮电出版社出版的Cisco系列的图书),而不能仅依赖于只提供问题解决方法的技术资料和视频。而只有在图书中,才会完整地包含作者对相关问题的分析,以及解决问题的思路。再就是,就某种技术而言,我们也不可能指望通阅读一本书就将其掌握,以IPSec VPN 为例,我们至少要阅读3~5本书才能真正理解该技术。毕竟,不同的作者看待问题的方法和解决问题的思路是不同的,只有当从不同的角度学习、理解这个技术之后,才能对它有一个比较深刻的认识。就像诗中说的那样“横看成岭侧成峰,远近高低各不同”。

总之,无论是学习网络安全技术,还是其他技术知识,都建议读者能够切实贯彻明朝思想家王阳明先生的“知行合一”思想,将理论应用于实践,在实践中提升对理论的认识,如此循环往复,以扎实掌握技术。

本书主要内容

本书总共分为 10章内容,外加 1 个附录。本书从加密学理论开始,分别介绍了VPN 技术、GRE 技术与配置、IPSec 基本理论、站点到站点IPSec VPN、影响IPSec VPN的网络问题、IPSec VPN 的高可用性技术、动态多点 VPN(DMVPN)、组加密传输VPN(GETVPN)、Easy VPN、ASA 策略图等知识。本书具有很强的实操性,书中所有的实验环境都能够使用虚拟机来搭建。并且每一个实验给出了详细的测试过程与结果,以帮助读者彻底掌握与实验相关的理论知识和技术,真正做到“知行合一”。

第1章,“VPN技术简介”,主要讲解VPN技术特点与分类。

第2章,“GRE”,主要介绍传统GRE VPN 技术。

第3章,“IPSec基本理论”,讲解了IPSec的协议特点与工作原理。

第4章,“站点到站点IPSec VPN”,介绍了站点到站点IPSec VPN 的架设与配置细节。

第5章,“影响IPSec VPN 的网络问题”,讨论了各种网络技术对IPSec VPN 的影响及其解决方案。

第6章,“IPSec VPN 中的高可用性技术”,讲解了IPSec VPN 相关的冗余技术。

第7章,“动态多点VPN(DMVPN)”,介绍了Cisco最具特色的DMVPN技术。

第8章,“组加密传输VPN(GETVPN)”,讲解了全新的广域网加密技术GETVPN。

第9章,“Easy VPN”,讲解了Cisco 私有的远程VPN 技术EzVPN。

第10章,“ASA策略图”,介绍了ASA的策略继承关系。

附录A,“Cisco模拟器配置指南”,介绍了本书配套模拟器的配置与使用。

本书读者对象

本书适合 Cisco 安全的初学者、希望解决实际问题的工程实施人员,以及备考CCNP安全认证的人员阅读。

第1章 VPN技术简介

1.1 VPN产生背景

随着时代的发展以及企业规模的发展壮大,企业网络也在不断发生变化。例如,一家总部设在北京的企业,可能会在上海、广州和深圳等地都设有分支机构,因此需要把各个分支机构连接在一起,以便共享资源、协同工作,提高工作效率。但传统的专线联网方式价格昂贵,一般中小企业难以负担。这时低成本的 VPN 技术就孕育而生了。VPN(Virtual Private Network)即虚拟专用网络,它可以利用廉价接入的公共网络(主要使用Internet)来传输私有数据,相较于传统的专线连网方式具有成本优势,因此被很多企业和电信运营商采用。

1.2 VPN的两种连接方式

根据客户网络接入方式的不同,VPN技术主要分为站点到站点(Site to Site)连接方式和远程访问(Remote Access)连接方式。

1.2.1 站点到站点(Site to Site)

站点到站点连接技术是一种主要的VPN连接方式,主要用于公司重要站点之间的连接。如图1-1所示,两个站点采用VPN技术虚拟地连接在一起,使得它们在通信时,就像通过普通网线一样,可以访问到对方。站点到站点的VPN技术对于终端用户而言是透明的,即用户感觉不到VPN技术的存在,而是觉得相互访问的站点位于同一个内网。

图1-1 站点到站点VPN连接示意图

站点到站点VPN连接技术主要包括下面几种。

1.GRE

GRE(Generic Routing Encapsulation,通用路由封装)协议能够对各种网络层协议(如IP和IPX)的数据报文进行封装,被封装的数据报文能够在IP网络中传输。GRE采用了Tunnel(隧道)技术,是VPN的三层隧道协议。由于GRE技术与本书重点讲解的IPSec技术关系紧密,所以在本书的后续部分会对GRE进行介绍。

2.IPSec VPN

IPsec VPN 是业界标准的网络安全协议,可以为 IP 网络通信提供透明的安全服务,保护 TCP/IP 通信免遭窃听和篡改,从而有效地抵御网络攻击。IPSec VPN 在网络的灵活性、安全性、经济性、扩展性等方面极具优势,因此越来越受到企业用户的青睐。本书将会在后文中详细介绍IPSec VPN 技术。

3.MPLS VPN

MPLS VPN 是指采用MPLS 技术在宽带IP 的骨干网络上构建企业IP 专网,以实现跨地域、安全、高速、可靠的数据、语音、图像等多业务通信。MPLS VPN 结合区分服务、流量工程等相关技术,将公共网络可靠的性能,良好的扩展性,丰富的功能与专用网的安全、灵活、高效地结合在了一起,可以为用户提供高质量的服务。MPLS VPN 已经超出了本书的范围,感兴趣的读者可以参阅人民邮电出版社出版的《MPLS和VPN体系结构》(第1卷、第2卷)等图书。

1.2.2 远程访问(Remote Access)

站点到站点VPN连接技术只能满足公司站点之间的连接,也就是说客户必须要在公司内部才能使用这种技术来连接其他站点。如果客户出差在外,希望在一个提供Internet连接的咖啡馆、飞机场或者酒店连接到公司内部,站点到站点VPN连接技术就不再适用了。在这种场合下,需要用到远程访问VPN连接技术。远程访问VPN一般需要预先在客户计算机上安装VPN客户端(客户端依据具体采用的实现技术,而有所不同),并且通过这个客户端拨号到公司VPN网关。如果拨号成功,客户就像通过一根网线虚拟地连接到公司VPN网关,然后获取公司内部网络的一个地址,并且使用这个地址来访问公司的内部服务器,如图1-2所示。

图1-2 远程访问VPN示意图

远程访问VPN连接技术有如下几种。

1.IPSec VPN

IPSec VPN 是一种全面的技术,它不仅适用于站点到站点VPN 连接方式,也能够部署远程访问VPN。我们将在本书的第8章和第9章详细介绍在Cisco路由器和ASA上的IPSec远程访问VPN。

2.VPDN

VPDN(Virtual Private Dial-up Networks,虚拟私有拨号网络)是VPN 业务的一种,具体包含的技术包括PPTP、L2TP和PPPoE等,是基于拨号用户的虚拟专用拨号网业务。即用户以拨号接入方式连网,并通过CDMA 1x 分组网络传输数据时,VPDN会对传输的数据进行封装和加密,从而保障了传输数据的私密性,并使VPN达到私有网络的安全级别。VPDN是利用IP网络的承载功能结合相应的认证和授权机制建立起来的一种安全的虚拟专用网,是一种比较传统的VPN技术。VPDN技术已经超出了本书的内容,本书并不对此技术进行详细介绍。

3.SSL VPN

SSL VPN 指的是基于安全套接层(Security Socket Layer,SSL)协议建立远程安全访问通道的VPN技术。它是近年来兴起的VPN技术,其应用随着Web的普及和电子商务、远程办公的兴起而迅速发展。SSLVPN 技术已经超出了本书的内容,本书并不对此技术进行详细介绍。

第2章 GRE

2.1 GRE技术简介

GRE是一项由Cisco公司开发的轻量级隧道协议,它能够将各种网络协议(IP协议与非IP协议)封装到IP隧道内,并通过IP互连网络在Cisco路由器间创建一个虚拟的点对点隧道链接。将GRE称为轻量级隧道协议的主要原因是,GRE头部较小,因此用它封装数据效率高。但GRE没有任何安全防护机制,因此后面章节中讲到的GRE Over IPSec 和DMVPN技术,都是使用IPSec来对GRE进行保护的。

GRE是一种典型的三层隧道封装技术,其封装结构如图2-1所示。

图2-1 GRE的封装结构

GRE封装后的数据主要由4个部分组成。其中内层IP头部和内层实际传递数据为封装负载(封装之前的数据包)。在内层IP头部之前添加一个GRE头部,再在GRE头部之前,添加一个全新的外层IP头部,从而实现GRE技术对原始IP数据包的封装。

GRE 技术的主要问题就是对封装负载不提供任何安全防护,在图 2-2 所示的 GRE 抓包实例中,可以清楚地看到 GRE数据包的外层IP头部、4个字节的GRE头部,以及内层IP头部和用户数据。其中,内层 IP 头部的源为 66.1.1.2,目的是66.1.1.1,用户数据为ICMP数据包,这也再次证明GRE技术不对它包裹的数据进行任何安全防护,我们可以通过抓包技术轻松地获取GRE传输的数据。

图2-2 GRE抓包实例分析

2.2 GRE基本实验

2.2.1 实验实际接线状况介绍

在图2-3所示的网络连接示意图中,有3台路由器,由左至右分别模拟公司站点一(Site1)、Internet 路由器(Internet)和公司站点二(Site2)。路由器 Site1 和 Site2分别使用Loopback0模拟公司内部网络。路由器Site1和Internet使用接口Fa0/0实现对接,路由器Internet和Site2使用接口Fa1/0实现对接。

图2-3 GRE基本实验实际接线图

2.2.2 实验拓扑

图2-4所示为该实验的网络拓扑。

图2-4 GRE基本实验拓扑

2.2.3 实验介绍

在图2-4中,路由器Site1和Site2分别模拟公司的两个站点,1.1.1.0/24和2.2.2.0/24分别模拟两个站点内部网络。路由器 Internet 模拟服务提供商路由器。本实验的目标就是通过GRE技术在Site1和Site2两个站点间建立一个点对点GRE隧道,并在GRE的隧道口上运行动态路由协议(OSPF),以学习彼此的内部网络路由。两个站点之间的流量通过GRE隧道封装穿越Internet。

图2-4下半部分所示为数据包在网络不同阶段的封装结构。在Site1内部网络,数据包还未被GRE封装,源IP为1.1.1.1(站点1内部PC),目的为2.2.2.2(站点2内部 PC),紧接着是内层数据。考虑到安全性等因素,这样的数据包显然不能直接在Internet上传输。在Site1和Site2之间的传输链路上,对数据包进行GRE封装,即在原始数据包外面增加一个GRE头部和一个外层IP头部,外层IP头部的源和目的分别是Site1和Site2两台路由器的公网IP地址:202.100.1.1和202.100.2.2。GRE封装后的数据包抵达Site2后被解封装,并在Site2网络内部再次表现为源IP为1.1.1.1、目的为2.2.2.2 的 IP 数据包。

2.2.4 基本网络配置

在配置GRE隧道之前,我们需要首先初始化路由器的IP地址和基本路由。例2-1、例2-2和例2-3分别显示了如何在Site1、Internet和Site2上执行基本的网络配置。

例2-1 Site1上的基本网络配置

enable

configure terminal

!

hostname Site1

!

interface Loopback0

ip address 1.1.1.1 255.255.255.0

!

interface FastEthernet0/0

ip address 202.100.1.1 255.255.255.0

no shutdown

!

ip route 0.0.0.0 0.0.0.0 202.100.1.10

注意:客户站点拥有访问Internet的默认路由

!

end

例2-2 Internet上的基本网络配置

enable

configure terminal

!

hostname Internet

!

interface FastEthernet0/0

ip address 202.100.1.10 255.255.255.0

no shutdown

!

interface FastEthernet1/0

ip address 202.100.2.10 255.255.255.0

no shutdown

!

end

注意:Intenet路由器只有直连路由,没有站点内部网络路由,这也反映了工程中的实际情况:运营商路由器只拥有Internet路由(202.100.1.0/24和202.100.2.0/24),不可能知道客户站点内部网络的路由(1.1.1.0/24和2.2.2.0/24)

例2-3 Site2上的基本网络配置

enable

configure terminal

!

hostname Site2

!

interface Loopback0

ip address 2.2.2.2 255.255.255.0

!

interface FastEthernet1/0

ip address 202.100.2.2 255.255.255.0

no shutdown

!

ip route 0.0.0.0 0.0.0.0 202.100.2.10

注意:客户站点拥有访问Internet的默认路由

!

end

2.2.5 GRE 和动态路由协议OSPF 配置

在3台路由器上完成基本网络配置之后,我们开始来配置点对点GRE隧道,这个隧道会将 Site1 和 Site2 虚拟地连接在一起。这里假定 GRE 隧道的内部网段为123.1.1.0/24,Site1地址为123.1.1.1,Site2地址为123.1.1.2/24。在这个GRE隧道上配置动态路由协议 OSPF,并且将两个站点的内部网络宣告到这个动态路由协议中。例2-4和例2-5所示分别为Site1和Site2上GRE和动态路由协议OSPF的配置。

例2-4 Site1上的GRE和OSPF 配置

Site1(config)#interface Tunnel0

Site1(config-if)# ip address 123.1.1.1 255.255.255.0

Site1(config-if)# tunnel source 202.100.1.1

Site1(config-if)# tunnel destination 202.100.2.2

Site1(config-if)#exit

Site1(config)#router ospf 1

Site1(config-router)# log-adjacency-changes

Site1(config-router)# network 1.1.1.0 0.0.0.255 area 0

Site1(config-router)# network 123.1.1.0 0.0.0.255 area 0

例2-5 Site2上的GRE和OSPF 配置

Site2(config)#interface Tunnel0

Site2(config-if)# ip address 123.1.1.2 255.255.255.0

Site2(config-if)# tunnel source 202.100.2.2

Site2(config-if)# tunnel destination 202.100.1.1

Site2(config-if)#exit

Site2(config-if)#router ospf 1

Site2(config-router)# log-adjacency-changes

Site2(config-router)# network 2.2.2.0 0.0.0.255 area 0

Site2(config-router)# network 123.1.1.0 0.0.0.255 area 0

2.2.6 查看状态与测试

现在查看Site1是否通过OSPF协议学习到Site2内部网络2.2.2.0/24的路由,该路由的下一跳应该为Site2隧道口地址123.1.1.2。例2-6 所示为在Site1 上执行show ip route ospf 命令后得到的查询结果。

例2-6 查看Site1通过OSPF 学习到的路由

Site1#show ip route ospf

2.0.0.0/32 is subnetted, 1 subnets

O  2.2.2.2 [110/11112] via 123.1.1.2, 00:05:34, Tunnel0

可以看到,Site1已经通过OSPF协议学习到了Site2身后内部网络的路由。现在在Site1上执行ping命令,测试Site1与Site2之间的网络连通性,如例2-7所示。其中,Site1的IP地址为1.1.1.1,Site2的IP地址为2.2.2.2。

例2-7 使用ping命令来测试Site1与Site2之间的连通性

Site1#ping 2.2.2.2 source 1.1.1.1

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 2.2.2.2, timeout is 2 seconds:

Packet sent with a source address of 1.1.1.1

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 84/185/268 ms

在Site2上使用与例2-6相同的方法,确认Site2通过OSPF学习到了Site1身后内部网络的路由,如例2-8所示。

例2-8 查看 Site2通过OSPF 学习到的路由

Site2#show ip route ospf

1.0.0.0/32 is subnetted, 1 subnets

O  1.1.1.1 [110/11112] via 123.1.1.1, 00:04:17, Tunnel0

在Site2上执行ping命令,以测试Site2与Site1之间的网络连通性,如例2-9所示。其中Site1的IP地址为1.1.1.1,Site2的IP地址为2.2.2.2。

例2-9 使用ping命令来测试Site2与Site1之间的连通性

Site2#ping 1.1.1.1 source 2.2.2.2

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 1.1.1.1, timeout is 2 seconds:

Packet sent with a source address of 2.2.2.2

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 100/156/264 ms

相关图书

Kali Linux渗透测试全流程详解
Kali Linux渗透测试全流程详解
Cisco Firepower威胁防御(FTD)设备的高级排错与配置
Cisco Firepower威胁防御(FTD)设备的高级排错与配置
Cisco ASA设备使用指南(第3版)
Cisco ASA设备使用指南(第3版)
Cisco防火墙
Cisco防火墙
网络安全体系结构
网络安全体系结构
MPLS和VPN体系结构(第2版•修订版)
MPLS和VPN体系结构(第2版•修订版)

相关文章

相关课程