瞻博网络SRX都支持 基于路由和基于策略的VPN,可根据您的不同情况在不同情况下使用 environments and requirements. 

他们之间的区别(KB15745)

在基于策略的VPN隧道中,隧道被视为对象,与源,目的地,应用程序和操作一起,包括允许VPN通信的隧道策略。在基于策略的VPN配置中,隧道策略通过名称专门引用VPN隧道。

对于基于路由的VPN,策略不专门引用VPN隧道。而是,该策略引用目标地址。当安全设备进行路由查找以找到必须通过其发送流量才能到达该地址的接口时,它会通过安全隧道(ST)接口找到路由,该接口绑定到特定的VPN隧道。

因此,对于基于策略的VPN隧道,可以将隧道视为策略构建中的元素。使用基于路由的VPN隧道,您可以将隧道视为传递流量的方法,并将策略视为允许或拒绝该流量传递的方法。

使用它们的方案:  

以下是实现基于路由的VPN的原因:

  • 当流量通过VPN传输时,需要发生源或目标NAT(NAT-src或NAT-dst)。
  • 两个LAN之间有重叠的子网或IP地址。
  • 网络中使用了星型VPN拓扑。
  • 主和备用VPN是必需的。
  • 动态路由协议(例如OSPF,RIP或BGP)正在VPN上运行。
  • 需要通过VPN访问远程站点上的多个子网或网络。
以下是实现基于策略的VPN的原因:
  • 远程VPN设备是非杜松设备。
  • 跨VPN的远程站点仅需要访问一个子网或一个网络。

基于路由的VPN配置过程

我以前的帖子(在Juniper SRX之间使用PKI构建基于路由的IPSec 虚拟专用网)显示了两个SRX防火墙之间的基于路由的VPN配置。这篇文章将介绍如何使用基于策略的VPN的过程。

拓扑结构:

两个Juniper SRX防火墙。
FW1:
外部接口Reth0.0 = 192.168.9.18
内部接口Reth1.0 = 10.9.138.18

FW2:
外部接口Reth0.0 = 10.19.132.18
内部接口Reth1.0 = 10.19.136.18

将在FW1和FW2之间建立VPN。防火墙策略将使用VPN隧道在10.9.138.0/24和10.19.136.0/24之间进行通信

我们将在两台机器10.9.138.21和10.19.136.16之间生成流量,以测试FW1和FW2上的此vpn配置。

步骤1:在10.9.132.18和192.168.9.18之间路由

@FW1:
[电子邮件 protected]>显示配置路由选项
静态的 {
   路由0.0.0.0/0下一跳10.9.12.1; / *这是fxp0.0 mgmt接口* /
   路由10.19.132.0/24下一跳192.168.9.1; / *已添加此路由以到达vpn对等网关* /
}


@FW2
[电子邮件 protected]>显示配置路由选项 
静态的 {
   路由0.0.0.0/0下一跳10.19.12.1;
   路由192.168.9.0/24下一跳10.19.132.1;
}

步骤2:阶段1 IKE配置

@FW1:

ike {

   提议ike-p1-proposal {
       身份验证方法预共享密钥;
        dh-group group2;
       认证算法sha1;
       加密算法aes-128-cbc;
    }
   政策ike-p1-policy {
        mode main;
       提议ike-p1-proposal;
       预共享密钥ascii文本“ $ 9 $ O / -1REyXxdsgJSds2gJZn / 9p1RylK”; ##秘密数据
    }
   网关gw-montreal-pin {       
       ike-policy ike-p1-policy;
       地址10.19.132.18;
       外部接口reth0.0;
    }
}
@FW2

ike {

   提议ike-p1-proposal {
       身份验证方法预共享密钥;
        dh-group group2;
       认证算法sha1;
       加密算法aes-128-cbc;
    }
   政策ike-p1-policy {
        mode main;
       提议ike-p1-proposal;
       预共享密钥ascii文本“ $ 9 $ MkgXxdaJDmT7-Dk.mTQEcSe8Xdbs”; ##秘密数据
    }
    gateway gw-k-pin {          
       ike-policy ike-p1-policy;
       地址192.168.9.18;
       外部接口reth0.0;
    }
}

步骤3:阶段2 IPSec配置

@FW1:

ipsec {

   提案ipsec-p1-proposal {
        protocol esp;
       身份验证算法hmac-sha-256-128;
       加密算法aes-128-cbc;
       寿命秒3600;
    }
   policy ipsec-p2-policy {
       完美转发保密{
            keys group2;
        }
       提案ipsec-p1-proposal;
    }
    vpn ike-vpn-m {
        ike {
            gateway gw-m-pin;
           ipsec-policy ipsec-p2-policy;
        }
    }
}

@FW2

ipsec {

   提案ipsec-p1-proposal {
        protocol esp;
       身份验证算法hmac-sha-256-128;
       加密算法aes-128-cbc;
    }
   policy ipsec-p2-policy {
       完美转发保密{
            keys group2;
        }
       提案ipsec-p1-proposal;
    }
    vpn ike-vpn-k {
        ike {
            gateway gw-k-pin;
           ipsec-policy ipsec-p2-policy;
        }
    }
}

