IPSec을 시스코 라우터, (관련 지식 및 구성 예제를 포함하여) 가상 사설망

보웬 개요 :

  • 가상 개인 네트워크 개념
  • 두, IPSec을 가상 개인 네트워크 기본 개념
  • 세, ISAKMP / IKE 1 단계와 2 단계를 설정하는 프로세스
  • 넷째, IPSec을 가상 개인 네트워크 구현을 구성
  • V. 요약

서문 :은 "가상 개인 네트워크는"다른 이름으로 단어의 민감한 \ 의미입니다 (첫 글자를보고, 내가 무엇을 기침) 알고, 그래서 대신 블로그 게시물에서의 중국 이름 "가상 개인 네트워크"를 사용합니다.

가상 개인 네트워크 개념.

정의 (1), 가상 사설망

보호 된 가상 개인 네트워크 연결이 두 개의 네트워크 엔티티 사이에 설립, 두 엔티티 직접 링크를 가리 키도록 지점을 통해 연결되어 있지만 보통 멀리 떨어져 거리가 될 수있다.

단어를 들어 "보호"다음과 같은 측면에서 이해 될 수있다 정의에 언급 :

  • 도청은 암호화 데이터를 이용하여 방지된다.
  • 데이터 무결성 검증, 변경을 데이터 파괴를 방지합니다.
  • 데이터의 통신을 방지하기 위해 확인함으로써 통신 업체의 정체성에 대한 인증 메커니즘은 가로 및 재생된다.
    또한, 가상 사설망 기술은 다음과 같은 기능을 정의한다 :
  • 어떤 종류의 트래픽이 보호 될 필요가있다.
  • 데이터 보호 메커니즘.
  • 데이터 캡슐화 과정.

환경 가상 사설망 솔루션은 반드시 위의 모든 기능의 실제 생산을 포함 할뿐만 아니라, 환경과 구현의 특정 요구에 의해 결정하고, 많은 기업들이 하나 개 이상의 가상 사설 네트워크 솔루션을 채택 할 수 없습니다.

2, 가상 개인 네트워크 연결 모드

두 가지 방법으로 가상 개인 네트워크 연결 모드 : 전송 모드와 터널 모드.

(1) 전송 모드 :

가상 사설 네트워크를 통해 전송하고, IP ​​헤더 중에 항상 통신으로부터 소스 데이터의 원래의 IP 어드레스를 사용하여 즉, 캡슐화되지 않는다. 실제 페이로드 데이터 전송이 가장 가상 사설 네트워크 전송을 위해, 가상 사설 네트워크 패킷으로 캡슐화되고, 따라서, 제 3자가 데이터 내용을 해독 할 수없는 데이터 암호화 프로세스의 가상 사설 네트워크 패킷 캡슐화 공정 그러나 그것은 명확하게 양측 간의 정보 통신의 주소를 알 수 있습니다.

IPSec을 시스코 라우터, (관련 지식 및 구성 예제를 포함하여) 가상 사설망

패키지가 비교적 간단한 송신 모드보다 높은 전송 효율을하기 때문에, 통신에 사용 모두 동일한 근거리 통신망 내에있다.

(2) 터널 모드 :

터널 모드에서는, 가상 사설 데이터 네트워크 내에 캡슐화 장치 전체 VPN 계층 패킷 데이터는 새로운 IP 헤더를 추가하기 위해 패킷을 캡슐화한다. 새로운 IP 헤더는 가상 개인 네트워크 장치의 IP 주소 정보에 캡슐화되어 있으므로 타사 데이터를 가로 챌 때, 실제 부하 데이터의 내용을 이해할 수 있지만, 양측 간의 실제 통신의 주소 정보를 알 수 없다뿐만 아니라입니다. 다음과 같이 캡슐화 된 패킷 후 :

IPSec을 시스코 라우터, (관련 지식 및 구성 예제를 포함하여) 가상 사설망

내부 리소스에 액세스 할 수있는 공용 네트워크의 WAN 본사 및 지점에서 통신, 모바일 사용자 : 터널 모드 때문에 VPN 큰 같은 널리 사용되는 엔터프라이즈 환경에서 보안 및 유연성의 측면에서 장점을 가지고 있습니다 .

3, 가상 사설 네트워크의 유형

일반적으로 가상 사설 네트워크의 유형은 사이트 간 가상 사설망 원격 액세스 가상 사설망으로 분할된다.

