天天看點

網絡位址轉換--靜态NAT

 網絡位址轉換NAT(Network Address Translation)技術作為延緩IPv4位址枯竭的方法之一,目前已經普遍流行于各種企業網絡之中。NAT技術的出現改變了原來簡答的網絡結構變得複雜,在節省IP位址和保護網絡的同時,也給網絡追蹤和網絡安全帶來了困難。本章主要學習NAT的基本配置,掌握NAT的工作原理以及在企業網絡部署中的應用。

1靜态NAT配置

1.1 實驗目的

(1)了解NAT的工作原理與用途

(2)了解NAT的分類

(3)了解ip nat inside 和ip nat outside的使用

(4)掌握靜态NAT的配置

1.2 實驗原理

1.NAT簡介

    NAT最初定義在RFC1631,用在接入廣域網中,通過修改IP封包的位址資訊,實作将内部網絡的私有位址到外部網絡的公有位址的轉換。NAT的産生原因和無分類域間路由(CIDR)一樣,都是為了減緩IPv4位址耗竭的問題。NAT實作了私有位址到公有位址的轉換,使得企業内部網絡可以使用相同的私有位址,但在對外通信的時候卻可以使用公有位址通信,降低了企業對公有位址的需求。

RFC1918定義了Internet中的私有位址,主要包含以下幾類:

l A類:10.0.0.0~10.255.255.255

l B類:172.16.0.0~172.31.255.255

l C類:192.168.0.0~192.168.255.255

私有位址隻能用于企業網絡的内部通信,不用于Internet的通信,Internet上的路由器會丢棄目的IP為私有位址的封包。私有位址的出現使得每台主機的通信不必都申請公有位址,進而節省了IP位址,有助于緩解IPv4位址的枯竭。

NAT的相關術語:

NAT的一些術語 

l 内部本地位址(Inside Local, IL),是指配置設定給内部網絡主機的IP位址,該位址可能是非法的未向相關機構注冊的IP位址,也可能是合法的私有網絡位址。

l 内部全局位址(Inside Global,IG),合法的全局可路由位址,在外部網絡代表着一個或多個内部本地位址。 

l 外部本地位址(Outside Local,OL),外部網絡的主機在内部網絡中表現的IP位址,該位址是内部可路由位址,一般不是注冊的全局唯一位址。 

l 外部全局位址(Outside Global,OG),外部網絡配置設定給外部主機的IP位址,該位址為全局可路由位址。 

NAT除了應用在位址轉換外,在網絡的遷移和合并、伺服器負載均衡、建立虛拟主機等方面也有很好的應用。

2.NAT分類

   NAT根據其應用主要分成以下幾類:靜态位址映射NAT,動态位址映射NAT、端口映射NAPT、NAT負載均衡。

NAT類型 特點
靜态NAT 一個私有IP固定映射一個公有IP位址,提供内網伺服器的對外通路服務
動态NAT 私有IP映射位址池中的公有IP,映射關系是動态的,臨時的
NAPT 私有IP位址和端口号與同一個公有位址加端口進行映射

靜态轉換NAT是最簡單的方式,它在NAT表中為每個需要轉換的内部位址建立了固定的轉換條目,映射了唯一的全局位址。内部位址與全局位址一一對應。如:192.168.12.2 ---- 200.268.12.2。

網絡位址轉換--靜态NAT

 如圖9-1所示,内網主機A:172.16.10.10發送資料外網主機B:210.38.224.20。在資料到達網絡邊緣NAT路由器之前,封包的源IP為A的IP位址:172.16.10.10,目的IP為B的IP位址:210.38.224.20。封包到達路由器後,路由器會查找NAT映射表,取得172.16.10.10映射的内部全局位址202.80.20.1,繼而将封包的源IP位址替換為202.80.20.1,如圖中資料包2所示。在外網主機B和内網主機A的通信過程中,則會将封包的目的IP位址進行替換。

    靜态映射對外隐藏了内部主機的真實IP位址,起到保護内部主機的作用。靜态NAT還可以讓外部主機通過内部全局位址通路内部的伺服器,在内網需要向外提供網絡服務而又不願意暴露真實IP位址通常使用該類NAT技術。

  其他類型的NAT工作原理在本章的其他小節另有講解。

3.NAT帶來的問題

     NAT技術的出現從一定程度上緩解了IPv4位址衰竭問題,但是NAT也讓主機之間的通信變得複雜,導緻通信效率的降低。NAT的應用帶來了以下限制:

l 影響網絡速度,NAT的應用會使NAT裝置變成網絡的瓶頸

l 跟某些應用不相容,如果一些應用在有效載荷中協商下次會話的IP位址和端口号,NAT将無法對内嵌IP位址進行位址轉換,造成這些程式不能正常運作

l 位址轉換不能處理IP報頭加密的封包

無法實作對IP端到端的路徑跟蹤,經過NAT位址轉換後,對資料包的路徑跟蹤變得非常困難