步骤4:政策设定

@FW1:
    从区域T到区域D {
        policy p-vpn-1 {
            match {
               源地址n_10.9.138.0-24;
               destination-address n_10.19.136.0-24;
                application any;
            }
            then {
                permit {
                    tunnel {
                       ipsec-vpn ike-vpn-m;
                       对策略p-vpn-2;
                    }
                   应用服务{
                        idp;
                    }
                }
                log {
                    session-close;
                }
            }
        }
        policy 7 {
            match {
                source-address any;
               目的地址
                application any;
            }
            then {
                deny;
            }
        }
    }
   从区域D到区域T {
        policy p-vpn-2 {
            match {
               源地址n_10.19.136.0-24;
               destination-address n_10.9.138.0-24;
                application any;
            }
            then {
                permit {
                    tunnel {
                       ipsec-vpn ike-vpn-m;
                       对策略p-vpn-1;
                    }
                   应用服务{
                        idp;
                    }
                }
                log {
                    session-close;
                }
            }
        }
        policy 9 {
            match {
                source-address any;
               目的地址
                application any;
            }
            then {
                deny;
            }
        }
    }
}

@FW2

从区域D到区域P {
    policy p-vpn-1 {
        match {
           源地址n_10.9.138.0-24;
           destination-address n_10.19.136.0-24;
            application any;
        }
        then {
            permit {
                tunnel {
                   ipsec-vpn ike-vpn-markham;
                   对策略p-vpn-2;
                }
            }
        }
    }
    policy 3 {
        match {
            source-address any;
           目的地址
            application any;
        }
        then {
            deny;
        }
    }
}
从区域P到区域D {
    policy p-vpn-2 {
        match {
           源地址n_10.19.136.0-24;
           destination-address n_10.9.138.0-24;
            application any;
        }
        then {
            permit {
                tunnel {
                   ipsec-vpn ike-vpn-markham;
                   对策略p-vpn-1;
                }
            }
        }
    }
    policy 4 {
        match {
            source-address any;
           目的地址
            application any;
        }
        then {
            deny;
        }
    }
}

验证:

在10.19.136.16和10.9.138.21之间执行ping操作不起作用。不幸的是,这意味着使用上述配置,vpn隧道仍无法启动。

故障排除:

[电子邮件 protected]# 显示比较   
[编辑安全性]
+   flow {
+       traceoptions {
+           file J1;
+          标记basic-datapath;
+          封包过滤器Match-Traffic {
+              源前缀10.19.136.9/32;
+              目的地前缀10.9.138.21/32;
+           }
+       }
+   }

[电子邮件 protected]# 运行显示日志J1
8月14日21:37:46 21:37:46.231681:CID-1:RT:过滤器1名称设置了Match-Traffic2
8月14日21:37:46 21:37:46.231068:CID-1:CTRL:flow1:速率限制更改为0
8月14日21:37:46 21:37:46.231561:CID-1:CTRL:flow11:目标ID设置为2
8月14日21:37:55 21:37:55.341589:CID-2:RT:<10.19.136.9/1->10.9.138.21/50019;1>匹配的过滤器Match-Traffic:
8月14日21:37:55 21:37:55.341589:CID-2:RT:数据包[72] ipid = 50020,@ 0x436a041cAug 14 21:37:55 21:37:55.341589:CID-2:RT:-flow_process_pkt :(thd 3):flow_ctxt类型15,公共标志0x0,mbuf 0x436a0200,rtbl_idx = 0 8月14 21:37:55 21:37:55.341589:CID-2:RT:流处理程序包快速ifl 68 in_ifp reth1.0
8月14日21:37:55 21:37:55.341589:CID-2:RT: reth1.0:10.19.136.9->10.9.138.21,icmp,(8/0)
8月14日21:37:55 21:37:55.341589:CID-2:RT:查找流:表0x59b36da8,哈希34415(0xffff),sa 10.19.136.9,da 10.9.138.21,sp 1,dp 50019,proto 1,托克7
8月14日21:37:55 21:37:55.341589:CID-2:RT: 找不到会话,请从第一个路径开始。 in_tunnel – 0x0,from_cp_flag – 0
8月14日21:37:55 21:37:55.341589:CID-2:RT: flow_first_create_session
8月14日21:37:55 21:37:55.341589:CID-2:RT: flow_first_in_dst_nat:在<reth1.0>, out <N/A>dst_adr 10.9.138.21,sp 1,dp 50019                     
8月14日21:37:55 21:37:55.341589:CID-2:RT: 如果选择接口reth1.0作为传入nat。
8月14日21:37:55 21:37:55.341589:CID-2:RT:flow_first_rule_dst_xlate:DST无xlate:0.0.0.0(0)至10.9.138.21(50019)
8月14日21:37:55 21:37:55.341589:CID-2:RT:flow_first_routing:vr_id 0,调用flow_route_lookup():src_ip 10.19.136.9,x_dst_ip 10.9.138.21,在ifp reth1.0中,在ifp N / A中sp 1,dp 50019,ip_proto 1,tos 0
8月14日21:37:55 21:37:55.341890:CID-2:RT:正在进行DESTINATION地址路由查找
                                     
