设为首页收藏本站language 语言切换
查看: 2249|回复: 1
收起左侧

学习分享—基于路由方式的IPSec对接(IKE自协商)

[复制链接]
发表于 2015-11-23 09:55:10 | 显示全部楼层 |阅读模式
  本篇中我们将介绍另一种对接方式——基于路由方式的IPSec对接。基于路由方式的IPSec是应用在虚拟隧道接口上,通过配置路由引导被保护的数据流通过虚拟隧道接口传输到对端,这是与策略方式的IPSec在配置上的主要区别,至于其他的配置区别在本篇中后续将一一给出。
  组网如下图所示。

                               
登录/注册后可看大图
  网络环境描述如下:
  1、NGFW和Juniper设备分别作为总部和分部的出口网关连接Interent。
  2、总部与分部之间的通信通过建立基于路由方式的IPSec隧道来完成,以此来保护内网流量之间的通信。
  IPSec VPN的配置涉及许多参数,并且通信双方需要完全匹配一致,故给出下列数据规划,以供参考。

项目

数据

描述


Juniper SSG  320M

IKE安全提议

²  认证方式:预共享密钥

²  认证算法:sha1

²  加密算法:3des

²  DH Group:group2

-


IKE对等体

²  版本:IKEv1

²  协商模式:主模式

²  预共享密钥:Test!1234

预共享密钥通信双方必须完全一致。


IPSec安全提议

²  安全协议:ESP

²  认证算法:sha1  

²  加密算法:3des  

²  封装模式:传输模式

-


NGFW

IKE安全提议

²  认证方式:预共享密钥

²  认证算法:sha1

²  加密算法:3des

²  DH group:group2

说明:MD5、SHA-1、DES和3DES算法级别低。推荐使用更高级的算法,因为本次使用的Juniper设备支持的高级算法有限,本例仅作为对接参考。


IKE对等体

²  版本:IKEv1

²  协商模式:主模式

²  预共享密钥:Test!1234

预共享密钥通信双方必须完全一致。


IPSec安全提议

²  安全协议:ESP

²  认证算法:sha1  

²  加密算法:3des  

²  封装模式:传输模式

