2015年8月23日 星期日

Cisco NAT 設定

NAT(Network Address Translation)
(目的:由內部private IP → 外部public IP)


NAT 功能是為了處理IPv4 IP不足的問題,原理如下:
NAT內有張NAT table,會記錄內部IP與外部IP的對應

當內部IP有封包需發送至INTERNET的IP時,
會先將封包送經Route 的NAT機制,將其內部IP轉換為對外的IP發送出去

當對方將封包回傳回至Router時,NAT會將封包IP轉換為內部的IP回傳至來源IP。

NAT的運作方式:

一、State Mapping (永久有效)(手動設定)
  適用於架設伺服器設定
  1. L3: 1 public IP→ 1 private IP(等量IP)

  2. L4: 多 public IP +多 public port  → 1 private IP +多 public port

二、Dynamic Mapping (暫時有效)(動態分配)
  適用於一般裝置
  1. L3: 多 public IP→ 少 private IP(等量IP)
  ※當IP不足時只能等待NAT釋放其他空閒的IP


  2. L4: 多 public IP +多 public port  → 1 private IP +多 public port
  ※簡稱PAT(),為目前NAT大多採用的方式,能使用IP多餘的port傳輸封包。CISCO稱為overloading。

題外話:NAT的威力有多大呢?大到IPv6難產,因為它減少了大量IP的需求。說是這樣說,部過在亞太地區的IP也已經供不應求,預計於2018內更換為IPv6,不過本人也看這口號看了十多年了,跳票也不意外。

NAT 欄位

內部區域(Inside Local)
 

外部區域(Outside Local)



外部全域(Outside Global)

內部全域(Inside Global)


NAT設定

一、State Mapping (永久有效)(手動設定)
  1. L3: 1 public IP→ 1 private IP(等量IP)
定義IP

R0(config)#ip nat inside source state 192.168.1.1 140.116.86.125
//設定192.168.1.1連外為140.116.86.125,型態為state


設定介面
內部
R0(config)#int f0/0
R0(config-if)#ip nat inside

外部
R0(config)#int s0/0/0
R0(config-if)#ip nat outside




  2. L4: 多 public IP +多 public port  → 1 private IP +多 public port
R0(config)#ip nat inside source state tcp 192.168.1.1 23 140.116.86.125 23000
//設定192.168.1.1 23 port連外為140.116.86.125 23000,型態為state

設定介面(同上)


二、Dynamic Mapping (暫時有效)(動態分配)
 
  1. L3: 多 public IP→ 少 private IP(等量IP)
定義外部IP

R0(config)#ip nat pool CarSale 192.168.4.10 192.168.4.32 netmask 255.255.255.0
//CarSale Pool變數名稱
定義內部IP:Stadard Access-List
R0(config)#access-list 5 permit 192.168.1.0  0.0.0.255 //whlie card
R0(config)#ip nat inside source list 5 pool CarSale

設定介面(同上)



  2. L4: 多 public IP +多 public port  → 1 private IP +多 public port
R0(config)#ip nat pool CarSale 192.168.4.10 192.168.4.10 netmask 255.255.255.0

定義內部IP:Stadard Access-List
R0(config)#access-list 5 permit 192.168.1.1  0.0.0.255 //whlie card
R0(config)#ip nat inside source list 5 pool CarSale overload
※pool也不一定要使用,可以改為介面的方式如:
R0(config)#ip nat inside source list 5 interface serial 0/0/0 overload
  
設定介面(同上)

沒有留言:

張貼留言