4.靜态NAT配置步驟

        表1 靜态NAT的配置步驟

配置說明 指令
步驟1 配置内部接口、和外部接口

//進入外部接口接口模式

Router(config-if)#interface  interface-id

Router(config-if)#ip nat outside

//進入内部接口接口模式

Router (config-if)#interface  interface-id

Router (config-if)#ip nat inside

步驟2 配置本地位址和全局位址的靜态映射

Router (config)#ip nat inside source static

 x.x.x.x(本地位址)  x.x.x.x(全局位址)

步驟4 檢查NAT的運作結果 Router #show ip nat translations 

指令詳解:

(1)例1:置内網主機192.168.20.100能夠被外網主機通路,外部通路位址為:200.30.2.100,NAT映射指令如下:

  Router(config)# ip nat inside source static  192.168.20.100  00.30.2.100

(2)例2:配置内網主機192.168.20.100的Web服務80端口能夠被外網通路,外部通路位址為200.30.2.100,NAT映射指令如下:

 Router(config)# ip nat tcp inside  source static  192.168.20.100  80  00.30.2.100  80

 (3) ip  nat  inside source與ip nat outside source的差別

  ip nat inside source表示轉換IP包的源位址,當資料包從内部發往外部;或者轉換IP包的目的位址,當資料包從外部傳輸到内部。

 Ip nat outside source表示轉換IP包的源位址,當資料包從外部傳輸到内部;或者轉換IP包的目的位址,當資料包從内部發往外部。

5.靜态NAT配置執行個體

網絡拓撲圖如圖2所示。

網絡位址轉換--靜态NAT

表2靜态NAT網絡IP位址表

裝置 接口 IP位址 子網路遮罩
R1  Fa 0/0 192.168.1.1 /24
 S2/0(DCE) 210.38.220.1 /24
R2  S2/0 210.38.220.2 /24
PC1  NIC 192.168.1.10 /24
PC2  NIC 192.168.1.20 /24

背景說明:

    某公司需要通路外部網絡,但是有需要向外隐藏内部的具體IP位址。同時,本公司的PC1主機192.168.1.10需要能夠被外部主機通路,映射的本地全局位址為210.38.220.10。要求根據上述要求,配置R1和R2路由器,使得PC1能夠通路外網,PC2不能夠通路外網,外部網絡可以通路PC1。

實驗步驟:

步驟1:R1配置

R1(config)#int f0/0

R1(config-if)#ip add 192.168.1.1 255.255.255.0

R1(config-if)#ip nat inside                //配置f0/0接口為内部接口

R1(config-if)#no shutdown

R1(config-if)#int s2/0

R1(config-if)#clock rate 64000               //DCE,配置時鐘頻率

R1(config-if)#ip address 210.38.220.1 255.255.255.0

R1(config-if)#ip nat outside               //配置f0/0接口為外部接口

R1(config-if)#no shutdown                //激活接口

R1(config)#ip nat inside source static 192.168.1.10 210.38.220.10 //配置内網位址192.168.1.10到外網位址210.38.220.10的靜态映射

步驟2:R2配置

R2(config)#int s2/0

R2(config-if)#ip address 210.38.224.2 255.255.255.0   //配置接口IP位址

R2(config-if)#no shutdown

步驟3:檢查配置結果與測試

 (1)測試内網主機到外網通信。PC1上ping 路由器的接口。

C:\>ping 210.38.220.2

Pinging 210.38.220.2 with 32 bytes of data:

Reply from 210.38.220.2: bytes=32 time=94ms TTL=254

Reply from 210.38.220.2: bytes=32 time=93ms TTL=254

Reply from 210.38.220.2: bytes=32 time=78ms TTL=254

Reply from 210.38.220.2: bytes=32 time=78ms TTL=254

Ping statistics for 210.38.220.2:

    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),

Approximate round trip times in milli-seconds:

    Minimum = 78ms, Maximum = 94ms, Average = 85ms

 (2)測試外網主機通路内網。

 (3)使用debug命名檢視IP位址變化。

R2#debug ip icmp

ICMP: echo reply sent, src 210.38.220.2, dst 210.38.220.10

ICMP: echo reply sent, src 210.38.220.2, dst 210.38.220.10

ICMP: echo reply sent, src 210.38.220.2, dst 210.38.220.10

ICMP: echo reply sent, src 210.38.220.2, dst 210.38.220.10

在R2上使用debug指令檢視來自于PC1的ICMP封包,可以觀察到封包的源位址已經變成210.38.220.2,說明完成了靜态映射功能。

(4)檢視路由器的NAT位址轉換表。

R1#sh ip nat translations

Pro  Inside global     Inside local       Outside local      Outside global

---  210.38.220.10     192.168.1.10       ---                ---

   在R1上使用show ip nat translations檢視路由器中的靜态映射表,可以看到Inside local(本地局部位址)和Inside global(本地全局位址)的映射關系已經建立。

繼續閱讀