(1) 사이트 간 가상 사설망 :

사이트 간 가상 사설망 터널 모드 보호는 가상 사설 네트워크 게이트웨이 사이에 두 개 이상의 사이트 간 트래픽을 통해, 사이트 간 트래픽이 보통의 로컬 영역 네트워크 (L2L) 사이의 트래픽을 의미합니다. L2L은 가상 개인 네트워크를 사용할 수있는 네트워크 세그먼트 주로 트래픽, 중요한 비즈니스 데이터의 공용 네트워크 전송에 본사와 지사 간의 가상 개인 네트워크에 사용됩니다.

(2) 원격 액세스 가상 사설망 :

단일 사용자 장치 간의 원격 액세스 가상 사설망은 일반적으로 가상 사설 네트워크 게이트웨이, 통신 접속에 사용되는, 사용자 장비는 일반적으로 단일 PC 또는 소규모 네트워크 등이다. 원격 액세스 가상 개인 네트워크 보안 요구 사항은 터널 모드에 대한 더 높은, 더 적합합니다.

하나는 자신의 LAN IP 주소이고, 다른 하나는 네트워크 주소, 즉 원격 클라이언트 가상 개인 네트워크를 구축하는 과정에서 : 통신의 터널 모드를 달성하기 위해, 우리는 두 개의 IP 주소를 할당 원격 액세스 클라이언트를 제공해야 가상 사설 네트워크 게이트웨이와 동시에 작용에 그리고 (IP 주소를 사용하여) 최종 사용자 (고유의 IP 주소를 사용하여).

IPSec을 시스코 라우터, (관련 지식 및 구성 예제를 포함하여) 가상 사설망

가상 사설망 기술은 여기 장황한 너무 많은 개념과 알고리즘을 포함한다.

다음에 관련된 가상 사설망 이론적 지식에 대해서, 스스로 관련 정보에 액세스 할 수 있습니다 관심이 있습니다 :
1, 암호화 알고리즘

  • 대칭 암호화 알고리즘 (DES, 3DES, AES 등)
  • 비대칭 암호화 알고리즘 (일반적으로 처음 두 검증에 사용되는 등 RSA, DSA, DH,,,
    DH IPSec을 인터넷 키 교환 (IKE) 프로토콜을 구현하는 데 사용할 수)
    2, 데이터 패킷 인증
  • 数据报文验证包括的两个方面:数据来源验证(身份验证)和报文完整性验证。
  • 虚拟专用网技术对数据进行来源验证通常借助散列算法HMAC实现的。
  • HMAC常用的两种算法(MD5和SHA)。

二、IPSec 虚拟专用网的基本概念

IPSec技术实现虚拟专用网是目前最为广泛的一种应用,为了可以在工作中快速的定位问题所在,所以了解IPSec的建立过程尤为重要。

1、IPSec连接过程:

IPSec的连接过程如下:
1、流量触发IPSec;
2、建立管理连接;
3、建立数据连接。

(1)流量触发IPSec

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

(2)建立管理连接

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

(3)建立数据连接

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

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

IPSec 虚拟专用网属于安全技术,并非所有的Cisco设备都支持该功能,需要IOS名称中的功能集中涵盖K8或K9,如下:

IPSec을 시스코 라우터, (관련 지식 및 구성 예제를 포함하여) 가상 사설망

三、ISAKMP/IKE阶段1及阶段2的建立过程

1、ISAKMP/IKE阶段1

(1)阶段1(是双向的)的相关概念:

阶段1的交换过程有两个模式:主模式和积极模式。积极模式比主模式快,主模式比积极模式安全,我下面的配置是基于主模式进行的。

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

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

在主模式中,这三个任务是通过六个数据报文完成的:前两个数据包用于协商对等体间的管理连接使用何种安全策略(交换ISAKMP/IKE传输集);中间两个数据包通过DH算法产生并交换加密算法和HMAC功能所需的密钥;最后两个数据包使用预共享密钥等方式执行对等体间的身份验证。需要注意的是,前四个报文是明文传输的,后面两个报文才是密文传输,前四个数据包通过各种算法最终产生的密钥用于第5、和第6个数据包及后续数据的加密。

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

1)交换ISAKMP/IKE传输集

ISAKMP/IKE传输集就是一组用来保护管理连接的安全策略,也有人将它称之为IKE策略或ISAKMP策略。

