本篇中我们将介绍另一种对接方式——基于路由方式的IPSec对接。基于路由方式的IPSec是应用在虚拟隧道接口上,通过配置路由引导被保护的数据流通过虚拟隧道接口传输到对端,这是与策略方式的IPSec在配置上的主要区别,至于其他的配置区别在本篇中后续将一一给出。 组网如下图所示。 网络环境描述如下: 1、NGFW和Juniper设备分别作为总部和分部的出口网关连接Interent。 2、总部与分部之间的通信通过建立基于路由方式的IPSec隧道来完成,以此来保护内网流量之间的通信。 IPSec VPN的配置涉及许多参数,并且通信双方需要完全匹配一致,故给出下列数据规划,以供参考。
² 认证方式:预共享密钥 ² 认证算法:sha1 ² 加密算法:3des ² DH Group:group2
² 版本:IKEv1 ² 协商模式:主模式 ² 预共享密钥:Test!1234
² 安全协议:ESP ² 认证算法:sha1 ² 加密算法:3des ² 封装模式:传输模式
² 认证方式:预共享密钥 ² 认证算法:sha1 ² 加密算法:3des ² DH group:group2 说明:MD5、SHA-1、DES和3DES算法级别低。推荐使用更高级的算法,因为本次使用的Juniper设备支持的高级算法有限,本例仅作为对接参考。
² 版本:IKEv1 ² 协商模式:主模式 ² 预共享密钥:Test!1234
² 安全协议: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,只配置隧道源地址,不用配置隧道目的地址。 原文出自华为论坛【强叔拍案惊奇】
|