CIsco路由器实现IPSec 虚拟专用网原理及配置详解

13 篇文章 5 订阅
订阅专栏

博文大纲:
一、虚拟专用网概述;
1.虚拟专用网的定义;
2.虚拟专用网的模型与类型;
(1)虚拟专用网的连接模式;
(2)虚拟专用网的类型;
二、虚拟专用网技术;
1.加密技术;
(1)对称加密算法;
(2)非对称加密算法;
(3)密钥交换;
2.数据报文验证;
(1)HMAC功能实现验证功能;
(2)MD5和SHA;
三、IPSec 虚拟专用网;
1.IPsec连接;
2.ISAKMP/IKE阶段1;
3.ISAKMP/IKE阶段2;
四、配置实现IPSec 虚拟专用网;
五、常用排错的命令;

关于虚拟专用网理论知识较多,看一次、两次的,可能不能完全掌握,建议没事多看看!

一、虚拟专用网概述

虚拟专用网技术期初是为了解决明文数据在网络上传输所带来的安全隐患而产生的。TCP/IP协议族中的很多协议都是采用明文方式传输的。比如:Telnet、FTP、TFTP等。一些非法用户可能为了获取利益,通过一系列非法手段可以截获明文数据,使企业和个人蒙受损失。

虚拟专用网技术可以从某种程度上解决这种问题。它可以对公网上传输的数据进行加密,及时非法用户通过某种手段获取到数据,也无法了解数据信息的真正含义;也可以实现数据传输双方的身份验证,避免非法用户伪装成网络中的合法用户***网络资源。

1.虚拟专用网的定义

虚拟专用网就是在两个网络实体之间建立的一种受保护的连接,这两个实体可以通过点到点的链路直接相连,通常情况下,他们会相隔较远的距离。

对于“受保护”一词,可以从以下方面理解:

  • 通过使用加密技术防止数据被窃听;
  • 通过数据完整性验证数据被破坏、篡改;
  • 通过认证机制实现通信方身份确认,来防止通信数据被截获和回放;

此外,虚拟专用网还定义了一下功能:

  • 何种流量需要被保护;
  • 数据被保护的机制;
  • 数据的封装过程;

实际工作环境中的虚拟专用网不一定包含上述的所有功能,这要结合实际情况,而且很多企业可能采用不止一种的虚拟专用网解决方案。

2.虚拟专用网的模型与类型

(1)虚拟专用网的连接模式

虚拟专用网有两种基本的连接模式:传输模式和隧道模式;

1)传输模式

如图:

传输模式一个最显著的特点就是,在整个虚拟专用网的传输过程中,IP包头并没有被封装进去,这就意味着从源端到目的端数据始终使用原有的IP地址进行通信。而传输的实际数据载荷被封装在虚拟专用网报文中,对于大多数虚拟专用网传输来说,虚拟专网网的报文封装过程就是数据的加密过程,因此,非法用户即时截获数据后也无法破解数据内容,却可清晰的知道通信双反的地址信息。

由于传输模式封装结构相对简单(每个数据报文比隧道模式结构节省20字节),因此传输效率较高,多用于通信双方在用一个局域网内的情况。

2)隧道模式

如图:

隧道模式与传输模式的区别显而易见,虚拟专用网设备将整个三层数据报文封装在虚拟专用网数据内,再为封装后的数据报文添加新的IP包头。由于在新IP包头中封装的是虚拟专用网设备的IP地址信息,所以当非法用户截获数据后,不但无法了解实际载荷数据的内容,同时也无法知道实际通信双方的地址信息。

由于隧道模式的虚拟专用网在安全性和灵活性方面有很大地优势,在企业环境中应用十分广泛,总公司与分公司跨广域网的通信,移动用户在公网访问公司内部资源等很多情况,都会应用隧道模式的虚拟专用网对数据传输进行加密。

(2)虚拟专用网的类型

通信情况下,虚拟专用网的类型分为站点到站点虚拟专用网和远程访问虚拟专用网。

1)站点到站点虚拟专用网

站点到站点虚拟专用网就是通过隧道模式在虚拟专用网网关之间保护两个或更多的站点之间的流量,站点间的流量通常是指局域网之间(L2L)的通信流量。L2L虚拟专用网多用于总公司域分公司、分公司之间在公网上传输重要业务数据。

如图:

对于两个局域网的终端用户来说,在虚拟专用网网关中间的网络是同名的,就好像通过一台路由器连接两个局域网。总公司的终端设备通过虚拟专用网访问分公司的网络资源,数据包封装的IP地址都是公司内网地址(一般是私有地址),而虚拟专用网网关对数据包进行的再次封装过程,客户端是全然不知的。

2)远程访问虚拟专用网

远程访问虚拟专用网通常用于单用户设备与虚拟专用网网关之间的通信连接,单用户设备一般为一台PC或小型办公网络等。虚拟专用网连接的一端为PC,可能会让很多人误解远程访问虚拟专用网使用传输模式,但因为该种虚拟专用网往往也是从公网传输关键数据,而且单一用户更容易成为非法用户的目标,所以远程访问虚拟专用网对于安全性的要求较高,更适用于隧道模式。

要想实现隧道模式的通信,就需要给远程客户端分配两个IP地址,一个是它自己的NIC地址,另一个是内网地址,也就是说远程客户端在虚拟专用网建立过程中同时充当虚拟专用网网关(使用NIC地址)和终端用户(使用内网地址)。

如图:

当远端的移动用户与总公司的网络实现远程访问***连接后,就好像称为总公司局域网中一个普通用户,不仅使用总公司网段内的地址访问公司资源,而且因为其使用隧道模式,真是的IP地址将被隐藏起来,实际公司通信的一段链路对于远端移动用户而言就像是透明的。

二、虚拟专用网技术

1.加密技术

加密就是一种将数据转换成另一种形式的过程,如果不了解用于加密的算法,解密几乎是可能的。