ISAKMP/IKE传输集主要包括以下几个方面:

  • 加密算法:DES、3DES或AES(一般用AES,安全性更高些)。
  • HMAC功能:MD5或SHA-1(一般使用SHA-1,同样,因为安全性高)。
  • 设备验证的类型:预共享密钥或使用RSA签名(我这里使用预共享密钥,配置简单些)。
  • DH密钥组:Cisco支持1、2、5、7(Cisco的路由器不支持密钥组7)。
  • 管理连接的生存周期。

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

上一步只是协商管理连接的安全策略,而共享密钥的产生与交换就要通过DH算法来实现。

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

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

2、ISAKMP/IKE阶段2

(1)阶段2(是单向的)的相关概念:

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

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

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

1)安全关联

IPSec需要在两个对等体之间建立一条逻辑连接,这就要使用一个被称为安全关联的信令协议,这是因为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。

AH协议提供以下安全功能:

  • 数据完整性;
  • 数据验证;
  • 保护数据回放功能。

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

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

ESP在RFC 2402中有明确的定义,它与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可以工作)。

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

上面啰嗦那么一大堆,好消耗耐心,还是来个实际配置吧!

网络环境如下:
IPSec을 시스코 라우터, (관련 지식 및 구성 예제를 포함하여) 가상 사설망

环境分析:

1、总公司内网使用192.168.1.0/24网段地址,分公司使用192.168.2.0/24网段地址。R2路由器为公网上的路由器。R1及R3分别为总公司及分公司的网关服务器,所以一定会存在默认路由指向公网的路由器。
2、总公司的内网及分公司的内网之间要建立虚拟专用网,但如果不配置别的东西,是会影响内网访问Internet的,一般都是既可以建立虚拟专用网,也可以访问Internet,所以这个问题也要解决。

需求如下:

1, 192.168.2.0/24 네트워크 세그먼트 192.168.1.0/24 사무실 지사 가상 사설 네트워크를 통해 서로 통신 헤드 및 R2 라우터이고 공중 네트워크에 액세스하지 않는 두 부분의 영향 (공용 네트워크 액세스 제어를 달성하는 데 필요한 PAT 포트에서 복잡한 기술 구현)는 라우터 R2상의 라우팅을 구성하지 않는다.

구성을 시작합니다 :

하나는 자신의 인터페이스 주소 관련 구성 ,이 상세히 기록되지 않으며, 개방형 인터페이스를 다음과 같이 인터페이스 IP 주소 형식은 구성 :

라우터 구성의 인터페이스 IP 주소

R1#conf t
R1(config)#in f0/0
R1(config-if)#ip add 200.0.0.1 255.255.255.0
R1(config-if)#no sh

GNS3 시뮬레이터 PC의 IP 주소를 구성

PC1> ip 192.168.1.1 192.168.1.254     #配置IP及网关

도 2에서, R1 라우터 구성 :

R1(config)#ip route 0.0.0.0 0.0.0.0 200.0.0.2     #配置默认路由
#'以下是配置ISAKMP策略(也就是管理连接的配置)'
R1(config)#crypto isakmp policy 1    #策略序列号为“1”,范围是1~10000,数值越小,优先级越高
R1(config-isakmp)#encryption aes   #配置加密算法
R1(config-isakmp)#hash  sha    #hash命令指定验证过程中采用的散列算法
R1(config-isakmp)#authentication pre-share   #声明设备认证方式为“预先共享密钥”
R1(config-isakmp)#group 2   #采用DH算法的强度为group2
R1(config-isakmp)#lifetime 10000   #可选,管理连接生存周期,默认为86400s(24小时)
R1(config-isakmp)#exit
R1(config)#crypto isakmp key 6 2019.com address 201.0.0.2  #配置“预先共享密钥”
#'下面是数据连接配置'
R1(config)#access-list 101 permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255    #定义虚拟专用网保护的流量   
R1(config)#crypto ipsec transform-set test-set ah-sha-hmac esp-aes #数据连接协商参数,“test-set”是自定义的名称
R1(cfg-crypto-trans)#mode tunnel   #可选,配置为隧道模式,默认就是隧道模式
R1(cfg-crypto-trans)#exit
R1(config)#crypto map test-map 1 ipsec-isakmp    #将数据连接相关配置设定为MAP,“test-map”是自定义的名字
% 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 201.0.0.2    #虚拟专用网对端地址
R1(config-crypto-map)#set transform-set test-set    #将数据连接关联刚才创建的传输集
R1(config-crypto-map)#match address 101   #匹配的ACL
R1(config-crypto-map)#int f0/0     #进入外部接口
R1(config-if)#crypto map test-map      #应用在外网接口
#'下面是要解决内部主机访问互联网问题'
R1(config-if)#access-list 102 deny   ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255   #拒绝虚拟专用网的流量
R1(config)#access-list 102 permit ip any any    #放行其他任何流量
R1(config)#ip nat inside source list 102 int f0/0 overload    #采用端口复用的PAT方式,解决内网访问互联网的问题
#'下面是进入相关接口启用NAT功能'。
R1(config)#int f0/0
R1(config-if)#ip nat outside 
R1(config-if)#in f1/0
R1(config-if)#ip nat inside 