说明:MD5、SHA-1、DES和3DES算法级别低。推荐使用更高级的算法,因为本次使用的Juniper设备支持的高级算法有限,本例仅作为对接参考。



  上面的组网和数据规划与前一篇的策略方式完全一致,但是配置时还是有诸多不同,强叔将一一指出,请小伙伴们关注。
  【配置步骤】
  配置Juniper SSG 320M
  1、配置接口IP地址和安全区域。
  Juniper-> set interface ethernet0/1 zone untrust
  Juniper-> set interface ethernet0/1 ip 2.2.2.2/24
  Juniper-> set interface ethernet0/2 zone trust
  Juniper-> set interface ethernet0/2 ip 192.168.0.1/24
  Juniper-> set interface ethernet1 nat
  Juniper-> set interface tunnel.1 zone untrust
  Juniper-> set interface tunnel.1 ip unnumbered interface ethernet0/1
  【强叔点评】上面说过基于路由的IPSec是通过虚拟隧道接口来传输业务流量,所以要提前创建虚拟Tunnel接口。Tunnel接口可以手动配置接口地址,也可以借用出接口地址为本Tunnel接口地址。
  2、配置基于路由的IPSec VPN。
  Juniper-> set ike gateway to_ngfw address 1.1.1.1 main outgoing-interface ethernet0/1 preshare Test!1234 proposal pre-g2-3des-sha
  Juniper-> set vpn jun-ngfw gateway to_ngfw sec-level compatible
  Juniper-> set vpn jun-ngfw bind interface tunnel.1
  Juniper-> set vpn jun-ngfw proxy-id local-ip 192.168.0.0/24 remote-ip 192.168.10.0/24 any
  【强叔点评】与基于策略的IPSec VPN不同的是,增加了绑定Tunnel接口和配置代理ID的命令。绑定Tunnel接口,是让保护的数据流都经过Tunnel接口进行传输;代理ID通信双方必须匹配,这就要求对等体双方代理ID中指定的服务相同,并且本端指定的本地IP地址与对端指定的远程IP地址相同。
  对于基于路由的IPSec,代理ID是需要用户配置的。
  对于基于策略的IPSec,Juniper设备将从定义保护数据流的策略中指定的源地址、目标地址和服务自动导出代理ID。3、定义需要加密的数据流。
  # 定义地址集。
  Juniper-> set address trust juniper 192.168.0.0/24
  Juniper-> set address untrust ngfw 192.168.10.0/24
  # 配置策略,定义需要加密的数据流。
  Juniper-> set policy top name to-ngfw from trust to untrust juniper ngfw any permit
  Juniper-> set policy top name from-ngfw from untrust to trust ngfw juniper any permit
  【强叔点评】策略方式和路由方式的IPSec VPN定义保护数据流不同之处在于:
  基于策略的IPSec VPN中,VPN被当作对象,与源、目的、服务和动作一起,被引用于定义保护数据流的策略中(命令格式:set policy top name “jun-ngfw” from trust to untrust juniper ngfw any tunnel vpn jun-ngfw)。各参数含义如下:
  地址集juniper和ngfw:为源和目的地址
  any:表示任何服务
  tunnel vpn:指引用配置的IPSec VPN
  动作:命令中没有体现,是取缺省值permit,即允许数据流通过基于路由的IPSec VPN中,定义保护数据流的策略不引用VPN(没有tunnel vpn参数)。通过在Juniper设备上查找路由,指引流量找到VPN绑定的Tunnel接口进行转发。
  4、配置路由 。
  # 配置缺省路由,下一跳地址为2.2.2.1 。
  Juniper-> set vrouter trust-vr route 0.0.0.0/0 interface ethernet0/1 gateway 2.2.2.1
  # 配置访问总部网络路由,出接口为tunnel.1 。
  Juniper-> set vrouter trust-vr route 192.168.10.0/24 interface tunnel.1
  Juniper-> set vrouter trust-vr route 192.168.10.0/24 interface null metric 10
  配置NGFW。
  1、配置接口IP地址和安全区域。
  # 配置GigabitEthernet 1/0/1的IP地址。
  system-view
  [NGFW] interface GigabitEthernet 1/0/1
  [NGFW-GigabitEthernet1/0/1] ip address 1.1.1.1 24
  [NGFW-GigabitEthernet1/0/1] quit
  [NGFW] firewall zone untrust
  [NGFW-zone-untrust] add interface GigabitEthernet 1/0/1
  [NGFW-zone-untrust] quit
  # 配置GigabitEthernet 1/0/2的IP地址。
  [NGFW] interface GigabitEthernet 1/0/2
  [NGFW-GigabitEthernet1/0/2] ip address 192.168.10.1 24
  [NGFW-GigabitEthernet1/0/2] quit
  [NGFW] firewall zone trust
  [NGFW-zone-trust] add interface GigabitEthernet 1/0/2
  [NGFW-zone-trust] quit
  2、配置安全策略(根据实际组网进行配置,此处略)。
  3、配置基于路由的IPSec VPN。
  【强叔点评】NGFW中基于路由的IPSec VPN不用定义保护的数据流。
  # 配置IKE安全提议。参数保持与Juniper设备一致,使用缺省参数可以不配置。
  [NGFW] ike proposal 1
  [NGFW-ike-proposal-1] authentication-method pre-share
  [NGFW-ike-proposal-1] authentication-algorithm sha1
  [NGFW-ike-proposal-1] encryption-algorithm 3des
  [NGFW-ike-proposal-1] quit
  # 配置IKE peer,预共享密钥保持与Juniper设备一致。
  [NGFW] ike peer juniper
  [NGFW-ike-peer-juniper] ike-proposal 1
  [NGFW-ike-peer-juniper] pre-shared-key Test!1234
  [NGFW-ike-peer-juniper] quit
  【强叔点评】基于路由的IPSec在IKE peer中不能配置remote-address。
  # 配置IPSec安全提议,使用缺省参数可以不配置。
  [NGFW] ipsec proposal 1
  [NGFW-ipsec-proposal-1] esp authentication-algorithm sha1
  [NGFW-ipsec-proposal-1] esp encryption-algorithm 3des
  [NGFW-ipsec-proposal-1] quit
  # 配置IPSec安全框架。IPSec安全框架仅在基于路由的IPSec中配置。
  [NGFW] ipsec profile juniper
  [NGFW-ipsec-profile-juniper] ike-peer juniper
  [NGFW-ipsec-profile-juniper] proposal 1
  [NGFW-ipsec-profile-juniper] quit
  # 配置Tunnel接口,并应用IPSec安全框架。
  [NGFW] interface Tunnel 1
  [NGFW-Tunnel1] tunnel-protocol ipsec
  [NGFW-Tunnel1] ip address 10.10.10.1 24
  [NGFW-Tunnel1] source 1.1.1.1
  [NGFW-Tunnel1] ipsec profile jun
  [NGFW-Tunnel1] service-manage ping permit
  [NGFW-Tunnel1] quit
  [NGFW] firewall zone untrust
  [NGFW-zone-untrust] add interface Tunnel 1
  [NGFW-zone-untrust] quit
  【强叔点评】Tunnel接口中协议类型为IPSec,指定隧道源地址,引入IPSec安全框架。其中需要注意的是不能配置隧道目的地址,否则IPSec将建立不成功。
  4、配置路由。
  # 配置缺省路由,下一跳地址为1.1.1.2
  [NGFW] ip route-static 0.0.0.0 0.0.0.0 1.1.1.2
  # 配置访问分部网络路由,出接口为Tunnel1
  [NGFW] ip route-static 192.168.0.0 24 tunnel 1
  【强叔验证】
  配置完成后,我们在Juniper设备上查看IPSec VPN的基本信息,如下:
  Juniper_SSG_320M-> get vpn jun-ngfw
  Name Gateway Mode RPlay 1st Proposal Monitor Use Cnt Interface
  --------------- --------------- ---- ----- -------------------- ------- ------- -------
  jun-ngfw to-ngfw tunl No nopfs-esp-3des-sha off 0 eth0/1
  all proposals: nopfs-esp-3des-sha nopfs-esp-3des-md5 nopfs-esp-des-sha nopfs-esp-des-md5
  peer gateway = 1.1.1.1
  outgoing interface
  IPv4 address 2.2.2.2.
  vpn monitor src I/F, dst-IP, optimized NO, rekey OFF
  l2tp over ipsec use count <0>
  idle timeout value <0>
  vpnflag <00010022>
  df-bit
  sa_list <00000002>
  single proxy id, check disabled, init done, total <1>
  proxy id:
  local 192.168.0.0/255.255.255.0, remote 192.168.10.0/255.255.255.0, proto 0, port 0/0
  Bound tunnel interface: tunnel.1
  Next-Hop Tunnel Binding table
  Flag Status Next-Hop(IP) tunnel-id VPN
  DSCP-mark: disabled
  通过显示信息,可以看到与配置的IPSec参数完全一致。同时,可以看到配置的代理ID内容。接下来在Juniper设备上带源地址ping NGFW的GE1/0/2接口地址,模拟需要保护的数据流。
  Juniper_SSG_320M-> ping 192.168.10.1 from ethernet0/2
  Type escape sequence to abort
  Sending 5, 100-byte ICMP Echos to 192.168.10.1, timeout is 1 seconds from loopback.10
  .!!!!
  Success Rate is 100 percent (5/5), round-trip time min/avg/max=1/1/2 ms
  显示信息显示能够ping通,此时在NGFW上执行display ike sa的IKE协商方式建立的安全联盟的配置信息,可看到IKE SA建立成功:
  [NGFW] display ike sa
  Spu board slot 11, cpu 0 ike sa information :
  Conn-ID Peer VPN Flag(s) Phase
  --------------------------------------------------------------------
  50333692 2.2.2.2 0 RD v1:2
  50333690 2.2.2.2 0 RD v1:1
  Number of SA entries : 2
  Number of SA entries of all cpu : 2
  Flag Description:
  RD--READY ST--STAYALIVE RL--REPLACED FD--FADING TO--TIMEOUT
  HRT--HEARTBEAT LKG--LAST KNOWN GOOD SEQ NO. BCK--BACKED UP
  在NGFW上执行display ipsec sa命令,显示以下信息表示IPSec安全联盟建立成功。
  [NGFW] display ipsec sa
  ===============================
  Interface: Tunnel1
  ===============================
  -----------------------------
  IPSec profile name: "juniper"
  Mode : PROF-Template
  -----------------------------
  Connection ID : 50333692
  Encapsulation mode: Tunnel
  Tunnel local : 1.1.1.1
  Tunnel remote : 2.2.2.2
  [Outbound ESP SAs]
  SPI: 1086383938 (0x40c0e742)
  Proposal: ESP-ENCRYPT-3DES-192 ESP-AUTH-SHA1
  SA remaining key duration (kilobytes/sec): 0/3578
  Max sent sequence-number: 5
  UDP encapsulation used for NAT traversal: N
  SA encrypted packets (number/kilobytes): 4/0
  [Inbound ESP SAs]
  SPI: 3536419380 (0xd2c97a34)
  Proposal: ESP-ENCRYPT-3DES-192 ESP-AUTH-SHA1
  SA remaining key duration (kilobytes/sec): 0/3578
  Max received sequence-number: 4
  UDP encapsulation used for NAT traversal: N
  SA decrypted packets (number/kilobytes): 4/0
  Anti-replay : Enable
  Anti-replay window size: 1024
  【强叔总结】对比策略方式的IPSec VPN,路由方式的IPSec VPN配置上有以下几点不同:
  1、 通信双方需创建虚拟隧道接口,并在隧道接口上应用IPSec VPN。
  2、 Juniper设备上要手动配置代理ID,策略方式的IPSec是通过在定义数据流的策略中自动导出代理ID,不需要用户操作。
  3、 增加隧道路由的配置,路由的出接口是指向Tunnel接口。
  4、 NGFW设备上不需要定义保护的数据流,即不需要配置ACL。
  5、 NGFW设备在配置IKE Peer时,不能配置对端地址,即配置remote-address命令。
  6、 NGFW设备上不是配置IPSec安全策略(ipsec policy),而是配置IPSec安全框架(ipsec profile)。
  7、NGFW设备上配置Tunnel接口时,协议类型选择IPSec,只配置隧道源地址,不用配置隧道目的地址。
  原文出自华为论坛【强叔拍案惊奇】

发表于 2015-11-23 10:51:14 | 显示全部楼层
感谢楼主分享
沙发 2015-11-23 10:51:14 回复 收起回复
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-2-2 19:50 , Processed in 0.056556 second(s), 11 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

快速回复 返回顶部 返回列表