xiaomifeng_2015 发表于 2015-11-23 09:55:10

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

  本篇中我们将介绍另一种对接方式——基于路由方式的IPSec对接。基于路由方式的IPSec是应用在虚拟隧道接口上,通过配置路由引导被保护的数据流通过虚拟隧道接口传输到对端,这是与策略方式的IPSec在配置上的主要区别,至于其他的配置区别在本篇中后续将一一给出。  组网如下图所示。https://mmbiz.qlogo.cn/mmbiz/SkXyCL2VFmDXCrrhnPoUL1LPaVGwjO1IZVCTYcQds1FP83cUicuOloxr0ibyJ3JJ7CDIZSZMEmic4ZEUorVDZUB6Q/0?wx_fmt=png  网络环境描述如下:  1、NGFW和Juniper设备分别作为总部和分部的出口网关连接Interent。  2、总部与分部之间的通信通过建立基于路由方式的IPSec隧道来完成,以此来保护内网流量之间的通信。  IPSec VPN的配置涉及许多参数,并且通信双方需要完全匹配一致,故给出下列数据规划,以供参考。

项目数据描述
Juniper SSG320MIKE安全提议²认证方式:预共享密钥²认证算法:sha1²加密算法:3des²DH Group:group2-
IKE对等体²版本:IKEv1²协商模式:主模式²预共享密钥:Test!1234预共享密钥通信双方必须完全一致。
IPSec安全提议²安全协议:ESP²认证算法:sha1²加密算法:3des²封装模式:传输模式-
NGFWIKE安全提议²认证方式:预共享密钥²认证算法: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   interface GigabitEthernet 1/0/1   ip address 1.1.1.1 24   quit   firewall zone untrust   add interface GigabitEthernet 1/0/1   quit  # 配置GigabitEthernet 1/0/2的IP地址。   interface GigabitEthernet 1/0/2   ip address 192.168.10.1 24   quit   firewall zone trust   add interface GigabitEthernet 1/0/2   quit  2、配置安全策略(根据实际组网进行配置,此处略)。  3、配置基于路由的IPSec VPN。  【强叔点评】NGFW中基于路由的IPSec VPN不用定义保护的数据流。  # 配置IKE安全提议。参数保持与Juniper设备一致,使用缺省参数可以不配置。   ike proposal 1   authentication-method pre-share   authentication-algorithm sha1   encryption-algorithm 3des   quit  # 配置IKE peer,预共享密钥保持与Juniper设备一致。   ike peer juniper   ike-proposal 1   pre-shared-key Test!1234   quit  【强叔点评】基于路由的IPSec在IKE peer中不能配置remote-address。  # 配置IPSec安全提议,使用缺省参数可以不配置。   ipsec proposal 1   esp authentication-algorithm sha1   esp encryption-algorithm 3des   quit  # 配置IPSec安全框架。IPSec安全框架仅在基于路由的IPSec中配置。   ipsec profile juniper   ike-peer juniper   proposal 1   quit  # 配置Tunnel接口,并应用IPSec安全框架。   interface Tunnel 1   tunnel-protocol ipsec   ip address 10.10.10.1 24   source 1.1.1.1   ipsec profile jun   service-manage ping permit   quit   firewall zone untrust   add interface Tunnel 1   quit  【强叔点评】Tunnel接口中协议类型为IPSec,指定隧道源地址,引入IPSec安全框架。其中需要注意的是不能配置隧道目的地址,否则IPSec将建立不成功。  4、配置路由。  # 配置缺省路由,下一跳地址为1.1.1.2   ip route-static 0.0.0.0 0.0.0.0 1.1.1.2  # 配置访问分部网络路由,出接口为Tunnel1   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建立成功:   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安全联盟建立成功。   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    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    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,只配置隧道源地址,不用配置隧道目的地址。  原文出自华为论坛【强叔拍案惊奇】

Rockyw 发表于 2015-11-23 10:51:14

感谢楼主分享
页: [1]
查看完整版本: 学习分享—基于路由方式的IPSec对接(IKE自协商)