8月14日21:37:55 21:37:55.341916:CID-2:RT: 从P(reth1.0 in 1)路由(x_dst_ip 10.9.138.21)到 fxp0.0,下一跳:10.19.12.1
                                     
8月14日21:37:55 21:37:55.341916:CID-2:RT: 数据包丢失,out_ifp为空或在空区域              
8月14日21:37:55 21:37:55.341961:CID-2:RT:Out-ifp fxp0.0为空或位于空区域
8月14日21:37:55 21:37:55.341961:CID-2:RT: 流查找会话返回错误。
8月14日21:37:55 21:37:55.341961:CID-2:RT:-flow_process_pkt rc 0x7(fp rc -1)
8月14日21:37:55 21:37:55.814250:CID-2:RT:jsf sess关闭通知                         
8月14日21:37:55 21:37:55.814302:CID-2:RT:flow_ipv4_del_flow:sess 69453,在哈希32中
8月14日21:37:55 21:37:55.814315:CID-2:RT:ha_ifp:fxp0.0
8月14日21:38:04 21:38:04.521249:CID-2:RT:<10.19.136.9/0->10.9.138.21/1024;1>匹配的过滤器Match-Traffic:
8月14日21:38:04 21:38:04.521249:CID-2:RT:packet [84] ipid = 9853, @0x4368eb9c

显然,数据包是通过fxp0.0发出的。基本我以前的帖子 防火墙(安全网关)如何处理数据包? (交通流) ,对于Juniper SRX防火墙,路由查找发生在策略之前。

在这种情况下,在vpn策略能够使数据包进入vpn隧道之前,数据包默认通过防火墙fxp0.0接口发出。

[电子邮件 protected]# 跑步秀路线
inet.0:9个目的地,10条路线(9个活动,0个抑制,0个隐藏)
+ =活动路线,– =上次活动,* =两者

0.0.0.0/0         * [静态/ 5] 1天06:08:38
                    >通过fxp0.0到10.19.12.1
10.19.12.0/24     * [直接/ 0] 1天06:08:38
                    > via fxp0.0
                   [直接/ 0] 1d 06:08:38
                    > via fxp0.0
10.19.12.10/32   * [本地/ 0] 1天06:08:38
                      Local via fxp0.0
10.19.12.15/32   * [本地/ 0] 1天06:08:38
                      Local via fxp0.0
10.19.132.0/24   * [直接/ 0] 1天06:08:38
                    > via reth0.0
10.19.132.18/32   * [本地/ 0] 1天06:08:38
                      Local via reth0.0
10.19.136.0/24   * [直接/ 0] 1天06:08:38
                    > via reth1.0
10.19.136.18/32   * [本地/ 0] 1天06:08:38
                      Local via reth1.0
192.168.9.0/24   * [静态/ 5] 06:31:41
                    >通过reth0.0达到10.19.132.1

解决方案:

目前,防火墙只有一条特定的路由用于对等网关。将会添加另一条特定的静态路由来添加有趣的路由 通过外部接口的流量。

[电子邮件 protected]# 节目
静态的 {
   路由0.0.0.0/0下一跳10.19.12.1;
   路由192.168.9.0/24下一跳10.19.132.1;
}

[电子邮件 protected]# 设置静态路由10.9.138.0/24下一跳10.19.132.1

添加此路由后,在进行有趣的流量测试时,隧道立即建立。

{primary:node1}
[电子邮件 protected]> 显示安全性ike安全性关联
node1:
————————————————————————
指数  State  Initiator cookie  Responder cookie  Mode           Remote Address
11102161以上   5184a7627510f777  bba6d0242cb15a30  Main           192.168.9.18  

[电子邮件 protected]> 显示安全性ipsec安全性关联
node1:
————————————————————————
 活动隧道总数:1
  ID    Algorithm       SPI      Life:sec/kb  Mon lsys Port  Gateway
  <2    ESP:aes-128 / sha256 1cca52a5 3567 / unlim – root 500   192.168.9.18  
  >2    ESP:aes-128 / sha256 30b03088 3567 / unlim – root 500   192.168.9.18  

参考:

1. 在Juniper SRX之间使用PKI构建基于路由的IPSec 虚拟专用网
2. 配置示例:基于策略的VPN

通过 约翰

关于“ SRX防火墙之间基于策略的IPSec 虚拟专用网配置”的2条思考
  1. 这意味着只要存在于Internet上的任何地方,就可以访问在您所在的地区/国家或州屏蔽的任何网站。 洪流VPN 确实做到了;它会通过具有访问权限的远程服务器来更改您的IP地址,该服务器对位置受限制的torrent文件,链接或网站具有访问权限。

发表评论