快压

当前位置:首页 > 电脑技巧 > 正文

如何配置预共享密钥的IPSec VPN

浏览次数:|更新日期:2014年08月04日

  今天我们来在cisco路由器上配置一下基于预共享密钥的IPSec VPN网络。
  首先我们来了解一下什么是VPN?
  简单的说,VPN 是一种通过Internet或公共网络受保护的链接。
  由VPN组成的线路并不是物理存在的,而是通过技术手段模拟出来的,既是虚拟的。不过这种虚拟的专用网络技术却可以在公用线路中为两台计算机建立一个逻辑上的专用通道,它具有良好的保密和不受干扰性使双方能进行自由而安全的点对点的连接。
  VPN相比较专线网络的优势:
  连接可靠,可保证数据传输的安全性。
  利用公共网络进行信息通讯,可降低成本,提高网络资源利用率.
  支持用户实时、异地接入,可满足不断增长的移动业务需求。
  支持QoS功能,可为VPN用户提供不同等级的服务质量保证。
  防止数据在公网传输中被窃听
  防止数据在公网传输中被篡改
  可以验证数据的真实来源
  成本低廉(相对于专线、长途拨号)
  应用灵活、可扩展性好。
  本次试验的拓扑图如下:
  路由器的端口连接图如下:
  Router1 F0/1 Router2 F0/1
  Router1 F0/0 pc 1
  Router2 F0/0 pc 2
  一、路由基本配置
  首先我们来对路由一进行一下基本配置。F0/1是连接外网的端口,IP地址为202.106.1.1 F0/0是连接内网的,IP地址为192.168.1.1
  R1:
  Router>en
  Router#conf t
  Router(config)#hostname r1
  r1(config)#int f0/1
  r1(config-if)#ip addr 202.106.1.1 255.255.255.0
  r1(config-if)#no shut
  r1(config-if)#exit
  r1(config)#int f0/0
  r1(config-if)#ip addr 192.168.1.1 255.255.255.0
  r1(config-if)#no shut
  r1(config-if)#exit
  在路由器一上配置静态路由。目标网段+子网掩码+下一跳IP地址。这里配置其他的路由协议也可以,比如:ospf、rip、eigrp等等。
  r1(config)#ip route 192.168.10.0 255.255.255.0 202.106.1.2
  r1(config)#exit
  接下来我们来对路由二进行一下基本配置。F0/1是连接外网的端口,IP地址为202.106.1.2 F0/0是连接内网的,IP地址为192.168.10.1。最后配置一下静态路由,目标网段+子网掩码+下一跳IP地址
  R2:
  Router>en
  Router#conf t
  Router(config)#hostname r2
  r2(config)#int f0/1
  r2(config-if)#ip addr 202.106.1.2 255.255.255.0
  r2(config-if)#no shut
  r2(config-if)#exit
  r2(config)#int f0/0
  r2(config-if)#ip addr 192.168.10.1 255.255.255.0
  r2(config-if)#no shut
  r2(config-if)#exit
  r2(config)#ip route 192.168.1.0 255.255.255.0 202.106.1.1
  r2(config)#exit
  路由器的基本配置步骤完成后,我们用命令show ip route 来查看一下路由表的信息。发现路由一已经学到了其他网段的信息了。经过查看路由二的路由表,它也正常学习到了其他网段的信息了(学计算机基础知识www.woaidiannao.com)
  既然已经学习到了其他的路由信息,那么肯定能通讯了,只是现在通讯是肯定是不安全的,用抓包器可以很轻松的获取到密码。接下来我们就是要在路由器一与路由器二的通信信道上建立一条VPN专用线路,让其更安全的传输数据。
  二、配置IPSec和IKE
  IPSec 提供两个安全协议:
  AH (Authentication Header)报文认证头协议
  MD5(Message Digest 5)
  SHA1(Secure Hash Algorithm)
  ESP (Encapsulation Security Payload)封装安全载荷协议
  DES (Data Encryption Standard)
  3DES
  其他的加密算法:Blowfish ,blowfish、 cast
  IKE全称:Internet Key Exchange
  IKE用于IPSec安全联盟及密钥的自动化管理,定时为IPSec协商密钥,创建、删除安全联盟等
  IKE采用两个阶段的ISAKMP:
  协商认证通信信道,为第二阶段的通信提供安全保证。即建立IKE SA
  使用IKE SA 协商建立IPSec SA,用于IPSec通信。
  IKE(Internet Key Exchange)因特网密钥交换协议是IPSEC的信令协议,为IPSec提供了自动协商交换密钥、建立安全联盟的服务,能够简化IPSec的使用和管理,大大简化IPSec的配置和维护工作。IKE不是在网络上直接传送密钥,而是通过一系列数据的交换,最终计算出双方共享的密钥,并且即使第三者截获了双方用于计算密钥的所有交换数据,也不足以计算出真正的密钥。IKE具有一套自保护机制,可以在不安全的网络上安全的分发密钥,验证身份,建立IPSEC安全联盟。
  R1:
  r1#conf t
  r1(config)#crypto isakmp enable———–启用IKE
  r1(config)#crypto isakmp policy 1————创建IKE策略、注意:优先级1—10000 1为最高级别
  r1(config-isakmp)#encryption 3des————指定价码算法
  r1(config-isakmp)#authentication pre-share———–指定身份认证方法
  注意: per-share共享密钥
  rsa-encr–RSA加密
  rsasig—RSA签名
  r1(config-isakmp)#group 1———–指定密钥交换参数
  注意: group 1 表示768位密钥
  group 2 表示1024位密钥
  group 5 表示1536位密钥
  r1(config-isakmp)#lifetime 28800———–指定SA的生存期(单位秒)
  r1(config-isakmp)#exit
  r1(config)#crypto isakmp key cisco addres 202.106.1.2————指定身份认证使用的密钥和该共享密钥对应的IP地址
  r1(config)#crypto ipsec transform-set r1set esp-3des———创建IPSec变换集,对用户安全保护使用的协议
  r1(cfg-crypto-trans)#exit
  r1(config)#access-list 100 permit ip 192.168.1.0 0.0.0.255 192.168.10.0 0.0.0.255——-指定需要通过的ipsec进行保护的通信网段
  r1(config)#crypto map r1map 1 ipsec-isakmp—— ——–创建加密图
  r1(config-crypto-map)#set peer 202.106.1.2————指定加密用于与哪个对端VPN建立连接,也就是路由器二的公网IP地址
  r1(config-crypto-map)#set transform-set r1set———–指定加密图使用的ipsec变换集
  r1(config-crypto-map)#match address 100———–指定访问列表
  r1(config-crypto-map)#exit
  指定加密图应用哪些接口上。一般应用在连接外网时候的端口上。
  r1(config)#int f0/1
  r1(config-if)#crypto map r1map
  在路由器二上对IPSec和IKE进行一般的配置步骤
  R2:
  r2>en
  r2#conf t
  r2(config)#crypto isakmp enable——启用IKE
  r2(config)#crypto isakmp policy 1——–创建IKE策略。注意:优先级1—10000 1为最高级别
  r1(config-isakmp)#encryption 3des——-指定加码算法
  r2(config-isakmp)#authentication pre-share——-指定身份认证方法
  注意: per-share共享密钥
  rsa-encr–RSA加密
  rsasig—RSA签名
  r2(config-isakmp)#group 1———-指定密钥交换参数
  注意: group 1 表示768位密钥
  group 2 表示1024位密钥
  group 5 表示1536位密钥
  r2(config-isakmp)#lifetime 28800——–指定SA的生存期(单位秒)
  r2(config-isakmp)#exit
  r2(config)#crypto isakmp key cisco addres 202.106.1.1——指定身份认证使用的密钥和该共享密钥对应的IP地址
  r2(config)#crypto ipsec transform-set r2set esp-3des—–创建IPSec变换集,对用户安全保护使用的协议
  r2(cfg-crypto-trans)#exit
  r2(config)#access-list 100 permit ip 192.168.10.0 0.0.0.255 192.168.1.0 0.0.0.255—–指定需要通过的ipsec进行保护的通信网段
  r2(config)#crypto map r2map 1 ipsec-isakmp——创建加密图
  r2(config-crypto-map)#set peer 202.106.1.1——指定加密用于与哪个对端VPN建立连接,也就是路由器一的公网IP地址
  r2(config-crypto-map)#set transform-set r1set——-指定加密图使用的ipsec变换集
  r2(config-crypto-map)#match address 100——指定访问列表
  r2(config-crypto-map)#exit
  r2(config)#exit
  指定加密图应用哪些接口上
  r2(config)#int f0/1
  r2(config-if)#crypto map r2map
  配置完成后,我们进行测试:
  首先我们根据拓扑图所示 配置好PC1 PC2的IP 并于网关进行PING测试,发现网络正常!能够互相访问!
  我们在路由器上用扩展ping命令来打通VPN通道。建立好VPN通道后,不用扩展ping命令来打通VPN通道那是没用的。如下所示:我们来测试一下VPN通信。
  在路由器一上输入命令ping
  r1#ping———-输入ping直接回车
  Protocol [ip]:———-因为使用的是IP地址,直接回车就可以了
  Target IP address: 192.168.10.2———输入目标地址的IP
  Repeat count [5]:————–ping包的数量
  Datagram size [100]:———–数据包的大小
  Timeout in seconds [2]:————超时时间,默认的是2秒
  Extended commands [n]: y——–是否要使用扩展ping命令,一定要填YES
  Source address or interface: 192.168.1.1——-使用那个源地址或接口去ping,我们使用192.168.1.1
  接下来全部选择默认的即可,直接回车就行
  Type of service [0]:
  Set DF bit in IP header? [no]:
  Validate reply data? [no]:
  Data pattern [0xABCD]:
  Loose, Strict, Record, Timestamp, Verbose[none]:
  Sweep range of sizes [n]:
  Type escape sequence to abort.
  Sending 5, 100-byte ICMP Echos to 192.168.10.2, timeout is 2 seconds:
  Packet sent with a source address of 192.168.1.1
  !!!!!———————-结果是可以ping通的
  Success rate is 100 percent (5/5), round-trip min/avg/max = 12/56/104 ms
  我们在路由器二上输入命令ping,回车后直接输入PC1的IP地址,根据提示进行下一步
  r2#ping————–输入ping命令直接回车就行
  Protocol [ip]:————– 因为使用的是IP地址,直接回车就可以了
  Target IP address: 192.168.1.2———–输入目标地址的IP
  Repeat count [5]:————–ping包的数量
  Datagram size [100]:———–数据包的大小
  Timeout in seconds [2]:————–超时时间,默认时间是2秒
  Extended commands [n]: y————–选择YES,使用扩展ping命令
  Source address or interface: 192.168.10.1———–使用那个源地址或接口去ping,我们使用192.168.10.1
  接下来全部选择默认的即可,直接回车就行
  Type of service [0]:
  Set DF bit in IP header? [no]:
  Validate reply data? [no]:
  Data pattern [0xABCD]:
  Loose, Strict, Record, Timestamp, Verbose[none]:
  Sweep range of sizes [n]:
  Type escape sequence to abort.
  Sending 5, 100-byte ICMP Echos to 192.168.1.2, timeout is 2 seconds:
  Packet sent with a source address of 192.168.10.1
  !!!!!—————————结果是可以ping通的
  Success rate is 100 percent (5/5), round-trip min/avg/max = 16/39/68 ms
  至此,IPSEC vpn配置圆满完成!
  ———————
  以下是2个路由器的完整配置文件,供大家参考:
  R1#show run
  Building configuration…
  Current configuration : 892 bytes
  !
  version 12.4
  no service timestamps log datetime msec
  no service timestamps debug datetime msec
  no service password-encryption
  !
  hostname R1
  !
  !
  !
  !
  !
  !
  !
  !
  crypto isakmp policy 1
  encr 3des
  hash md5
  authentication pre-share
  lifetime 28800
  !
  crypto isakmp key cisco address 202.106.1.2
  !
  !
  crypto ipsec transform-set rlset esp-3des
  !
  crypto map rlmap 1 ipsec-isakmp
  set peer 202.106.1.2
  set transform-set rlset
  match address 100
  !
  !
  !
  !
  !
  !
  !
  !
  !
  interface FastEthernet0/0
  ip address 192.168.1.1 255.255.255.0
  duplex auto
  speed auto
  !
  interface FastEthernet0/1
  ip address 202.106.1.1 255.255.255.0
  duplex auto
  speed auto
  crypto map rlmap
  !
  interface Vlan1
  no ip address
  shutdown
  !
  ip classless
  ip route 192.168.10.0 255.255.255.0 202.106.1.2
  !
  !
  access-list 100 permit ip 192.168.1.0 0.0.0.255 192.168.10.0 0.0.0.255
  !
  !
  !
  !
  !
  line con 0
  line vty 0 4
  login
  !
  !
  !
  end
  R2#
  Router#show run
  Building configuration…
  Current configuration : 892 bytes
  !
  version 12.4
  no service timestamps log datetime msec
  no service timestamps debug datetime msec
  no service password-encryption
  !
  hostname R2
  !
  !
  !
  !
  !
  !
  !
  !
  crypto isakmp policy 1
  encr 3des
  hash md5
  authentication pre-share
  lifetime 28800
  !
  crypto isakmp key cisco address 202.106.1.1
  !
  !
  crypto ipsec transform-set r2set esp-3des
  !
  crypto map r2map 1 ipsec-isakmp
  set peer 202.106.1.1
  set transform-set r2set
  match address 100
  !
  !
  interface FastEthernet0/0
  ip address 192.168.10.1 255.255.255.0
  duplex auto
  speed auto
  !
  interface FastEthernet0/1
  ip address 202.106.1.2 255.255.255.0
  duplex auto
  speed auto
  crypto map r2map
  !
  interface Vlan1
  no ip address
  shutdown
  !
  ip classless
  ip route 192.168.1.0 255.255.255.0 202.106.1.1
  !
  !
  access-list 100 permit ip 192.168.10.0 0.0.0.255 192.168.1.0 0.0.0.255
  !
  !
  line con 0
  line vty 0 4
  login
  !
  !
  !
  end
  R2#