續上篇的acl,本篇我們就講一些目前營運商常用的位址轉換協議–nat,這也是緩衝ip位址不足的,所誕生的協議。
靜態轉換static nat:
是指將內部網路的私有ip位址轉換為公有ip位址,ip位址對是一對一的,是一成不變的,某個私有ip位址只轉換為某個公有ip位址。借助於靜態轉換,可以實現外部網路對內部網路中某些特定裝置(如伺服器)的訪問。
動態轉換dynamic nat:
是指將內部網路的私有ip位址轉換為公用ip位址時,ip位址是不確定的,是隨機的,所有被授權訪問上internet的私有ip位址可隨機轉換為任何指定的合法ip位址。也就是說,只要指定哪些內部位址可以進行轉換,以及用哪些合法位址作為外部位址時,就可以進行動態轉換。動態轉換可以使用多個合法外部位址集。當isp提供的合法ip位址略少於網路內部的計算機數量時。可以採用動態轉換的方式。
埠多路復用(port address translation,pat)overload:
是指改變外出資料報的源埠並進行埠轉換,即埠位址轉換(pat,port address translation).採用埠多路復用方式。內部網路的所有主機均可共享乙個合法外部ip位址實現對internet的訪問,從而可以最大限度地節約ip位址資源。同時,又可隱藏網路內部的所有主機,有效避免來自internet的攻擊。因此,目前網路中應用最多的就是埠多路復用方式。
靜態位址轉換:
r1(config)#ip nat inside source static 192.168.1.1 202.100.1.100 //靜態的把192.168.1.1轉換成202.100.1.100
r1(config)#inte***ce f0/0
r1(config-if)#ip nat inside //定義介面所屬區域
r1(config)#inte***ce f0/1
r1(config-if)#ip nat outside //定義介面所屬區域
r1#show ip nat translations //檢視nat轉換表。
動態位址轉換:
r1(config)#ip access-list standard nat //定義標準acl
r1(config-std-nacl)#permit 192.168.1.0 0.0.0.255 //抓取需要轉換前的位址
r1(config)#ip nat pool ccie 202.100.1.100 202.100.1.101 netmask 255.255.255.0 //定義轉換後的位址或者位址池
r1(config)#ip nat inside source list nat pool ccie //關聯轉換前和轉換後的位址。
r1(config)#inte***ce f0/0
r1(config-if)#ip nat inside //定義介面所屬區域
r1(config)#inte***ce f0/1
r1(config-if)#ip nat outside //定義介面所屬區域
pat位址轉換:
r1(config)#ip access-list standard nat //定義標準acl
r1(config-std-nacl)#permit 192.168.1.0 0.0.0.255 //抓取需要轉換前的位址
r1(config)#ip nat pool ccie 202.100.1.100 202.100.1.101 netmask 255.255.255.0 //定義轉換後的位址
r1(config)#ip nat inside source list nat pool ccie overload //關聯轉換前和轉換後的位址。並啟用復用機制,
r1(config)#inte***ce f0/0
r1(config-if)#ip nat inside //定義介面所屬區域
r1(config)#inte***ce f0/1
r1(config-if)#ip nat outside //定義介面所屬區域
r1(config)#ip nat inside source list nat inte***ce fastethernet0/1 overload //最節約位址的方式,使用公網介面上的ip做位址轉換。
如果使用靜態nat去轉換伺服器。這時,伺服器相當於完全裸露在網路中,也就是說,除了你想提供的服務以外,其他主機還可以對這台伺服器進行其他的網路訪問,為了隱藏真實的埠,提高安全性,可以使用nat的埠對映技術,把想要提供服務的埠單獨的對映出去。
r1(config)#ip nat inside source static tcp 172.16.1.100 80 202.100.2.100 8080 //把172.16.1.100的 tcp 80埠(http)伺服器,對映成202.100.2.100 埠號為8080.這樣,只要訪問202.100.2.100 8080就相當於訪問172.16.1.100 80。
拓撲設計要素:r3除了配置ip位址,不配置路由協議。r1r2配置一條預設路由指向r3。確保內網的主機無法訪問到對端的路由器。即pc0無法訪問r2。
要求:內網a做靜態nat,使得pc0可以正常的訪問r2。
內網b做動態nat,使得pc2可以正常訪問r1。
r1:
r1(config)#ip nat inside source static 192.168.1.2 13.1.1.1
r1(config)#inte***ce f0/0
r1(config-if)#ip nat inside
r1(config)#inte***ce f0/1
r1(config-if)#ip nat outside
r2:
r2(config)#ip access-list standard nat
r2(config-std-nacl)#permit 172.16.1.0 0.0.0.255
r2(config)#ip nat pool ccie 23.1.1.10 23.1.1.11 netmask 255.255.255.0 /
r2(config)#ip nat inside source list nat pool ccie
r2(config)#inte***ce f0/0
r2(config-if)#ip nat inside
r2(config)#inte***ce f0/1
r2(config-if)#ip nat outside
配置完成,先來看pc0訪問r2,成功訪問。
再來看pc2訪問r1,也成功訪問。
分析:對於靜態來說,位址轉換一對一,以內網a來說,私有位址192.16.1.2轉換為公網ip13.1.1.1.這樣可以正常的訪問公網了。但是pc1就訪問不了,理由是沒轉換位址。
對於動態位址來說,位址雖然也是一對一,但是有個釋放的時間。以內網b為例,這裡我們做了公網ip位址池23.1.1.10 和 23.1.1.11.那麼這裡172.16.1.0網段就可以訪問網路了,如pc2與伺服器都可以訪問公網。但是有個侷限,那就是我們這裡只有2個公網ip,那麼同一時間也只能容忍兩台pc訪問。所以這裡在加一台pc訪問的話,是無法訪問網路的,只能等他們釋放出來,別的pc才能訪問。可以通過下面這條命令來檢視是否釋放出來了。
r1#show ip nat translations //檢視nat轉換表。
nat轉換目前還是ipv4的情況下,還是廣為使用的,比如動態nat,用1千個公網ip來給1萬人使用。畢竟這1萬個人裡不可能同時上網咖。當然,這裡只是簡單的提一下,具體實施辦法還得根據實際情況分析設計。上面的例項這裡只將到靜態和動態的。至於pat的實現也是差不多的道理,可以根據 上面的命令配置即可。pat的話是可以實現乙個公網ip給整個網段使用,但是一般情況下十幾台pc就差不多了,畢竟埠是有限的。多的話也不能正常的訪問了。
最後,感謝**。
路由器的NAT的原理及配置
一 nat概述 nat network address translation 網路位址轉換,其功能是將企業內部自行定義的非法 ip位址轉換為 internet 公網上可識別的合法 ip位址。由於現行 ip位址標準 ipv4 的限制,internet 面臨著ip 位址空間短缺的問題,從 isp申請並...
虛擬機器網路配置及原理
有的時候我們需要部署一些web專案或者部署集群,我們可以申請一些遠端的伺服器,當然還有比較方便和低成本的方法,就是使用虛擬機器,一般的虛擬機器都是安裝linux作業系統的,至於安裝win系統的,嗯,沒見過。那我們先來看一下區域網的網路配置及工作原理吧。那我們是如何配置伺服器的網域名稱呢?在我們區域網...
計算機網路之動態NAT配置
配置路由埠的ip位址與開啟 省略 配置路由協議 router eigrp 100 network 211.1.1.0 網路號 0.0.0.255 通配子掩 network 192.168.1.0 0.0.0.255 接下來nat的配置 int 埠 出去 ip nat outside int 埠 進來...