주 : 이후 NAT 및 VPN 트래픽, NAT 우선 순위 경기, 가상 사설망 일치 한 후, 그래서 PAT 일을 상단에, 가상 개인 네트워크 트래픽을 거부있을 때.

3 R3 라우터 구성 :

인해 라우터 R1과 R3 또는 구성에 이하 동일 (또는 구성 많은 그렇지 않으면, 가상 사설 네트워크를 구축하는 것이 불가능하고, 사용되는 이러한 공유 키 알고리즘으로, 동일 함), 다음과 같은 코멘트 아니다

R3(config)#ip route 0.0.0.0 0.0.0.0 201.0.0.1
R3(config)#crypto isakmp policy 1
R3(config-isakmp)#encryption aes
R3(config-isakmp)#hash  sha
R3(config-isakmp)#authentication pre-share
R3(config-isakmp)#group 2
R3(config-isakmp)#lifetime 10000
R3(config-isakmp)#exit
R3(config)#crypto isakmp key 6 2019.com address 200.0.0.1
R3(config)#access-list 101 permit ip 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255       
R3(config)#crypto ipsec transform-set test-set ah-sha-hmac esp-aes
R3(cfg-crypto-trans)#mode tunnel
R3(cfg-crypto-trans)#exit
R3(config)#crypto map test-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 200.0.0.1
R3(config-crypto-map)#set transform-set test-set
R3(config-crypto-map)#match address 101
R3(config-crypto-map)#int f0/0
R3(config-if)#crypto map test-map
R3(config-if)#
*Mar  1 00:51:55.511: %CRYPTO-6-ISAKMP_ON_OFF: ISAKMP is ON
R3(config-if)#$ 102 deny   ip 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255    
R3(config)#access-list 102 permit ip any any
R3(config)#ip nat inside source list 102 int f0/0 overload
R3(config)#int f0/0
R3(config-if)#ip nat outside
R3(config-if)#in f1/0
R3(config-if)#ip nat inside 

이 시점에서 구성, 당신은 상호 운용성 PC1과 PC2 (가상 사설 네트워크 효과)를 달성 할 수 있고, R1 및 R3 라우터는 라우터 R2에 기본 경로를 가지고 있지만, 두 개의 PC, 당신도 알다시피, 라우터 R2 Ping 할 수 있지만, R2 라우터 어떠한 경로 192.168.1.0없고 PAT의 역할 2.0 세그먼트한다. 당신은 자신을 테스트 Ping 할 수 있습니다.

일부 명령 4는 구성을 볼 수 있습니다 :

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的接口等。

V. 요약

  1. 너무 많은 기술, 알고리즘 및 관련 기술의 일련의, 오류가 너무 간단 문제 해결이되지 않을 수 있기 때문에, 당신은 모든 구성을 볼 수있는 "쇼 실행"명령을 사용할 수 있습니다, 다음, 두 개의 라우터 구성과 일치하지 않습니다 제어 재구성.
  2. NAT 및 가상 개인 네트워크 트래픽이 존재하는 경우, 그것은 ACL을 확장하여, PAT 매핑을 수행 할 때 NAT는, 가상 사설망 경기 후, 그래서 지점 네트워크로 향하는 가상 사설 네트워크에서 트래픽을 거부 일치에 우선 순위를 부여합니다에주의를 기울여야한다, R1 폐기 향하는 패킷에는 라우팅 라우터 192.168.2.0/24 없으므로, 그렇지 않으면 직접 PAT 후 순방향 결국 이어질 것이다.

--------이 문서의 끝 지금까지 읽어 주셔서 감사합니다 --------

추천

출처blog.51cto.com/14154700/2429736