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