NAT(網路地址轉換)(三)

lnboxue發表於2017-05-09
四、NAT的三種工作模式
(一) 靜態NAT
       靜態NAT是我們要討論的第一種模式的NAT。這種工作模式的NAT很少應用在小型網路中。靜態NAT充許內網使用者使用真實的公網地址直接訪問網際網路,這種做法是有些風險的,因為任何對防火牆或NAT裝置的錯誤配置都會導致你的內網使用者完全被暴露在網際網路上,稍後我將對靜態NAT進行實際配置向大家演示靜態NAT在網路安全方面所面臨的風險。

1、為何使用靜態NAT


圖6

       以圖6的網路拓撲為例,假如該公司的網路通過一臺路由器接入Internet,並且在NAT路由器上配置的是靜態NAT。在靜態NAT的工作模式下每一臺內網主機都會對映到一個公網地址(當然該公司需要從ISP租用更多的公網IP地址),比如在這個例子中內網IP地址為192.168.1.100的WEB/FTP Server被對映到公網地址100.100.100.3,主機192.168.1.101被對映到公網地址100.100.100.4,主機192.168.1.102被對映到公網地址100.100.100.5。因此如果WEB/FTP Serve傳送到網際網路的資料包經過NAT路由器時,NAT路由器就會將該資料包中的源IP地址替換成為100.100.100.3之後再將其傳送到Internet。所有的地址轉換都發生在路由器的記憶體中而且靜態NAT的整個過程對於內網和外網主機都是透明的。當來自於Internet的主機主動與內網主機進行通訊時,這些來自於Internet上的資料包要麼被NAT路由器丟棄要麼被轉發給內網主機,具體如何操作就要取決於路由器或防火牆的配置了。
       應用NAT的時候,每個公司/企業的需求是不一樣的。對於很多公司來說當你需要內網的某臺主機讓Internet的使用者看到並允許Internet的使用者訪問的時候就可以考慮使用靜態NAT的這種解決方案。接下來我們看一看靜態NAT的具體應用。請參考圖7:


圖7

       在圖7的網路場景中,假設該公司/企業向運營商(ISP)申請的公網地址是100.100.100.0/29(/29是子網掩碼,即255.255.255.248)。根據運營商(ISP)提供的IP地址和子網掩碼我們知道該公司獲得的可以在網際網路上使用的公網地址範圍是100.100.100.1-100.100.100.6,這6個地址當中的第1個地址100.100.100.1一般都要留給運營商(ISP)的裝置使用作為該公司連線Internet的下一跳閘道器(GateWay)地址,所以該公司真正能使用的公網地址只有5個,也就是100.100.100.2-100.100.100.6。 圖7中IP地址為100.100.100.1的GateWay(閘道器)在ISP一側,該地址用於模擬Internet上的使用者。我將通過在NAT路由器上配置靜態NAT來允許公司內網使用者能夠訪問網際網路(Internet)。伺服器192.168.1.100使用100.100.100.3訪問Internet,主機192.168.1.101使用100.100.100.4訪問Internet,主機192.168.1.102使用100.100.100.5訪問Internet。

2、靜態NAT的配置

NAT路由器配置如下:
NAT#conf t
NAT(config)# ip nat inside source static 192.168.1.100 100.100.100.3(將公網地址100.100.100.3分配給內網主機192.168.1.100使用)
NAT(config)# ip nat inside source static 192.168.1.101 100.100.100.4(將公網地址100.100.100.4分配給內網主機192.168.1.101使用)
NAT(config)# ip nat inside source static 192.168.1.102 100.100.100.5(將公網地址100.100.100.5分配給內網主機192.168.1.102使用)
NAT(config)#interface FastEthernet0/0
NAT(config-if)# ip address 100.100.100.2 255.255.255.248
NAT(config-if)#ip nat outside(在F0/0這個公網埠上啟用NAT)
NAT(config-if)#no shutdown
NAT(config-if)#exit
NAT(config)# interface FastEthernet0/1
NAT(config-if)# ip address 192.168.1.1 255.255.255.0
NAT(config-if)#ip nat inside(在F0/1這個內網埠上也啟用NAT)
NAT(config-if)#no shutdown
 
3、測試靜態NAT
WEB/FTP Server測試靜態NAT:
Server>ping 100.100.100.1
正在 Ping 100.100.100.1 具有 32 位元組的資料:
來自 100.100.100.1 的回覆: 位元組=32 時間=77ms TTL=254
來自 100.100.100.1 的回覆: 位元組=32 時間=50ms TTL=254
來自 100.100.100.1 的回覆: 位元組=32 時間=70ms TTL=254
來自 100.100.100.1 的回覆: 位元組=32 時間=82ms TTL=254

       通過以上ping的測試證明WEB/FTP Server已經能訪問Internet了,靜態NAT配置成功。但前面我們說過在公司/企業應用靜態NAT時如果NAT裝置的配置不當就會使公司/企業網路面臨一些風險。還是以本網路場景為例,此時如果模擬Internet使用者的GateWay裝置ping 100.100.100.3將會怎樣呢?
