CCIE---IPSEC-VPN

IPSEC VPN--将两个站点之间建立直连通信

企业级 VPN:IKEv2 Tunnel;EZ VPN;GET VPN;SSL VPN [类似于拨号](基于工业标准,进行数据加密)


GRE通用封装隧道

(dot1q封装:对VLAN打上tag进行区分;PPPoE:通过session(ID)进行认证区分[在二层与三层之间进行封装]);IPv6(在IPv6数据前封装IPv4头部)

Tunnel技术:

在和ISP互联的SITE边界出口设备上(可以是路由器也可以是专用的VPN设备),将数据包重新进行封装,将公网的IP源目地址封装到原有的私网数据包源目地址外部,形成外部头部封装。原来的私网源目地址成为了DATA部分。另一端SITE设备接收这样的双层头部数据包后,拆除外部后进行内部转发。

依旧进行IP包路由转发‘。穿越ISP形成一条逻辑上点到点的六安路,成为隧道。

SITE-A与SITE-B作为互联网出口:NAT/PAT;PPPoE

2、VPN网关:INTERNET上不能出现私网路由(INTERNET路由上写进私有路由),使用TURNNEL路由,

  1. 底层公网地址互联互通(使用各种路由协议,和ISP协商)
  2. 创建隧道

show run int tunnel XXX

R1(config)#int tunnel 10
R1(config-if)#ip unnumbered e0/0 
//借用某一个物理地址作为TUNNEL地址
R1(config-if)#  tunnel source  61.100.1.1
R1(config-if)#tunnel destination 21.15.13.3 
//隧道的源目地址,数据到达TUNNEL后,根据TUNNEL 的source和destination 来封装
R1(config-if)#do wr
R1(config)#ip route 3.3.3.3 255.255.255.255 tunnel 10
//如果缺少这条路由数据包,则在site边界丢包;借由改路由数据包,进入TUNNEL口封装后,再从物理口转发
R3(config)#int tunnel 10
*Sep 10 02:32:13.260: %LINEPROTO-5-UPDOWN: Line protocol on Interface Tunnel10, changed state to down
R3(config-if)#ip unnumbered e0/1
R3(config-if)#tunnel source 21.15.13.3
R3(config-if)#tunnel destination 61.100.1.1
*Sep 10 02:32:44.454: %LINEPROTO-5-UPDOWN: Line protocol on Interface Tunnel10, changed state to up
R3(config-if)#ip route 1.1.1.1 255.255.255.255 tunn 10

总体思路与静态路由协议环境下的GRE隧道相似

  • SITE-A和SITE-B tunnel口地址在同一网段,tunnel口宣告OSPF,组播转单播的形式来建立Tunnel口之间的OSPF,使得动态路由协议可以跨越运营商INTERNET网络
R5(config)#int tunnel 10
R5(config-if)#ip add 172.100.100.1 255.255.255.0
R5(config-if)#tunnel source 56.1.1.5
R5(config-if)#tunnel destination 67.1.1.7
R5(config-if)#
*Sep 10 05:40:36.095: %LINEPROTO-5-UPDOWN: Line protocol on Interface Tunnel10, changed state to up



interface Tunnel10
 ip address 172.100.100.1 255.255.255.0
 ip ospf 10 area 1
 tunnel source 56.1.1.5
 tunnel destination 67.1.1.7
//SITE-A路由
      5.0.0.0/32 is subnetted, 1 subnets
C        5.5.5.5 is directly connected, Loopback0
      7.0.0.0/32 is subnetted, 1 subnets
O        7.7.7.7 [110/21] via 56.1.1.6, 01:01:30, Ethernet0/1
      56.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C        56.1.1.0/24 is directly connected, Ethernet0/1
L        56.1.1.5/32 is directly connected, Ethernet0/1
      67.0.0.0/24 is subnetted, 1 subnets
O        67.1.1.0 [110/20] via 56.1.1.6, 01:01:30, Ethernet0/1
      172.100.0.0/16 is variably subnetted, 2 subnets, 2 masks
C        172.100.100.0/24 is directly connected, Tunnel10
L        172.100.100.1/32 is directly connected, Tunnel10
      192.168.10.0/24 is variably subnetted, 2 subnets, 2 masks
C        192.168.10.0/24 is directly connected, Ethernet0/0
L        192.168.10.5/32 is directly connected, Ethernet0/0
O     192.168.20.0/24 [110/1010] via 172.100.100.2, 00:02:59, Tunnel10

IPSEC:网络安全工业标准;加密框架,对数据的安全保障

提供了三大方面的保护:

  1. 私密性:对数据进行加密,这样一来在传输过程中即使截取了数据包,如果不知道加密算法,也没有办法恢复成明文。
  2. 完整性:保证数据在传输的过程当中没有被第三方篡改。
  3. 源认证(不可否认性):确保发送数据包的对方,是合法的源

IPSEC定义的标准

  • 散列函数:MD5,HASH

完整性校验特点:

  1. 固定大小 无论数据包任意大小经过MD5,SHA-1计算后,得到的散列值,大小都是一样的128bit(MD5)SHA-1(160bit)
  2. 雪崩效应:原始数据只要发生变化,计算得到的散列值会有巨大的变化
  3. 单向,只能从原始数据基于散列函数求出散列值,基于散列值想要恢复明文的数据几乎不可能
  4. 冲突避免:几乎找不到另一个数据能和当前计算的数据拥有相同的散列值
  • 加密算法:DES 3DES AES(对称加密算法)
  • 优点:速度快,较为安全,数据包紧凑
  • 缺点:明文传输共享秘钥,容易出现中途劫持和窃听问题;参与加密的用户数量越多,秘钥数量越多;秘钥数量越多对于中心站点来说,秘钥的保存管理难度加大不支持数字签名和不可否认性。
  • 不对称加密算法(RSA(数字签名和数字证书的主要协议) DH(IPSEC产生秘钥的主要协议)ECC(椭圆曲线算法))

