太閣IT技術(shù)棧 帶你做NAT轉(zhuǎn)換小實(shí)驗(yàn)

網(wǎng)絡(luò)地址轉(zhuǎn)換技術(shù)
NAT(Network Address Translation)主要用于實(shí)現(xiàn)位于內(nèi)部網(wǎng)絡(luò)的主機(jī)訪問外部網(wǎng)絡(luò)的功能.當(dāng)局域網(wǎng)內(nèi)的主機(jī)需要訪問外部網(wǎng)絡(luò)時(shí),通過NAT技術(shù)可以將其私網(wǎng)地址轉(zhuǎn)換為公網(wǎng)地址,并且多個(gè)私網(wǎng)用戶可以共用一個(gè)公網(wǎng)地址,這樣既證網(wǎng)絡(luò)互通,又節(jié)省了公網(wǎng)地址
大家在做實(shí)驗(yàn)的時(shí)候常做內(nèi)部IP源的轉(zhuǎn)換也就是
IP nat inside source
下面和大家介紹下外部源地址和內(nèi)部源地址有何區(qū)別:
拓?fù)?

在H1和H2上禁用路由,它們將使用R1作為其默認(rèn)網(wǎng)關(guān).在H1丶H2丶R1上分別配置IP地址,并在R1上的GI0/1配置ip nat inside和GI0/2配置ip nat outside。
讓我們?cè)赗1上啟用NAT調(diào)試,這樣我們就可以看到NAT在工作中數(shù)據(jù)包中的源目IP地址如何轉(zhuǎn)換的
R1#debug ip nat
IP NAT debugging is on
我們先進(jìn)行ip nat inside source的實(shí)驗(yàn)
讓我們從ip nat inside source我們最熟悉的命令開始.我將配置一個(gè)將192.168.1.1轉(zhuǎn)換為192.168.2.200的條目:
R1(config)#ip nat inside source static 192.168.1.1 192.168.2.200
我們從H1發(fā)送ping到192.168.2.2
H1#ping 192.168.2.2 repeat 1
Type escape sequence to abort.
Sending 1, 100-byte ICMP Echos to 192.168.2.2, timeout is 2 seconds:
Success rate is 100 percent (1/1), round-trip min/avg/max = 4/4/4 ms
現(xiàn)在在R1上查看nat的調(diào)試:
R1#
NAT*: s=192.168.1.1->192.168.2.200, d=192.168.2.2 [3]
NAT*: s=192.168.2.2, d=192.168.2.200->192.168.1.1 [3]
從調(diào)試中我們看出:
當(dāng)IP數(shù)據(jù)包從內(nèi)部傳播到外部時(shí),源IP地址192.168.1.1被轉(zhuǎn)換為192.168.2.200。
當(dāng)返回IP數(shù)據(jù)包從外部傳播到內(nèi)部時(shí),目標(biāo)IP地址192.168.2.200被轉(zhuǎn)為192.168.1.1。
我們也可以去試試H2的ping,讓我們看看當(dāng)我們ping192.168.2.200會(huì)發(fā)生什么:
H2#ping 192.168.2.200 repeat 1
Type escape sequence to abort.
Sending 1, 100-byte ICMP Echos to 192.168.2.200, timeout is 2 seconds:
Success rate is 100 percent (1/1), round-trip min/avg/max = 5/5/5 ms
在R1生成以下調(diào)試輸出:
R1#
NAT*:s=192.168.2.2,d=192.168.2.200>192.168.1.1 [8]
NAT*:s=192.168.1.1->192.168.2.200, d=192.168.2.2 [8]
從這塊可以看出:
當(dāng)IP數(shù)據(jù)包從外部傳輸?shù)絻?nèi)部時(shí),目標(biāo)IP地址從192.168.2.200轉(zhuǎn)換為192.168.1.1。
當(dāng)返回IP數(shù)據(jù)包從內(nèi)部傳播到外部時(shí),源IP地址從192.168.1.1轉(zhuǎn)換為192.168.2.200
再來看看ip nat outside source命令式如何工作的,我將使用一下命令:
R1(config)#ip nat outside source static 192.168.2.2 192.168.2.200
讓我們嘗試從H2到192.168.1.1的ping:
H2#ping 192.168.1.1 repeat 1
Type escape sequence to abort.
Sending 1, 100-byte ICMP Echos to 192.168.1.1, timeout is 2 seconds:
Success rate is 100 percent (1/1), round-trip min/avg/max = 8/8/8 ms
我們?cè)赗1上看到以下NAT轉(zhuǎn)換:
R1#
NAT:s=192.168.2.2->192.168.2.200, d=192.168.1.1 [9]
NAT:s=192.168.1.1, d=192.168.2.200->192.168.2.2 [9]
當(dāng)IP數(shù)據(jù)包從外部傳播到內(nèi)部時(shí),源IP地址192.168.2.2被轉(zhuǎn)換為192.168.2.200。
當(dāng)返回IP數(shù)據(jù)包從內(nèi)部傳播到外部時(shí),目標(biāo)IP地址192.168.2.200被轉(zhuǎn)換為192.168.2.2。
從H1到192.168.2.200的ping怎么樣?
H1#ping 192.168.2.200 repeat 1
Type escape sequence to abort.
Sending 1, 100-byte ICMP Echos to 192.168.2.200, timeout is 2 seconds:
Success rate is 100 percent (1/1), round-trip min/avg/max = 6/6/6 ms
這是R1上的調(diào)試:
R1#
NAT: s=192.168.1.1, d=192.168.2.200->192.168.2.2 [11]
NAT*: s=192.168.2.2->192.168.2.200, d=192.168.1.1 [11]
結(jié)論:
當(dāng)IP數(shù)據(jù)包從內(nèi)部傳播到外部時(shí),目標(biāo)IP地址192.168.2.200被轉(zhuǎn)換為192.168.2.2。
當(dāng)返回IP數(shù)據(jù)包從外部傳播到內(nèi)部時(shí),源IP地址192.168.2.2被轉(zhuǎn)換為192.168.2.200。
其實(shí)只要理解inside和outside中數(shù)據(jù)包中的源目IP地址的轉(zhuǎn)換就行.還有就是思科的路由器起了NAT之后,從內(nèi)部到外部是先路由再NAT,從外部到內(nèi)部是先NAT再路由.我這里做的實(shí)驗(yàn)不能夠充分說明路由的概念,大家可以多加幾臺(tái)路由器進(jìn)行實(shí)驗(yàn).也可以利用ip nat inside和ip nat outside做一下雙向nat實(shí)驗(yàn).
總結(jié)來說這兩者的區(qū)別:
ip nat inside source:
· 當(dāng)數(shù)據(jù)包從內(nèi)部傳播到外部時(shí),轉(zhuǎn)換源IP地址。
· 當(dāng)數(shù)據(jù)包從外部傳播到內(nèi)部時(shí),轉(zhuǎn)換目標(biāo)IP地址。
ip nat outside source
· 當(dāng)數(shù)據(jù)包從外部傳播到內(nèi)部時(shí),轉(zhuǎn)換源IP地址。
· 當(dāng)數(shù)據(jù)包從內(nèi)部傳播到外部時(shí),轉(zhuǎn)換目標(biāo)IP地址。