实际虚拟专用网设备所使用的算法是相当复杂的,一般会涉及一些较为复杂的数学算法,利用这些短发可以实现数据加密、数据完整性验证、身份验证等虚拟专用网的基本功能。一般来说,可以将这些加密算法分为两大类:对称加密和非对称加密。

(1)对称加密算法

对称加密算法使用统一密钥对信息提供安全的保护,对称加密算法数据加密、解密过程如图:

目前最常用的加密算法有DES、3DES、AES等。

1)DES算法

DES算法曾经在虚拟专用网领域应用很广,属于IBM公司的研发产品,其密钥长度为64位,其中8位用于奇偶校验,所以实际有效长度为56位。虽然该算法目前没有找到更好的方法破解,但是通过一些技术手段已经可以在较短的时间内破解DES算法,所以在实际工程实施过程中已经不建议使用该种算法。

2)3DES算法

理论上将3DES算法就是DES算法的增强版本,因为3DES使用了三个阶段的DES,即同时使用三个不同的56位密钥,所以相当于产生了一个168位的有效密钥长度,这种级别的密钥目前还没有计算机有能力在较短时间内破解,而且其执行效率虽然在软件环境中比较慢,但是在硬件环境中并不明显。

3)AES算法

3DES算法虽然目前为止是安全的,但随着计算机硬件的更新,总有一天也会变的不安全。AES算法比3DES算法更安全,它支持128、192和256为密钥程度,有效的密钥长度可达千位。更重要的是,AES算法那采用更为高效的编写方法,对CPU的占有lv较少,所以诸如IPSec 虚拟专用网等实际工程的实施过程中趋向于使用AES来提供更好的加密功能。

(2)非对称加密算法

1)算法原理

非对称算法使用公钥和私钥两个不同的密钥进行加密和解密。用一个密钥加密的数据仅能被另一个密钥解密,且不能从一个密钥推算出另一个密钥。非对称加密算法数据加密、解密过程如图:

2)算法的优、缺点

非对称加密算法最大的优势就在于其安全性。目前为止,还没有任何一种方式可以在合理的时间范围内破解该算法。

非对称加密的算法也不是完美的,由于其计算过程复杂,它的计算效率要比对称加密算法低很多。

3)DH算法

常用的非对称算法有RSA、DSA、DH。前两种算法常用于验证功能,而DH算法一般被用来实现IPSec中的internet密钥交换(IKE)协议。

DH算法的原理与传统意义上的非对称加密算法有一点区别:通信双方交换公钥后,会用自己的密钥和对方的密钥通过DH算法计算出一个共享密钥,然后双方会使用这个共享密钥加密传输数据。从算法原理上看,可以说DH算法已经将对称加密算法与非对称加密算法结合到了一起。

DH算法支持可变的密钥长度,由于公钥和私钥的长度不同,因此通过DH算法计算出的共享密钥的有效长度也就不同。这些都是通过DH算法的密钥组定义的。密钥的有效长度越长,安全性也就越强,同时CPU的资源占用率也就越高。因此,选择合适的DH组要从网络的安全需求和设备本身的性能两方面考虑。

(3)密钥交换

解决密钥交换的方法有:

  • **带外共享:**即通信双方通过一个磁盘、一张纸或一个电话等方式实现密钥的共享。这种方案最大的缺陷就是事实过程花费的时间较长,如果管理的虚拟专用网设备数量较多,或者公司对于密钥的安全要求较高,需要一小时更换一次密钥,这种方式基本就不会使用了;
  • **带内管理:**即通过Telnet、SSH等连接方式通过网络传输密钥,这种方法可以提高共享密钥的效率,但前提是必须要保证传输密钥的通道绝对安全,而传输密钥本身就是为了建立一条安全的通道,这似乎陷入一种死循环中;

其实解决这个问题可以通过非对称加密算法那加密对称加密的密钥,再用对称加密算法加密实际要传输的数据即可!

2.数据报文验证

数据报文验证包括两个方面:数据库来源验证(身份验证)和报文完整性验证。

(1)HMAC功能实现验证功能

在虚拟专用网领域,对数据进行来源和完整性验证通常是借助三列算法实现的,HMAC(散列消息验证码)功能专门用来处理数据及数据包相关的验证问题,它使用一个共享的对称密钥来产生固定的输出结果——数字签名。HMAC属于单向散列算法的一个子集,散列算法是不可逆的,即散列后的数据是无法还原的。

传统意义上的散列函数对于保障数据传输的安全性存在缺陷,即网上的窃听者可以截获传输的数据,然后篡改数据内容,并通过散列算法得到固定的输出,这样接收方就不可能知道有人篡改过数据。而HMAC功能让密钥称为散列函数其中的一个变量,通过计算的到固定的输出——数字签名,这样即使窃听者截获数据,由于没有共享密钥,他无法在篡改数据后得到正确的数字签名,所以HMAC可以防篡改(完整性验证)。同样,由于共享密钥只有真正的通信双方具有,所有HMAC功能也可实现身份验证。

如图:

HMAC算法的原理如下:
(1)双方共享执行Hash算法的密钥key;
(2)路由器A的用户数据与共享密钥key通过Hash算法得到数字签名;
(3)路由器A将数字签名和用户数据一同传送会给路由器B;
(4)路由器B执行相同的算法过程得到数字签名;
(5)路由B比对数字签名是否一致;

如果数据在传输过程被篡改或损坏,接收方通过Hash算法计算出来的数字签名就会和发送方的数字签名不同,于是便可以得知数据的内容在传输过程中被篡改。同理,如果窃听者冒充其中一个通信方,它虽然可以伪造通信方的身份信息,但绝对无法伪造身份信息和共享密钥计算后的数字签名。

(2)MD5和SHA

