? ? ?NAT技術(shù)本身并不難理解偶洋,其主要的作用是私網(wǎng)地址和公網(wǎng)地址的轉(zhuǎn)換。但是距糖,在NAT的學習過程中玄窝,很容易把NAT的四個地址混淆,并且不知道他們運用的場合悍引。本文就四個地址以及運用的場合進行詳細分析恩脂。這是一個令多人困惑的問題,如果看了這篇文章趣斤,你頓時覺得醍醐灌頂俩块,那還不趕緊打賞。
1:NAT產(chǎn)生原因
? ?眾所周知浓领,如果希望自己的電腦可以上網(wǎng)玉凯,必須要到運營商(ISP)申請一個賬號,這個賬號就是你電腦連接上網(wǎng)的公網(wǎng)IP镊逝,是全球唯一的壮啊。(請注意:事實上嫉鲸,這個公網(wǎng)IP地址是運營商租給你的撑蒜,當用戶不租的時候,ISP會將此IP地址收回,并租給其他用戶)座菠。只有申請到了公網(wǎng)IP才可以連接到Internet.但是狸眼,IP地址只有32位,全球那么多電腦要上網(wǎng)浴滴,并且只能一臺主機一個公網(wǎng)IP拓萌,顯然,IP地址是不夠的升略。對此微王,從長遠的角度,提出了IPV6的解決方案品嚣。但是炕倘,在IPV4到IPV6的過度期間,必須存在一種技術(shù)解決地址短缺的問題翰撑,于是出現(xiàn)了NAT技術(shù)罩旋。
2:NAT作用
NAT完成私有地址和公有地址的轉(zhuǎn)換。
3:NAT應(yīng)用場合
NAT技術(shù)最常用的兩種場景是:
第一種:內(nèi)部網(wǎng)絡(luò)用戶使用私網(wǎng)地址上網(wǎng)
第二種:用戶通過公共網(wǎng)絡(luò)訪問內(nèi)部網(wǎng)絡(luò)中的設(shè)備(例如:服務(wù)器)
4:NAT四種地址以及區(qū)別
內(nèi)部本地地址:轉(zhuǎn)換之前內(nèi)部源地址的地址
內(nèi)部全局地址:轉(zhuǎn)換之后內(nèi)部主機的地址
外部本地地址:轉(zhuǎn)換之前目標主機的地址
外部全局地址:轉(zhuǎn)換之后外部目標主機的地址
5:NAT兩種適用場合的實驗模擬
5.1NAT常用的第一種場合:當內(nèi)部網(wǎng)絡(luò)用戶通過私用網(wǎng)絡(luò)上網(wǎng)
請注意本實驗中用路由器來模擬PC和Sever
實驗配置如下:
PC1的配置為:
PC1#conf t
PC1#no ip routing
PC1#ip default-gateway 192.168.0.1
PC1#int f0/0
PC1#no shu
PC1#ip add 192.168.0.10 255.255.255.0
PC1#no shu
PC1#exit
Sever的配置為:
Sever#conf t
Sever #no ip routing
Sever #ip default-gateway 192.168.0.1
Sever #int f0/0
Sever #no shu
Sever #ip add 192.168.0.20 255.255.255.0
Sever #no shu
Sever #exit
對R1的配置為:
R1(config)#int f0/0
R1(config-if)#no shu
R1(config-if)#ip add 192.168.0.1 255.255.255.0///這里IP地址與PC,Sever的網(wǎng)關(guān)地址相同
R1(config-if)#ip nat inside
R1(config-if)#exit
R1(config)#int s1/0
R1(config-if)#no shu
R1(config-if)#ip add 200.10.10.1 255.255.255.0
R1(config-if)#ip nat outside
R1(config-if)#no shu
R1(config-if)#exit
R1(config)#ip nat inside source static 192.168.0.10 200.10.10.30
R1(config)#router ospf 1
R1(config-router)#network 200.10.10.0 0.0.0.255 a
R1(config-router)#network 200.10.10.0 0.0.0.255 area 0
對R2的配置為:
R2#conf t
R2(config)#int s1/0
R2(config-if)#no shu
R2(config-if)#ip add 200.10.10.2 255.255.255.0
R2(config-if)#exit
R2(config)#int e0/1
R2(config-if)#no shu
R2(config-if)#ip add 100.20.20.1 255.255.255.0
R2(config)#router ospf 1
R2(config-router)#network 200.10.10.0 0.0.0.255 area 0
R2(config-router)#network 100.20.20.0 0.0.0.255 area 0
R2(config-router)#exit
對PC2的配置
PC2#conf t
PC2(config)#no ip routing
PC2(config)#ip default-gateway 100.20.20.1
PC2(config)#int e0/0
PC2(config-if)#no shu
PC2(config-if)#ip add 100.20.20.2 255.255.255.0
PC2(config-if)#exit
在上述配置過程中眶诈,有一條重點命令:
(1)R1(config)#ip nat inside source static 192.168.0.10200.10.10.30
請注意:
(1)在這里涨醋,通過靜態(tài)配置,我只對PC1的地址進行了轉(zhuǎn)換逝撬,Server地址沒有轉(zhuǎn)換浴骂。
(2)將PC1的私網(wǎng)地址轉(zhuǎn)化為公網(wǎng)地址的時候,地址為200.10.10.30
?這里也可以轉(zhuǎn)化為R1的出接口s1/0的地址200.10.10.1宪潮,但是會存在當外網(wǎng)訪問200.10.10.1的 ?時候就變成全部訪問PC1了靠闭。
對實驗結(jié)果進行分析:
PC1#ping 100.20.20.1
由此看出PC1可以成功的訪問外網(wǎng)。
Server#ping 100.20.20.1
由此看出坎炼,由于沒有對Sever進行地址轉(zhuǎn)換的配置愧膀,所以Sever不能訪問外網(wǎng)。
如果在R1的上述配置基礎(chǔ)上谣光,加如下配置:
R1(config)#ip nat inside source static 192.168.0.20 200.10.10.40
此時驗證實驗結(jié)果:
Server#ping 100.20.20.1
發(fā)現(xiàn)Server可以正常訪問外網(wǎng)檩淋。
在PC1ping200.10.10.2的過程中,查看地址轉(zhuǎn)換過程:
R1#
*Mar1 00:49:42.603: NAT*: s=100.20.20.2, d=200.10.10.30->192.168.0.10[41]
*Mar1 00:49:42.899: NAT*: s=192.168.0.10->200.10.10.30, d=100.20.20.2[42]
? ? 由此可以看出萄金,數(shù)據(jù)包從內(nèi)網(wǎng)發(fā)向外部網(wǎng)絡(luò)的過程蟀悦,源地址為192.168.0.10的數(shù)據(jù)包,在經(jīng)過具有NAT功能的路由器之后氧敢,源地址轉(zhuǎn)換后200.10.10.30日戈;在此過程中目的地址一直保持不變。
R1(config)#do show ip nat tran
此時PC2pingPC1,
由上圖實驗結(jié)果可以看出孙乖,當PC2pingPC1的時候浙炼,無法ping通份氧。
(這里請思考原因,在后續(xù)會有解釋)
總結(jié):
(1)由于本實驗主要是講解本地地址和局部地址的區(qū)別弯屈,所以在NAT配置過程中采用的是最簡單的靜態(tài)配置蜗帜,當然你也可以采用動態(tài)NAT的方式對地址進行轉(zhuǎn)換。
(2)當內(nèi)網(wǎng)設(shè)備訪問外網(wǎng)設(shè)備的時候资厉,進行的是內(nèi)部本地地址和內(nèi)部全局地址的轉(zhuǎn)換
在本實驗中厅缺,內(nèi)部本地地址為192.168.0.10和192.168.0.20
內(nèi)部全局地址為200.10.10.30和200.10.10.40
NAT在此種運行場合中,僅進行的是內(nèi)部本地地址和北部全局地址的轉(zhuǎn)換宴偿。
5.2 NAT常用的第二種場合:外網(wǎng)設(shè)備訪問內(nèi)網(wǎng)采用私有地址的設(shè)備
? ? ?當一個處于公共網(wǎng)網(wǎng)絡(luò)的設(shè)備(上圖中PC2)想訪問一個企業(yè)內(nèi)部的設(shè)備(例如:上圖中的服務(wù)器)的時候湘捎,此服務(wù)器采用的私有地址(192.168.0.20),由于企業(yè)網(wǎng)內(nèi)部安全的需要窄刘,不允許此公網(wǎng)地址(PC2的地址為100.20.20.2)出現(xiàn)在私有內(nèi)部網(wǎng)絡(luò)消痛,那么就需要將此公網(wǎng)地址(100.20.20.2)轉(zhuǎn)化為私有地址。那么都哭,這里公網(wǎng)地址PC2的地址(100.20.20.2)就是外部全局地址秩伞,PC2經(jīng)過NAT轉(zhuǎn)換后的私有地址(本實驗中是192.168.0.30)就是外部本地地址。
實驗拓撲跟上圖一樣:
實驗的配置在上面配置的基礎(chǔ)上欺矫,在R1上添加如下配置命令:
R1(config)#ip nat outside source static 100.20.20.2 192.168.0.30///
上面這句命令的意思是:將外部全局地址100.20.20.2轉(zhuǎn)化為私有地址192.168.0.30
此時纱新,PC2pingServer發(fā)現(xiàn)還是不通。
但是
R1(config)#do show ip nat tran
Pro ?Insideglobal ? ? ? ?Inside local ? ? ? ? ? Outside local ? ? ? ? ? Outside global
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?192.168.0.30 ? 100.20.20.2
? ? 200.10.10.30 ? ? ? ?192.168.0.10------
? ? ? 200.10.10.40 ? ? ?192.168.0.20------
發(fā)現(xiàn)外部全局地址100.20.20.2已經(jīng)由NAT路由器轉(zhuǎn)換為外部本地地址192.168.0.30.
也就是說NAT已經(jīng)發(fā)揮作用穆趴,那么為什么還是無法ping通呢脸爱?
? ?外部全局地址100.20.20.2成功的轉(zhuǎn)化為外網(wǎng)局部地址192.168.0.30后,內(nèi)網(wǎng)本地地址192.168.0.20回應(yīng)192.168.0.30時未妹,發(fā)現(xiàn)內(nèi)部網(wǎng)絡(luò)沒有192.168.0.30這個地址簿废,也就無法ping通。所以络它,我認為需要為NAT路由器R1指定一條通過S1/0到達192.168.0.30的路由族檬。添加靜態(tài)路由如下:
R1(config)#ip route 192.168.0.30 255.255.255.255 s1/0
但是發(fā)現(xiàn)指定路由之后,還是無法ping通化戳。(請各位大诺チ希看看,這里 怎么修改才能ping通)
6:總結(jié)
? ? 關(guān)于NAT技術(shù)的四種地址的區(qū)別已經(jīng)通過上述常用的兩種場合進行詳細解析点楼,至于在第二種場合中PC2無法ping通server扫尖,請大牛們提供些建議。