GateWay>ping 100.100.100.3
正在 Ping 100.100.100.3 具有 32 位元組的資料:
來自 100.100.100.3 的回覆: 位元組=32 時間=73ms TTL=254
來自 100.100.100.3 的回覆: 位元組=32 時間=47ms TTL=254
來自 100.100.100.3 的回覆: 位元組=32 時間=46ms TTL=254
來自 100.100.100.3 的回覆: 位元組=32 時間=46ms TTL=254

      大家看到了GateWay已經ping通了100.100.100.3。因為192.168.1.100與100.100.100.3有著一對一的對映關係,所以也就意味著GateWay如果ping通了100.100.100.3也就相當於ping通了192.168.1.100 。這樣一來該公司的這個內網使用者(192.168.1.100)就完全被暴露在網際網路上了。也許有人會問:暴露在網際網路上又能怎樣呢?我的內網主機不就是要訪問網際網路嗎?設想一下如果該公司的內網伺服器192.168.1.100需要分別為內網和網際網路的使用者提供諸多網路服務該怎麼辦呢?比如為Internet上的使用者提供瀏覽網頁的網站服務、為內網使用者提供電子郵件服務、為內網使用者提供檔案的上傳、下載服務等。如果按照前面我們對NAT路由器的配置,就會導致嚴重的安全問題,因為我沒有在NAT路由器上配置任何安全策略來過濾來自Internet的流量。這也就是說網際網路上的使用者可以通過訪問暴露在網際網路上的公網地址100.100.100.3來訪問公司內網的192.168.1.100這臺伺服器上的所有網路服務。但我們只是想讓這臺伺服器向網際網路使用者提供瀏覽網頁的服務而不提供電子郵件和檔案上傳、下載等服務。電子郵件和檔案上傳、下載等服務只是提供給內網使用者使用。根據這些需求,我們應該在NAT路由器上配置更多的訪問策略來滿足網路安全的基本需要。比如本例中的192.168.1.100這臺伺服器,只讓它開放80埠,這樣來自Internet的流量就只能訪問這臺伺服器提供的網頁服務了。可通過在NAT路由器上修改一條命令來實現:
NAT(config)#ip nat inside source static 192.168.1.100 100.100.100.3(刪除該命令)
NAT(config)#ip nat inside source static tcp 192.168.1.100 80 100.100.100.3 80 extendable (增加該命令)
       這樣Internet的使用者就只能訪問192.168.1.100這臺伺服器的網頁而無法訪問這臺伺服器上的其他網路服務了。同時也不影響內網使用者使用這臺伺服器上的電子郵件和檔案上傳、下載的服務。有人可能要問了:難道這樣配置路由器就真的安全了嗎?當然不是了,網路的世界中沒有百分百的安全。我們只能讓網路的安全係數更高一些。在這個例子中的伺服器192.168.1.100若想更安全,還可以使用DMZ區(非軍事化區域)。DMZ區可以為你提供更安全的訪問策略。利用DMZ區配置靜態NAT也是靜態NAT的一種。下面我們就大概瞭解下這個“DMZ”區。關於“DMZ”區的原理和配置,我會在“部署Cisco PIX防火牆”的文件中做詳細介紹。

4、靜態NAT中的DMZ區(非軍事化區域)

       什麼是DMZ區?DMZ區被稱為非軍事化區域。那什麼時候會用到DMZ區呢?當你的公司或企業想為網際網路上的使用者提供某些網路服務的時候,比如提供Web網站的服務、E-mail伺服器的服務等時就會使用DMZ區。在向網際網路使用者提供這些服務的同時還要兼顧其安全性那麼這時你就應該考慮一個折中方案——將這些提供服務的伺服器部署在DMZ區。DMZ區雖然也在企業的內網中,但DMZ區卻不會將企業的內網暴露給Internet。圖8的網路場景展示的是如何在Cisco PIX防火牆的DMZ區中部署網路伺服器。


圖8

      關於Cisco PIX防火牆的具體配置請參考本站名為“部署Cisco PIX防火牆”的文件。靜態NAT的一個不足就是公司需要花費更多的資金從運營商那裡租用更多的公網地址來滿足內網的主機數量。在IPv4地址趨於枯竭的今天,這種做法的可擴充套件性顯然是很差的。在這個例子中由於該公司可用的公網IP地址只有4個,所以就只能滿足內網4部主機上網了。從以上的分析大家也許明白了,靜態NAT的使用是有著特殊場合的。當你想讓內網的某些特定裝置,比如伺服器,被外部網路或Internet的使用者訪問的時候可以選擇使用靜態NAT。如果你在滿足上述需求的同時還想讓更多的內網主機上網,你就最好不要使用靜態NAT了,而要考慮使用第二種模式的NAT——動態NAT。
      待續……

相關文章