A-A+

Cisco 路由器实现IPSEC VPN配置(站点到站点)

2015年11月24日 站长资讯 暂无评论

这次cisco路由器的试验,主要是完成IPSEC和VPN配置,从一个站点通过互联网访问另外一个站点。

目标:

分公司172.16.10.0/24,网络的主机可以通过VPN访问总部服务器10.10.33.0/24,但不能访问Internet

分公司的其它客户端(172.16.0.0/24)可以访问Internet 。

实验设备:

1、Cisco路由器(IOS为12.4)。

2、客户机3台,IP地址,见拓扑图,F0/0连接外网。

实验步骤:

R1上的配置

  1. Router(config)#hostname R1  
  2. R1(config)#int f0/0  
  3. R1(config-if)#ip add 100.0.0.1 255.255.255.0  
  4. R1(config-if)#no sh  
  5. R1(config-if)#int f0/1  
  6. R1(config-if)#ip add 172.16.10.254 255.255.255.0  
  7. R1(config-if)#no sh  
  8.    
  9. //配置默认路由  
  10. R1(config-if)#ip route 0.0.0.0 0.0.0.0 100.0.0.2  

在IPSEC中,IKE被用来自动协商SA和密钥,如果被关闭用crypto isakmp enable启用

  1. R1(config)#crypto isakmp policy 1     //建立IKE协商策略,编号为1  
  2. R1(config-isakmp)#encryption 3des    //设置加密使用的算法为3DES  
  3. R1(config-isakmp)#hash sha    //设置密钥认证的算法为sha  
  4. R1(config-isakmp)#authentication pre-share     //告诉router要先使用预共享密钥,手工指定  
  5. R1(config-isakmp)#group 2    
  6.   
  7.   
  8. R1(config-isakmp)#lifetime 10000 //声明SA的生存时间为10000,超过后SA将重新协商  
  9. R1(config-isakmp)#exit  
  10. R1(config)#crypto isakmp key 0 test address 100.0.0.2  
  11. //设置加密密钥为test,要求二端的密码相匹配,和对端地址(总部Router地址)  

配置访问控制列表

注意:

当一个路由器接收到发往另一个路由器的内部网络报文时,IPSEC被启动,访问列表被用于确定哪些业务 将启动IKE和IPSEC协商Crypto访问控制列表必须是互为镜像的,如:R1加密了所有流向R2的TCP流量,则R2必须加密流回
R1的所有TCP流量

  1. R1(config)#access-list 100 permit ip 172.16.10.0 0.0.0.255 10.10.33.0 0.0.0.255  
  2. //定义从172.16.10.0网络发往10.10.33.0的报文全部加密  
  3.    
  4. //配置IPSEC传输模式,用于定义VPN隧道的认证类型,完整性与负载加密  
  5.    
  6. R1(config)#crypto ipsec transform-set vpn-set esp-des ah-sha-hmac  
  7. R1(cfg-crypto-trans)#mode tunnel //可选  
  8. R1(cfg-crypto-trans)#exit  
  9. R1(config)#crypto ipsec security-association lifetime seconds 1800 //定义生存周期1800秒   
  10.    
  11. //配置caypt map(加密映射)  
  12. R1(config)#crypto map test-map 1 ipsec-isakmp //创建crypto map  
  13. //IPSEC-ISAKMP表示采用自动协调,名为test-map,编号1为优先级,越小优先级越高  
  14. R1(config-crypto-map)#set peer 100.0.0.2 //设定crypto map所对应的VPN链路对端IP  
  15. R1(config-crypto-map)#set transform-set vpn-set //指定crypto map所使用传输模式名  
  16. R1(config-crypto-map)#match address 100 //指定此crypto map使用的访问控制列表  
  17. R1(config-crypto-map)#exit  
  18.    
  19. //将映射应用到对应的接口上,VPN就可生效了  
  20. R1(config)#int f0/0  
  21. R1(config-if)#crypto map test-map  
  22.    
  23. //配置PAT  
  24. R1(config)#access-list 1 deny 172.16.10.0 0.0.0.255 //研发部不能访问Internet  
  25. R1(config)#access-list 1 permit 172.16.0.0 0.0.255.255 //其它部门可以访问Internet  
  26. R1(config)#ip nat inside source list 1 interface f0/0 overload //在F0/0上启用PAT  
  27.    
  28. R1(config)#int f0/0  
  29. R1(config-if)#ip nat outside  
  30. R1(config)#int f0/1  
  31. R1(config-if)#ip nat inside    

R2上的配置(总部上路由器设置)

  1. R2(config)#int f0/0  
  2. R2(config-if)#ip add 100.0.0.2 255.255.255.0  
  3. R2(config-if)#no sh  
  4. R2(config)#int f0/1  
  5. R2(config-if)#ip add 10.10.33.254 255.255.255.0  
  6. R2(config-if)#no sh  
  7.    
  8. R2(config-if)#ip route 0.0.0.0 0.0.0.0 100.0.0.1  
  9.    
  10. //IPSEC VPN的配置,含义与R1基本相同  
  11. R2(config)#crypto isakmp policy 1 //建立IKE协商策略,编号为1  
  12. R2(config-isakmp)#encryption 3des  
  13. R2(config-isakmp)#hash sha //设置密钥认证的算法为sha  
  14. R2(config-isakmp)#authentication pre-share //告诉router要先使用预共享密钥,手工指定  
  15. R2(config-isakmp)#group 2  
  16. R2(config-isakmp)#lifetime 10000  
  17. R2(config-isakmp)#exit  
  18.    
  19. R2(config)#crypto isakmp key 0 test address 100.0.0.1  
  20. //设置共享密钥为test,要求二端的密码相匹配,和对端地址(总部Router地址)  
  21. R2(config)#access-list 100 permit ip 10.10.33.0 0.0.0.255 172.16.10.0 0.0.0.255  
  22. //定义从10.10.33.0网络发往172.16.10.0的报文全部加密   
  23. R2(config)#crypto ipsec transform-set vpn-set esp-des ah-sha-hmac //加密算法二边要匹配  
  24. R2(cfg-crypto-trans)#mode tunnel  
  25. R2(cfg-crypto-trans)#exit  
  26.    
  27. R2(config)#crypto ipsec security-association lifetime seconds 1800  
  28. R2(config)#crypto map test-map 1 ipsec-isakmp  
  29. //IPSEC-ISAKMP表示采用自动协调,名为test-map,编号1为优先级,越小优先级越高  
  30. R2(config-crypto-map)#set peer 100.0.0.1 //设定crypto map所对应的VPN链路对端IP  
  31. R2(config-crypto-map)#set transform-set vpn-set //指定crypto map所使用传输模式名  
  32. R2(config-crypto-map)#match address 100 //指定此crypto map使用的访问控制列表  
  33. R2(config-crypto-map)#exit  

应用到接口,生效

R2(config-crypto-map)#int f0/0

R2(config-if)#crypto map test-map

相关验证结果的查看命令

显示ISAKMP协商策略的结果

R2#sh crypto isakmp policy

查看管理连接SA的状态

R2#sh crypto isakmp sa

显示IPSEC变换集

R2#sh crypto ipsec transform-set

显示数据数据连接SA的细节信息

R2#sh crypto ipsec sa

显示Crypto Map的信息

R2#sh crypto map

标签:

给我留言