配置NAT
原理概述
早在20世紀90年代初,有關RFC文檔就提出了IP地址耗盡的可能性。IPv6 技術的提出雖然可以從根本上解決地址短缺的問題,但是也無法立刻替換現有成熟且廣泛應用的IPv4網絡。既然不能立即過渡到IPv6網絡,那么必須使用一些技術手段來延長IPv4的壽命,其中廣泛使用的技術之- 就是網絡地址轉換(Network Address Translation,NAT)。
NAT是將IP數據報文報頭中的IP地址轉換為另一個 IP地址的過程,主要用於實現內部網絡(私有IP地址)訪問外部網絡(公有IP地址)的功能。NAT有3種類型:靜態NAT、動態地址NAT以及網絡地址端口轉換NAPT。
NAT轉換設備(實現NAT功能的網絡設備)維護着地址轉換表,所有經過NAT轉換設備並且需要進行地址轉換的報文,都會通過該表做相應轉換。NAT轉換設備處於內部網絡和外部網絡的連接處,常見的有路由器、防火牆等。
實驗目的
●理解NAT的應用場景
●掌握靜態NAT的配置
●掌握NAT Outbound的配置
●掌握NAT Easy-IP的配置掌握
●NAT Server的配置
實驗內容
本實驗模擬企業網絡場景。R1是公司的出口網關路由器,公司內員工和服務器都通過交換機S1或S2連接到R1上,R2模擬外網設備與R1直連。由於公司內網都使用私網IP地址,為了實現公司內部分員工可以訪問外網,服務器可以供外網用戶訪問,網絡管理員需要在路由器R1上配置NAT:使用靜態NAT和NAT Outbound技術使部分員工可以訪問外網,使用NAT Server 技術使服務器可以供外網用戶訪問。
實驗拓撲
實驗步驟
1.基本配置
根據實驗編址表進行相應的基本配置,並使用ping命令檢測各直連鏈路的連通性。
其余直連網段的連通性測試省略。
2.配置靜態NAT
公司在網關路由器R1上配置訪問外網的默認路由。
由於內網使用的都是私有IP地址,員工無法直接訪問公網。現需要在網關路由器R1上配置NAT地址轉換,將私網地址轉換為公網地址。
PC1為公司客戶經理使用的終端,不僅需要自身能訪向外網,還需要外網用戶也能夠直按訪問他,因此網絡管理員分配了一個公網 IP地址202.169.10.5給PC1做靜態NAT地址轉換。在RI的GE 0/0/0接口下使用nat static命令配置內部地址到外部地址的一對一轉換。
配置完成后,在R1上查看NAT靜態配置信息,並在PC1上使用ping命令測試與外網的連通性。
可以觀察到,PC1 通過靜態NAT地址轉換已經可以成功訪問外網。在路由器RI的GE 0/0/0接口上抓包查看NAT地址轉換是否成功,結果如圖所示。
可以觀察到R1已經成功把來自PC-1的ICMP報文的源地址172.16.1.1轉換成公網地址202.169.10.5。在R2上使用環回口Loopback 0模擬外網用戶訪問PC1,並在PC-1的E0/0/1接口上抓包觀察,如圖所示。
可以觀察到由於PC1的私網地址被轉換為唯一的公網地址,外網用戶也能主動訪問PC-1,且數據包在經過R1進入內網的時候,R1把目的IP轉換為與公網地址202.169.10.5對應的私網地址172.16.1.1發給PC1。
3.配置NAT Outbound
公司內市場部的員工都需要能夠訪問外網。市場部使用私網IP地址172.17.1.0/24網段,網絡管理員使用公網地址池202.169.10.50~202.169.10.60為市場部員工做NAT轉換。
在R1上使用nat address-group命令配置NAT地址池,設置起始和結束地址分別為202.169.10.50和202.169.10.60。
創建基本ACL 2000,匹配20.1.1.0,掩碼為24位的地址段。
在GE 0/0/0接口下使用nat outbound命令將ACL 2001與地址池相關聯,使得ACL中規定的地址可以使用地址池進行地址轉換。
配置完成后,在R1上查看NAT Outbound信息。
可以觀察到R1上的NAT Outbound配置信息。使用PC2測試與外網的連通性,並在R1的接口GE 0/0/0上抓包觀察地址轉換情況,如圖所示。
可以觀察到PC2可以成功訪問外網,且通過抓包分析,來自PC-2的ICMP數據包在R1的GE 0/0/0接口。上源地址172.17.1.2被替換為地址池中第一個地址202.169.10.50。
4.配置NAT Easy-IP
由於公司發展人員擴招,若繼續使用多對多的NAT轉換方式,就必須增加公網地址池的地址數。為了節約公網地址,網絡管理員使用多對一-的 Easy-IP轉換方式實現市場部員工訪問外網的需求。
Easy-IP是NAPT的一種方式,直接借用路由器出接口IP地址作為公網地址,將不同的內部地址映射到同一公有地址的不同端口號上,實現多對-一地址轉換。網絡管理員配置路由器R1的GE 0/0/0接口為Easy-IP接口。
在R1的GE 0/0/0接口上刪除NAT Outbound配置,並使用nat outbound命令配置Easy-IP特性,直接使用接口IP地址作為NAT轉換后的地址。
配置完成后,PC2和PC3上使用UDP發包工具發送UDP數據包到公網地址202.169.20.1,配置好目的IP和UDP源、目的端口號后,輸入字符串數據后單擊“發送”按鈕,如圖所示。
在PC2和PC3發送UDP數據包后,在R1上查看NAT Session 的詳細信息。
(???PC3的呢???)
可以觀察到,源地址為172.17.1.2的UDP數據包被新源地址202.169.10.1和新源端口號10255替換,源地址為172.17.1.3的UDP數據包被新源地址202.169.10.1和新源端口號10256替換。R1借用自身GE 0/0/0接口的公網IP地址為所有私網地址做NAT轉換,使用不同的端口號區分不同私網數據。此方式不需要創建地址池,大大節省了地址空間。
5.配置NAT Server
公司內Server提供FTP服務供外網用戶訪問,配置NAT Server並使用公網IP地址202.169.10.6對外公布服務器地址,然后開啟NAT ALG功能。因為對於封裝在IP數據報文中的應用層協議報文,正常的NAT轉換會導致錯誤,在開啟某應用協議的NAT ALG功能后,該應用協議報文可以正常進行NAT轉換,否則該應用協議不能正常工作。
在R1的GE 0/0/0 接口上,使用nat server命令定義內部服務器的映射表,指定服務器通信協議類型為TCP,配置服務器使用的公網IP地址為202.169.10.6,服務器內網地址為172.16.1.3,指定端口號為21,該常用端口號可以直接使用關鍵字“ftp"代替。
配置完成后,在R1上查看NAT Server信息.
可以觀察到,配置已經生效,並開啟服務器的FTP功能,如圖所示。
設置完服務器后,在R2上模擬公網用戶訪問該私網服務器。
可以觀察到,公網用戶可以成為成功登錄公司內的私網FTP服務器。
思考
什么情況下需要使用NAT的雙向轉換?