SRX的3种NAT模式运用在×××站点

2020-01-06 15:35:33 浏览数 (1)

瞻博(Juniper)的SRX建立×××站点比较简单,NAT的运用也简单,我要谈的是他们之间的联合运用。

要求的情况:

本地A和一个地方B建立×××站点连接,一个远程地方C通过专线到达本地,该远程只有到达本地A的路由,而且不能添加路由。要求远程C通过本地A访问×××站点B。

先来看一下×××站点的配置,虽说很简单,还是贴一下配置。该SRX是11.4R6.6的版本

security {     ike {         proposal pre-g2-aes128-sha1 {             authentication-method pre-shared-keys;             dh-group group2;             authentication-algorithm sha1;             encryption-algorithm aes-128-cbc;             lifetime-seconds 28800;         }         policy RemoteIKE {             mode main;             proposals pre-g2-aes128-sha1;             pre-shared-key ascii-text "*****************"; ## SECRET-DATA         }

        gateway RemoteGW {             ike-policy RemoteIKE;             address 36.*.*.89;

            external-interface ge-0/0/0;             version v1-only;         }

    ipsec {         proposal esp-3des-sha1 {             protocol esp;             authentication-algorithm hmac-sha1-96;             encryption-algorithm 3des-cbc;             lifetime-seconds 3600;         }

        policy g2-esp-3des-sha1 {             perfect-forward-secrecy {                 keys group2;             }             proposals esp-3des-sha1;         }

        *** Remote××× {             bind-interface st0.2;             ***-monitor {                 optimized;             }             ike {                 gateway RemoteGW;                 ipsec-policy g2-esp-3des-sha1;             }             establish-tunnels on-traffic;         }

 routing-options {    static {             route 0.0.0.0/0 next-hop 122.*.*.185;             route 172.24.60.0/24 next-hop st0.2;          }

  }

看到这里,估计能看出来×××站点B的地址就是172.24.60.0/24,远程C的地址是172.16.0.0/16,本地A是172.18.0.0/16,远程C只有到172.26.0.0/16的路由,而没有到172.24.60.0/24,同样×××站点B也没有到远程C的路由,那么不能用了?

NAT的联合运用可以解决这个问题。

SRX的NAT分3大类,source、destination、static,源地址NAT里面可以再分为地址池和接口两种,就是把源地址替换成地址池的地址还是指定接口的地址,destination和static很相似,都是换目的地址的,但是有区别,destination用地址池,是轮换着使用的,static则是定位固化变换。另外说一下他们3个的执行顺序,静态〉目的〉源,还要说一下他们和其它的执行顺序,路由是低于NAT的,×××是低于路由的(这里用的是基于路由的×××站点),最终执行的顺序是:静态NAT〉目的NAT〉策略〉源NAT〉路由〉×××。

这里第一次出现了策略,因为牵扯到NAT的变换,到底是用变换前的地址还是后呢?

就以本例来说明。

C地点是172.16.0.0/16,我们让C访问172.18.60.0/24,这样就可以到达本地A了,在A通过源地址NAT转换把源地址为172.18.12.0/24,通过静态NAT转换把172.18.60.0/24为172.24.60.0/24,这样就变成本地A访问×××站点的B了。

那么策略的地址该如何?

172.16.0.0/16-〉172.24.60.0/24

我们看到排序,静态NAT是先执行,先把目的地址换成了172.24.60.0/24,这时候的包源地址是172.16.0.0/16,目的是172.24.60.0/24,以这样的状态过策略,策略通过之后继续源NAT,把源地址换成172.18.12.0/24,到×××站点B之后就是符合要求的。

我们来看一下配置。

    nat {         source {             pool ManCo {                 routing-instance {                     ManCo;                 }                 address {                     172.18.12.0/24;                 }                 port no-translation;             }             rule-set ShangHai-ManCo {                 from zone ManIN;                 to zone ManCo×××;                 rule ShangHai {                     match {                         source-address 172.16.0.0/24;                         destination-address 172.24.60.0/24;                     }                     then {                         source-nat {                             pool {                                 ManCo;                             }                         }                     }                 } 172.16.0.0/24             }         }         static {             rule-set 5rt {                 from zone ManIN;                 rule 5rt-r {                     match {                         destination-address 172.18.60.0/24;                     }                     then {                         static-nat {                             prefix {                                 172.24.60.0/24;                             }                         } 172.16.0.0/24                     }                 }             }         }     } 静态NAT的变换是一一对应,访问172.18.60.1就变172.24.60.1,访问172.18.60.2就变172.24.60.2,这和源地址NAT最大不同, 172.16.0.1的源地址访问同一个172.24.60.1,一次session访问变成172.18.12.1,2次session的时候就变成172.18.12.2了。

0 人点赞