MD5(信息——摘要算法)在REC 1321中有明确规定,它创建了一个128位的数字签名,是目前HMAC功能中最为广泛的一种算法。

SHA(安全散列算法)是由NIST开发的,且已称为美国国家标砖,一般称为SHA-1,它可以产生160为的签名(20字节的长度)。

目前,已有人证明不同的输入数值可以通过MD5计算可以得到相同的数字签名,说明MD5的签名可能具有一定程度的虚假性。SHA也出现类似问题,并且有人宣称数字签名理论上是可以伪造的。因为存在这种安全隐患,现在已经开发了SHA-256和SHA-512等。它们具有更长的签名长度。对于目前的计算水平来说,可以消除上述安全隐患。

三、IPSec 虚拟专用网

IPSec技术实现虚拟专用网是目前较为广泛的一种应用。

1.IPsec连接

对等体之间建立IPSec 虚拟专用网的连接需要三个步骤。

1)流量触发IPSec

一般来说,IPSec建立过程是由对等体之间发送的流量触发的,一旦有虚拟专用网流量经过虚拟专用网网关,连接过程便开始建立,当然,手动配置也可以实现这一过程,在配置设备实现此步骤前,网络工程师需要明确哪些流量需要被“保护”。

2)建立管理连接

IPSec使用ISAKMP/IKE阶段1来构建一个安全的管理连接,这里需要注意的是,这个管理连接只是一个准备工作,它不被用来传输实际的数据。在配置设备实现此步骤前,网络工程师需要明确设备如何实现验证,使用何种加密机认证算法,使用哪种DH组等问题。

3)建立数据连接

IPSec基于安全的管理连接协商建立安全的数据连接,而ISAKMP/IKE阶段2就是用来完成这个任务的,数据连接用于传输真正的用户数据。在配置设备实现此步骤前,网络工程师需要明确使用何种安全协议,针对具体的安全协议应使用加密或验证算法,以及数据的传输模式(隧道模式或传输模式)等问题。

经过IPSec建立的三部曲后,虚拟专用网流量便可以按照协商的结果被加密/解密了,但是虚拟专用网连接并不是一次性的,无论是管理连接还是数据库连接都有一个生存周期与之关联,一旦到期连接便会被中止。如果需要继续传输虚拟专用网数据,连接还需要重新被构建,这种设计主要是处于安全性的考虑。

2.ISAKMP/IKE阶段1

ISAKMP描述了密钥管理的框架,它定义了消息的格式和密钥交换协议的机制,以及构建连接的协商过程;而IKE(因特网密钥交换)是一个混合型协议,它定义了密钥的产生、共享和管理。IKE使用UDP端口500。一般来说,ISAKMP和IKE关键字可互换使用。

ISAKMP/IKE阶段1的交换过程有两个模式:主模式和积极模式。积极模式比主模式快、主模式比积极模式安全。

无论虚拟专用网的类型是站点到站点还是远程访问,都需要完成三个任务:

  • 协商采用何种方式建立管理连接;
  • 通过DH算法共享密钥信息;
  • 对等体彼此进行身份验证;

在主模式中,这三个任务是通过6个数据报文来完成的:

  • 前两个数据包用于协商对等体间的管理连接使用何种安全策略(交换ISAKMP/IKE传输集);
  • 中间的两个数据包通过DH算法产生并交换加密算法和HMAC功能所需的密钥;
  • 最后两个数据包使用预共享密钥等方式执行对等体间的身份验证;

需要注意的是,前四个报文为明文传输,从第五个数据报文开始为密文传输,而前四个数据包通过各种算法最终产生的密钥用于第5、第6个数据包及后续数据的加密。

(1)ISAKMP/IKE阶段1建立过程

1)交换ISAKMP/IKE传输集

ISAKMP/IKE传输集就是一组用来保护管理连接的安全措施,主要包括以下几个方面:

  • 加密算法:DES、3DES和AES;
  • HMAC算法:MD5或SHA-1;
  • 设备验证的类型:预共享密钥;
  • DH密钥组:Cisco支持1、2、5、7(Cisco路由器不支持密钥组7);
  • 管理连接的生存周期;

设备可能会有不止一个传输集,如果设备发起连接,它会将传输集列表(包括所有的传输集)发送到远端对等体设备并进行以此对比,直到找到匹配的结果。如果对比所有传输集后没有发现匹配的传输集,管理连接将无法建立,IPSec连接失败。

如果使用Cisco产品实现虚拟专用网连接,在ISAKMP/IKE传输集中除了生存周期,其他项必须匹配才能建立连接。乳沟对等体之间的生存周期不同,对等体会使用双方生存周期数值较小的一个。这同样是IPSec的规则,但有些厂商没有遵循这一规则,因此如果遇到Cisco与其他厂商设备构建IPSec连接时,应注意确保ISAKMP/IKE传输集中所有参数的匹配。

2)通过DH算法实现密钥交换

DH算法属于非对称加密算法,因此它将产生公钥/私钥对的组合,且彼此共享公钥。虚拟专用网对等体用对方的公钥和自己的私钥通过一种功能运算产生一个安全的共享密钥。及时有人截获数据,也会因为没有私钥而无法推导出共享密钥。

3)实现设备间的身份验证

设备身份验证最常用的方法就是预共享密钥,即在对等体之间通过带外的方式共享密钥,并存储子啊设备的本地。设备验证的过程可以通过加密算法或HMAC功能两种方法实现。而加密算法很少用于身份验证,多数情况都会通过HMAC功能实现。

(2)ISAKMP/IKE阶段1相关配置命令

本篇博文以Cisco的路由器为例!

1)配置安全策略

ISAKMP/IKE策略包含以下参数:策略的序列号、加密算法、散列算法、验证方法、DH组、生存周期等。命令如下:

