瞻博(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了。