公私钥机制;公钥是公开在网络中传递的秘钥KEY;私钥是由各个站点独立保存的秘钥;数据有公钥加密,只能由私钥解密;私钥机密则只能用公钥加密

  • 优点:安全;不需要担心交换的公钥被劫持,所以非对称加密体系的秘钥分发更为安全;秘钥数量不会因为参与者增加而变多,每台设备都是自己的私钥和一个公钥,支持数字签名和不可否认性
  • 缺点:因为使用了单向函数,所以加密/解密的速度非常慢 
  • 封装协议:AH(认证头部)/ESP(封装安全静荷)
  • 封装模式:隧道模式/传输模式
  • 秘钥有效期:

IKE(两个阶段,三种模式)

IPSEC基本配置:

  • 阶段一(形成安全的隧道)完成安全关联的协商:ISAKMP SA(基于UDP 500发送)
Router(config)#crypto isakmp policy ?
  <1-10000>  Priority of protection suite

Router(config)#do show crypto isakmp policy

Global IKE policy
Protection suite of priority 10
        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


Router(config-isakmp)#authentication pre-share 
Router(config)#crypto isakmp policy 10                                       
Router(config-isakmp)#authentication pre-share 
Router(config-isakmp)#encryption aes 
Router(config-isakmp)#hash ?
  md5     Message Digest 5
  sha     Secure Hash Standard
  sha256  Secure Hash Standard 2 (256 bit)
  sha384  Secure Hash Standard 2 (384 bit)
  sha512  Secure Hash Standard 2 (512 bit)
Router(config-isakmp)#hash md5 ?
  <cr>
Router(config-isakmp)#group ?
  1   Diffie-Hellman group 1 (768 bit)
  14  Diffie-Hellman group 14 (2048 bit)
  15  Diffie-Hellman group 15 (3072 bit)
  16  Diffie-Hellman group 16 (4096 bit)
  19  Diffie-Hellman group 19 (256 bit ecp)
  2   Diffie-Hellman group 2 (1024 bit)
  20  Diffie-Hellman group 20 (384 bit ecp)
  21  Diffie-Hellman group 21 (521 bit ecp)
  24  Diffie-Hellman group 24 (2048 bit, 256 bit subgroup)
  5   Diffie-Hellman group 5 (1536 bit)
Router(config-isakmp)#do show crypto isakmp policy

Global IKE policy
Protection suite of priority 10
        encryption algorithm:   AES - Advanced Encryption Standard (128 bit keys).
//是IKE协议中的一部分,定义了安全隧道的基本框架;Isakmp policy中的加密/完整性校验等参数,
//全部只对建立隧道所需的数据来进行加密(交换的秘钥/预共享秘钥)传输。和后续要转发的业务数据流没有任何的关系

        hash algorithm:         Message Digest 5
        authentication method:  Pre-Shared Key
        Diffie-Hellman group:   #2 (1024 bit)
        lifetime:               86400 seconds, no volume limit
Router(config)#crypto isakmp key cisco address 21.15.13.1
//发送预共享秘钥来认证对方,发送的秘钥要一致
  • 第二阶段(IPSEC SA的形成): 协商业务数据加密算法/完整性校验算法;具体加密的数据包(感兴趣流);加密头部
Router(config)#crypto ipsec transform-set LW esp-aes esp-sha-hmac 
//定义转换集transform-set名称为LW
//对数据进行加密使用何种算法:esp-aes
//对数据进行完整性校验算法:esp-sha-hmac

Router(config)#crypto map cisco 10 ipsec-isakmp 
% NOTE: This new crypto map will remain disabled until a peer
        and a valid access list have been configured. 
 
Router(config-crypto-map)#set peer 61.100.1.1                     
//目的地址 ,设置封装二层头部的目的地址 

Router(config-crypto-map)#set transform-set LW  
//设置转换集,流量根据转换集中定义的加密/完整性校验方式来进行加密和完整性校验     
       
Router(config-crypto-map)#match address vpn                       
//匹配感兴趣流(hit)

Router(config-ext-nacl)#permit ip host 1.1.1.1 host 3.3.3.3
//根据私网环境下的地址,通过访问控制列表来定义感兴趣流

Router(config-ext-nacl)#int e0/0                                  //公网物理接口下启用
Router(config-if)#crypto map cisco
Router(config-if)#
*Sep 10 08:09:52.914: %CRYPTO-6-ISAKMP_ON_OFF: ISAKMP is ON
Router(config)#do ping 3.3.3.3 sour 1.1.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 3.3.3.3, timeout is 2 seconds:
Packet sent with a source address of 1.1.1.1 
..!!!
Success rate is 60 percent (3/5), round-trip min/avg/max = 5/42/116 ms

Router(config-if)#do ping 1.1.1.1 sour 3.3.3.3
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 3.3.3.3 
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 5/5/6 ms
  1. 源目地址的数据包到达SITEB时,匹配默认路由要从公网口转发。此时公网下配置了crypto map XXX 根据map中的感兴趣流VPN进行匹配 远哭地址和感兴趣流匹配成功
  2. 使用MAP下的transform-set XXX的加密方式来进行数据包加密和完整性校验
  3. 根据SET peer的对端来封装对端外部头部

猜你喜欢

转载自blog.csdn.net/qq_39524009/article/details/82585647