R1(config)#crypto isakmp policy 1
//用于建立建立ISAKMP/IKE的管理连接策略;
//每个策略对应一个序列号,范围从1~10000,数值越低,优先级越高;
R1(config-isakmp)#encryption des
//用于指定管理连接建立的最后两个报文(身份验证)采用何种加密算法(des、3des、aes)
R1(config-isakmp)#hash sha
//指定了验证过程采用的散列算法(sha、md5)
R1(config-isakmp)#authentication pre-share
//指定设备身份验证的方式{pre-shara(预共享密钥)| rsa-encr | rsa-sig}
R1(config-isakmp)#group 1
//用于指定DH密钥组,默认使用DH1;
//组号也大,算法越安全,占用设备的资源也就越多。范围(1、2、5、14、15、16)
R1(config-isakmp)#lifetime 86400  
//指定管理连接的生存周期,默认值为86400s(24小时)
R1#show crypto isakmp policy
//查看配置安全策略的相关配置
Global IKE policy
Protection suite of priority 1      //这里都是策略1指定的各项参数
        encryption algorithm:   DES - Data Encryption Standard (56 bit keys).
        hash algorithm:         Secure Hash Standard
        authentication method:  Pre-Shared Key
        Diffie-Hellman group:   #1 (768 bit)
        lifetime:               86400 seconds, no volume limit
Default protection suite             //这里则显示了设备默认的配置参数
        encryption algorithm:   DES - Data Encryption Standard (56 bit keys).
        hash algorithm:         Secure Hash Standard
        authentication method:  Rivest-Shamir-Adleman Signature
        Diffie-Hellman group:   #1 (768 bit)
        lifetime:               86400 seconds, no volume limit
2)配置预共享密钥
R1(config)#crypto isakmp key 0 123456 address 192.168.1.1
//其中0表示明文,6表示密文
//123456就是密钥的具体内容
//192.168.1.1就是对端与之共享密钥的对等体设备地址
//IP地址后面如果不加子网掩码的话,默认使用32位掩码
R1#show crypto isakmp key                   //查看预共享密钥的配置
Keyring               Hostname/Address                   Preshared Key
//明文状态下,如果是密文状态下,密钥内容将不会显示
default               192.168.1.1                        123456

通过“show run”也只能看到明文的密钥信息

为了增强安全性,在IOS 12.3(2)T版本中,增加了一个选项来加密密钥,但是要求设备的IOS镜像必须支持AES加密,命令如下:

R1(config)#key config-key password-encrypt
New key: 
Confirm key:                    //密码不得小于8个字符
R1(config)#password encryption aes

R1#show run
!
crypto isakmp policy 1
 authentication pre-share
crypto isakmp key 6 GZF]iBbT^d_eBMHQT^HIhZ`XFJhAAB address 192.168.1.1
!   
//也只能看到密钥加密后的效果
R1(config)#no key config-key password-encrypt 
//可以导致共享密钥不可用
WARNING: All type 6 encrypted keys will become unusable
Continue with master key deletion ? [yes/no]: yes

3.ISAKMP/IKE阶段2

ISAKMP/IKE阶段2主要是在两个IPSec对等体间建立数据连接,其主要完成以下任务:

  • 定义对等体间需要保护何种流量;
  • 定义用来保护数据的安全协议;
  • 定义传输模式;
  • 定义数据连接的生存周期及密钥刷新的方式;

其中,IPSec对等体一般是通过ACL来匹配那些需要加密传输的虚拟专用网流量。

(1)ISAKMP/IKE阶段2建立过程

1)安全关联

IPSec需要在对等体之间建立一条逻辑连接,这就要使用一个被称为安全关联(SA)的信令协议,这是因为IPSec需要无连接的IP协议在安全运行之前要成为面向连接的协议。SA的连接是在源点和终点之间的单向连接,如果需要双向连接,就需要两个SA连接,每个方向一个。

SA连接由三个要素定义:

  • 安全参数索引(SPI):用于唯一标识每条SA连接;
  • 安全协议的类型:IPSec定义了两种安全协议,即AH(认证头协议)和ESP(封装安全载荷协议);
  • 目的IP地址;

ISAKMP/IKE阶段2具有这种特性,即ISAKMP/IKE的数据连接实际时通过两个单向连接建立的,而两个连接采用的加密或认证方式都是相同的,这就使ISAKMP/IKE阶段2的这个特性不易被观察到。

2)ISAKMP/IKE阶段2的传输集

数据连接的传输集定义了数据连接时如何被保护的。与管理连接的传输集类似,对等体设备可以保存一个或多个传输集,但其具体内容不同:

  • 安全协议:AH协议、ESP协议;
  • 连接模式:隧道模式、传输模式;
  • 加密方式:对于ESP而言,有DES、3DES、AES-128、AES-192、AES-256或不可使用加密算法;
  • 验证方式:MD5或SHA-1;
3)ISAKMP/IKE阶段2的安全协议

IPSec的数据连接可以通过安全协议实现对数据连接的保护:AH协议和ESP协议,可以通过其中的一个协议来实现数据的加密和验证,如使用ESP协议;也可以使用两个协议一起来实现。AH使用IP协议号51,ESP使用IP协议号50。

1.AH协议

AH协议在RFC 2402中有明确的定义,它提供了以下安全功能:

  • 数据完整服务;
  • 数据验证;
  • 保护数据回放非法行为;

AH协议保护整个数据报文,但易变的字段除外,如IP包头中的TTL和TOS字段。如图:

  • 下一个头:这个八位字段定义了IP数据报文携带的有效载荷类型(TCP、UDP、ICMP、OSPF等),它与封装前IP首部中的协议字段功能一样;
  • 有效载荷长度:这个八位字段的功能与字面意思不同,它并不定义有效载荷的长度,实际只定义了AH头部的长度;
  • 安全参数索引(SPI):这个32位字段是由接收端设备分配的一个数字,用来唯一标识一个单向连接,可以提供超过1亿中标识号码;
  • 序列号:这个32位字段对于数据报文提供排序信息,用来防止重放***。即使数据报文重传。该序列号也不会重复,而且当序号达到2的32次方也不会回绕,而必须重新建立新的连接;
  • 完整性校验和(ICV):这个字段提供验证功能,它就是MD5或SHA等HMAC功能产生的数字签名。AH的ICV值是完整的IP数据报文产生的数字签名,也就是说,它对整个IP数据报文进行完整性验证;

从报文结果中可以看出,AH协议只实现验证功能,而并未提供任何形式的数据加密,而且正因为其对于整个IP数据报文实现验证功能,所以它与NAT或PAt不能一起使用。

2.ESP协议

ESP在RFC 2406中有明确的定义,它与AH的区别如下:

  • ESP对用户数据实现加密功能;
  • ESP只对IP数据的有效载荷进行验证,不包括外部的IP包头;

因此,如果有非法用户对IP包头内容进行篡改的话,ESP是无法检测到的。而NAT也会修改外部的IP信息,所以**ESP可以和NAT共用。**所以,AH无论如何也不能和NAT共用,而ESP却可以,再配合NAT-T技术,ESP甚至可以和PAT共用。

ESP默认情况下不能穿越PAT设备,因为PAT会修改传输层头部的端口信息。而传输层的头部在ESP的封装中是被加密的,所以PAT无法修改端口信息。而NAT-T技术就是通过额外增加一个传输层头部让PAT可以工作。

如图:

  • ESP头部:SPI字段、序列号与AH报文结构中对应字段的功能类似;
  • ESP尾部:补丁用于减少有效载荷被窃听并被猜测的可能性;
  • 补丁长度定义了补丁的字节数;
  • 下一个头与AH报文结构中对应字段的功能类似;
  • ICV依然提供验证功能,但是ICV只是IP数据报文的有效载荷通过HMAC功能产生的数字签名;

(2)ISAKMP/IKE阶段2相关配置命令

ISAKMP/IKE阶段2的配置过程由三部分组成:

1)配置Crypto ACL

定义何种流量需要保护的一中方法就是建立一个Crypto ACL,通过ACL匹配IPSec 虚拟专用网流量。配置命令如下:

access-list 100 permit ip  192.168.10.0 0.0.0.255 192.168.20.0 0.0.0.255
//定义一个扩展ACL,允许源地址192.168.10.0网段访问192.168.20.0网段
//通常情况下,两端对等体设备上的Crypto ACL互为镜像
2)配置阶段2的传输集

在IPSec对等体之间可以配置多个数据连接的传输集,必须保证两端至少有一对匹配的传输集,这样ISAKMP/IKE阶段2的数据SA连接才能协商成功。设备的传输集由设备性能决定,如果所有对等体设备的性能相近,则共同使用一种传输集即可;如果设备间性能差异较为明显,通常就需要多个传输集。配置命令如下:

R1(config)#crypto ipsec transform-set accp-set esp-des ah-sha-hmac
//定义传输集名称(名称必须是唯一的),后面就是一些选项
//使用esp-des加密,使用AH协议中的 ah-sha-hmac
R1(cfg-crypto-trans)#mode tunnel
//采用隧道模式
R1#show crypto ipsec transform-set 
//查看路由器上的传输集
Transform set accp-set: { ah-sha-hmac  } 
   will negotiate = { Tunnel,  }, 
   { esp-des  } 
   will negotiate = { Tunnel,  }, 
   

传输集选项,如图:

如果在数据连接建立之后修改传输集的配置,并不会影响现有的SA设置,只有连接的生存周期到期,SA才会重新建立连接或被手动清除(通过“clear crypto sa” 或“clear crypto ipsec sa”命令)。

3)配置Crypto Map

Crypto Map的功能就是将所有信息组织在一起构建IPSec会话。通常路由器的接口上只对应一个Crypto Map,一条路由器可以在多个接口上实现流量保护,这是可能就需要多个Crypto Map了。

Crypto Map 有两种类型:静态的Crypto Map和动态的Crypto Map。在构建L2L会话时通常会使用讲台的Crypto Map。配置命令如下:

R1(config)#crypto map benet-map 1 ipsec-isakmp 
//创建一个名称为benet-map的Map,序列号为1
//序列号范围1~65535,数值越小,优先级越高
% NOTE: This new crypto map will remain disabled until a peer
        and a valid access list have been configured.
				//这是正常提示,就是说这个Map中并没有包含配置			
R1(config-crypto-map)#match address 100
//调用ACL名称或编号
R1(config-crypto-map)#set peer 192.168.2.1
//设置对等体设备
R1(config-crypto-map)#set transform-set accp-set
//指定传输集的名称,最多可以指定6个
R1(config-crypto-map)#set pfs group1
//用于启动这项功能并执行使用哪个DH密钥组,这是一条可选命令
//刚才定义的DH组是1
R1(config-crypto-map)#set security-association lifetime seconds 1800 
//指定SA的生存周期,默认情况下,Cisco设备已经设定数据连接的生命周期为3600s或4608000KB,相当于一小时内10MB/s速率传输的流量。
R1(config-crypto-map)#set security-association idle-time 60
//用于设定空闲超时计时器,范围是60~86400s
//默认情况下,空闲超时计时器是关闭的

四、配置实现IPSec 虚拟专用网

(1)案例拓补

(2)案例需求

PC1通过虚拟专用网访问PC3;
PC1访问PC2;

(3)案例实施

1)配置PC、路由器的IP地址

PC1的配置:

PC1(config)#int f0/0
PC1(config-if)#ip add 192.168.1.100 255.255.255.0
PC1(config-if)#no sh
PC1(config-if)#ip route 0.0.0.0 0.0.0.0 192.168.1.1

PC2的配置:

PC2(config)#int f0/0
PC2(config-if)#ip add 50.0.0.100 255.255.255.0
PC2(config-if)#no sh
PC2(config-if)#ip route 0.0.0.0 0.0.0.0 50.0.0.1

PC3的配置:

PC3(config)#int f0/0
PC3(config-if)#ip add 192.168.2.100 255.255.255.0
PC3(config-if)#no sh
PC3(config-if)#ip route 0.0.0.0 0.0.0.0 192.168.2.1

R1的配置:

R1(config)#int f0/0
R1(config-if)#ip add 192.168.1.1 255.255.255.0
R1(config-if)#no sh
R1(config-if)#int f1/0
R1(config-if)#ip add 20.0.0.1 255.255.255.0
R1(config-if)#no sh 
R1(config-if)#ip route 0.0.0.0 0.0.0.0 20.0.0.2

R2的配置:

R2(config)#int f1/0
R2(config-if)#ip add 20.0.0.2 255.255.255.0
R2(config-if)#no sh
R2(config-if)#int f0/0
R2(config-if)#ip add 50.0.0.1 255.255.255.0
R2(config-if)#no sh
R2(config-if)#int f2/0
R2(config-if)#ip add 30.0.0.1 255.255.255.0
R2(config-if)#no sh
//R2只配置IP地址即可

R3的配置:

R3(config)#int f2/0
R3(config-if)#ip add 30.0.0.2 255.255.255.0
R3(config-if)#no sh
R3(config-if)#int f0/0
R3(config-if)#ip add 192.168.2.1 255.255.255.0
R3(config-if)#no sh
R3(config-if)#ip route 0.0.0.0 0.0.0.0 30.0.0.1
2)配置ISAKMP策略

R1的配置:

R1(config)#crypto isakmp policy 1
//配置ISAKMP/IKE策略,序列号为1,数值越小越优先
R1(config-isakmp)#encryption 3des
//指定用于身份验证采用3des加密算法
R1(config-isakmp)#hash sha
//用于验证数据完整性(散列算法)使用sha算法
R1(config-isakmp)#authentication pre-share
//设备身份验证的方式使用pre-sha(预共享密钥)
R1(config-isakmp)#group 2 
//指定DH密钥组,组号越大,越安全
R1(config-isakmp)#lifetime 10000
//管理连接的生存周期为10000s
R1(config)#crypto isakmp key 0 123456 address 30.0.0.2
//与30.0.0.2建立对等体关系,使用明文密钥123456

R3的配置:

R3(config)#crypto isakmp policy 1
R3(config-isakmp)#encryption 3des
R3(config-isakmp)#hash sha
R3(config-isakmp)#authentication pre-share
R3(config-isakmp)#group 2
R3(config-isakmp)#lifetime 10000
R3(config)#crypto isakmp key 0 123456 address 20.0.0.1
//对等体之间的配置几乎是一样的
3)配置ACL

R1的配置:

R1(config)#access-list 100 permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255
//配置ACL,允许192.168.1.0网段访问192.168.2.0网段

R3的配置:

R3(config)#access-list 100 permit ip 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255  
//配置ACL,允许192.168.2.0网段访问192.168.1.0网段
4)配置IPSec传输集

R1的配置:

R1(config)#crypto ipsec transform-set R1-set esp-des ah-sha-hmac 
//建立传输集,名称为R1-set,加密使用esp-des算法,解密使用ah-sha-hmac 算法
R1(cfg-crypto-trans)#mode tunnel                 //选择隧道模式,默认就是隧道模式
R1(cfg-crypto-trans)#exit
R1(config)#crypto ipsec security-association lifetime seconds 1800
//全局模式下也可设置生存周期

R3的配置:

R3(config)#crypto ipsec transform-set R3-set esp-des ah-sha-hmac 
R3(cfg-crypto-trans)#mode tunnel
R3(cfg-crypto-trans)#exit
R3(config)##crypto ipsec security-association lifetime seconds 1800
5)配置加密映射

R1的配置:

R1(config)#crypto map R1-map 1 ipsec-isakmp
//创建Crypto-Map,名称为R1-map,序列号为1,数值越小,越优先
% NOTE: This new crypto map will remain disabled until a peer
        and a valid access list have been configured.
R1(config-crypto-map)#set peer 30.0.0.2                 //设置对等体为30.0.0.2
R1(config-crypto-map)#set transform-set R1-set      //指定传输集
R1(config-crypto-map)#match address 100                //调用刚才创建的ACL

R3的配置:

R3(config)#crypto map R3-map 1 ipsec-isakmp
% NOTE: This new crypto map will remain disabled until a peer
        and a valid access list have been configured.
R3(config-crypto-map)#set peer 20.0.0.1
R3(config-crypto-map)#set transform-set R3-set
R3(config-crypto-map)#match address 100 
6)将映射应用到接口上

R1的配置:

R1(config)#int f1/0
R1(config-if)#crypto map R1-map
//在连接公网接口上调用Crypto-Map

R3的配置:

R3(config)#int f2/0
R3(config-if)#crypto map R3-map

现在验证PC1是否可以访问PC3:

PC1#ping 192.168.2.100

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.2.100, timeout is 2 seconds:
!!!!!                   //访问成功(使用虚拟专用网访问)
Success rate is 100 percent (5/5), round-trip min/avg/max = 124/136/156 ms
7)设置PAT

R1的配置:

R1(config)#access-list 110 deny ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255
R1(config)#access-list 110 permit ip any any
//设置ACL,拒绝虚拟专用网的流量
R1(config)#ip nat inside source list 110 int f1/0 overload 
//将ACL 110列表中的流量转换为外部接口地址
R1(config)#int f0/0
R1(config-if)#ip nat inside
R1(config-if)#int f1/0     
R1(config-if)#ip nat outside
//设置内外接口

PC1测试访问PC2:

PC1#ping 50.0.0.100

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 50.0.0.100, timeout is 2 seconds:
!!!!!           //访问成功(使用路由器外部接口地址访问)
Success rate is 100 percent (5/5), round-trip min/avg/max = 92/105/124 ms

实验完成!

五、常用排错的命令

R1#show crypto isakmp policy     #查看ISAKMP协商策略的配置结果
R1#show crypto isakmp sa            #查看管理连接SA的状态
R1#show crypto ipsec transform-set        #查看IPSec传输集
R1#show crypto ipsec security-association lifetime    #查看数据连接建立的生存周期
R1#show crypto ipsec sa    #查看数据连接SA的细节信息
R1#show crypto map    #查看crypto  Map的信息,这个命令可以查看到crypto  map的名称、
//ACL、对等体的IP地址、应用Crypto  map的接口等。

别忘了,在Cisco设备上“show run”几乎就是万能的!

———————— 本文至此结束,感谢阅读 ————————

Cisco路由器IPSec 虚拟专用网(包括相关知识点以及配置实例)
cheng198956的专栏
08-15 1239
博文大纲: 一、虚拟专用网相关概念 二、IPSec 虚拟专用网的基本概念 三、ISAKMP/IKE阶段1及阶段2的建立过程 四、IPSec 虚拟专用网配置实现 五、总结 前言:由于“Virtual Private Network”(请看首字母,就知道是什么咯)是敏\感词汇,所以在博文中使用它的中文名字“虚拟专用网”来代替。 一、虚拟专用网相关概念。 1、虚拟专用网的定义 虚拟专用...
锐捷网络—VPN功能—IPSEC 基础配置—基于数字证书的IPSec动态隧道(主模式)
君逍遥o
09-05 579
若总公司和分公司各自的内网要能够互相共享资料,且希望资料在网络传输中不易被黑客截获破解窃取,保证资料的安全保密,且分支机构采用ADSL拨号(公网IP地址不固定)的方式上互联网,总部和分支机构采用数字证书分别验证对方的合法性,此时您可以在总公司的网络设备上启用基于数字证书的动态IPSec VPN,分公司的网络设备上启用基于数字证书的静态IPSec VPN。
思科路由器配置命令(五)
kali_Chenye的博客
09-29 4756
一、 GRE配置 https://blog.csdn.net/weixin_33850890/article/details/89906543 1、实验拓扑 2、基本配置 R1(config)#int lo0 R1(config-if)#ip address 10.1.1.1 255.255.255.0 配置环回口地址当接入PC用 R1(config)#int e0/0 R1(config-if)#ip address 202.1.1.1 255.255.255.0 R1(config-if)#n
锐捷ipsec动态模式实验——命令解释
m0_62621003的博客
03-31 328
crypto ipsec transform-set cs esp-des esp-md5-hmac #配置转换集,指定ipsec使用esp封装des加密、MD5检验。crypto map fz 10 ipsec-isakmp dynamic cs #将策略cs绑定在fz模板上。crypto dynamic-map cs 5 #指定动态加密模板。set transform-set cs #设置转换集。
《网络安全与渗透测试》课堂笔记---15
zhaotiannuo_1998的博客
05-10 944
2019/5/9 - - - 关于IPsec VPN的介绍,与实验 IPsec VPN 建立IPsec VPN连接需要3个步骤: 1、流量触发 IPsec 需要借助扩展ACL去定义(匹配、permit)要保护的流量 How do? access-list 100 permit ip 172.16.10.0 0.0.0.255 10.10.33.0 0.0.0.255 do show runnin...
第25节 虚拟专有网络原理配置命令
Fighting_hawk的博客
01-10 3346
1. 了解加密技术的种类及常用算法; 2. 了解VPN技术的作用及分类; 3. 理解掌握两种IPsecVPN模式的工作原理; 4. 理解map表组、map表号、ACL表号、策略集之间的关系; 5. 理解掌握IPsecVPN配置方法。
Cisco路由器配置GRE隧道.docx
07-12
Cisco路由器配置GRE隧道 路由封装(GRE)最早是由Cisco提出的,而目前它已经成为了一种标准,被定义在RFC 1701, RFC 1702, 以及RFC 2784中。简单来说,GRE就是一种隧道协议,用来从一个网络向另一个网络传输数据包。 ...
惠普首推出路由器产品直接与思科展开竞争.pdf
10-09
这款产品针对中小企业,具备安全功能如防火墙和IPSec虚拟专用网,强调易用性、管理和性价比。这显示了惠普试图通过差异化策略来瓜分市场份额,与思科的2800系列形成竞争。 另一方面,IBM的投资策略展示了其对开放源...
cisco VOIP配置技术
09-26
本文将深入探讨Cisco路由器上的VoIP配置,帮助读者理解其原理配置步骤以及常见问题的解决方法。 首先,我们需要了解VoIP的基本概念。VoIP是将语音数据转换为数字信号,通过IP网络进行传输,然后在接收端再还原为...
HSE培训路由器试题(080903)汇编.pdf
10-30
SR66系列则定位为中高端市场,适合大型企业汇聚接入、中小型企业核心路由器或校园网出口路由器场景。它有两种业务引擎——FIP200和FIP100,其中FIP200兼容MIM和HIM卡,并可配置2个MIM卡。SR66采用了多核芯片的RPE-X1...
网络工程师考试重要知识点梳理及华为相关命令汇总2018.4.23.docx
12-27
IPSec在网络层建立隧道,适用于固定虚拟专用网。 8. **RIPv2改进**:RIPv2成为无类别协议,需要配置子网掩码,相比RIPv1更适应现代网络环境。 9. **ARP与代理ARP**:ARP协议负责根据逻辑地址查找物理地址,代理ARP...
IPSEC VPN动态配置(示例)
无心
04-20 1632
EG1(config)#crypto ipsec transform-set myset esp-3des esp-md5-hmac//配置ipsec加密转换集,名字为myset,没有指定就写R1一致的。R1(config)#crypto ipsec transform-set myset esp-3des esp-md5-hmac//配置ipsec加密转换集,名字为myset。R1(config-crypto-map)#set transform-set myset //指定加密转换集为”myset“
IPSEC学习
Hakkazhongli的博客
06-20 2311
IPSec协议产生的背景 用户在互联网上传输的数据容易遭受窃取
gns3工具模拟思科路由器配置IPSec命令
沉默的鹏先生
04-23 3735
1、拓扑图 R2和R3建立IPSec隧道 2、配置命令 R1: R1#configure terminal R1(config)#interface FastEthernet 0/0 R1(config-if)#ip address 10.10.10.2 255.255.255.0 R1(config-if)#no shutdown R1(config-if)#end R2: ...
Cisco路由器实现远程访问虚拟专用网——Easy虚拟专用网(解决出差员工访问内网的问题)
小健健的博客
11-07 1205
通过博文CIsco路由器实现IPSec 虚拟专用网原理配置详解可以实现两个局域网之间建立虚拟专用网,但是在现实环境中,较为常用的还是Easy 虚拟专用网。它主要解决的就是出差员工通过虚拟专用网访问内网的问题。在路由器实现Easy 虚拟专用网时,会涉及以下的基本概念:XAUTH、组策略、动态Crypto Map等概念! 博文大纲: 一、Easy 虚拟专用网需要解决的问题; 二、在路由器实现E...
思科IPSEC配置实验
川的博客
11-05 1160
使用思科路由器配置IPSec隧道实验,有完整的数据包发送过程解析,配置过程命令解析。
锐捷ipsec野蛮模式(积极模式)配置实验+命令解释
m0_62621003的博客
04-01 1488
IPSEC动态隧道一般应用于分支节点较多的总分拓扑结构,在中心点配置动态隧道接受各分支的IPSEC VPN拨入。中心点配置简单、易于维护、可扩展性强。同时由于各分支的IP地址不固定,无法通过IP地址来指定不同的预共享密钥。所有分支使用相同的预共享密钥将极易造成密钥泄露,威胁网络安全。使用域名认证的方法很好地解决了这个问题,通过每个分支配置使用不同的域名,同时在中心点上针对不同的域名指定不同的密钥,保证了密钥安全。
IPSec
vx XIxi_AL
11-17 563
ipsec vpn
思科防火墙IPsec配置--野蛮模式(基于8.0版本)
最新发布
xiayu0912的专栏
01-25 1613
动态crypto maps只设置在野蛮模式的接收端,和静态crypto maps一样,也是把一些分散的信息集中起来形成一个完整的ipsec连接信息,里面的匹配规则也和静态crypto maps一样从低到高匹配,配置方式也和静态crypto maps一样。配置cryto map。cryto map是一个列表,该列表记录那些数据包需要建立IPsec, 将前面配置的一些分散的信息绑定到一起形成一个ipsec连接的完整信息,这个列表有序号,序号可以随意填,匹配IPSEC参数的时候按照序号从低到高的顺序进行匹配。
"CISCO路由器配置手册:基础及高级设置全面详解
"CISCO路由器配置手册是一本非常好的学习材料,其中包括了路由器配置的基础知识、广域网协议设置、路由协议设置、服务质量及访问控制以及虚拟局域网(VLAN)路由等内容。在第一章中,介绍了路由器的基本设置方式、...
写文章

热门文章

  • iptables 25251
  • VMware vSphere 高可用性 DRS、HA、DPM详解 23978
  • 华为防火墙实现双机热备配置详解 17898
  • Kubernetes的三种可视化UI界面 10765
  • 华为防火墙NAT策略及配置详解 10699

分类专栏

  • Linux群集、监控及自动化运维 19篇
  • Docker、k8s 2篇
  • 华为与H3C 12篇
  • Linux系统安全及防火墙配置 4篇
  • Windows server 13篇
  • Linux基础 22篇
  • Shell脚本 12篇
  • Cisco 路由器 13篇
  • 数据库 12篇
  • exchange服务器 4篇
  • Vsphere虚拟化 7篇
  • Cisco ASA 6篇
  • 动态路由协议 6篇
  • 渗 透测试 1篇
  • Linux高级管理 8篇
  • LAMP与LNMP架构部署 13篇

最新评论

  • Linux根目录扩容

    眼高手低的小白: vgdisplay为空,根目录没有卷组怎么搞?

  • Linux根目录扩容

    V1sent、: sudo lvextend -l +100%FREE /dev/mapper/centos-root

  • 华为网络设备与基础配置

    沉鱼ㄜ: 大神,这有些图片不显示,能单发一下么,感谢感谢

  • Linux根目录扩容

     CHOiCE๛ก(ーωーก): 值超出范围了怎么回事,明明还很多空间阿

  • 史上最详细网络基础知识

    .: 很多图片看不到

最新文章

  • vim常用命令,linux必备
  • 100篇你值得收藏的K8s干货文章
  • Linux根目录扩容
2022年9篇
2021年12篇
2020年71篇
2019年249篇

目录

目录

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

PHP网站源码龙华网站seo优化丹竹头企业网站设计永湖网站开发龙岗网站改版同乐关键词按天收费深圳企业网站建设塘坑SEO按效果付费福田建网站福永关键词按天计费福永营销型网站建设坪山关键词排名包年推广双龙SEO按天收费大浪设计网站大鹏建网站荷坳SEO按天收费福田网站改版同乐百度seo丹竹头网站改版南山关键词按天扣费石岩百度爱采购民治推广网站吉祥阿里店铺运营永湖百度竞价包年推广大鹏网站关键词优化福田外贸网站制作龙岗SEO按效果付费沙井网站推广工具坪地网络推广永湖企业网站制作光明百搜标王歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

PHP网站源码 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化