一、選擇合適的NAT類型
NAT,又叫做網(wǎng)絡地址類型轉(zhuǎn)換,其主要有三種類型,分別為靜態(tài)NAT、動態(tài)NAT與端口地址映射。這里需要注意,這三種類型之間有很大的差異。網(wǎng)絡管理員在使用這個技術的時候,必須要了解它們之間的差異,然后結合企業(yè)的實際情況,選擇合適的實現(xiàn)手段。
第一種類型是靜態(tài)網(wǎng)絡地址轉(zhuǎn)換。其主要的特點是一對一。也就是說,這種類型的網(wǎng)絡地址轉(zhuǎn)換是為了在本地和全球地址之間進行一對一的映射而設計的。這就要求網(wǎng)絡中的每一臺主機都有用一個真實的合法的IP地址。結合上面這個案例,如果企業(yè)內(nèi)部三臺服務器都需要被外部用戶訪問的話,那么就需要至少三個IP地址。顯然這種方式并不能夠達到節(jié)省IP地址的目的。一般來說,靜態(tài)NAT主要的目的是為了隱藏企業(yè)內(nèi)部服務器的IP地址,以達到保護服務器的目的。
第二種類型是動態(tài)NAT。這種類型的網(wǎng)絡地址轉(zhuǎn)換是將一個企業(yè)內(nèi)部的IP地址與一個合法的IP地址進行映射。雖然這也是一對一的關系,但是與靜態(tài)NAT有很大的差別。前者要求企業(yè)內(nèi)部服務器也必須有一個公網(wǎng)IP地址。而動態(tài)NAT則沒有這個要求,即企業(yè)內(nèi)部的服務器可以采用內(nèi)部地址。不過此時一個公網(wǎng)IP地址也只能夠解決一臺內(nèi)部服務器的訪問問題。這與我們上面提到的需求還是有一定的差異。
第三種類型是端口地址映射。端口地址映射在動態(tài)NAT上又進了一步。簡單的說,其工作模式就是多對對一。可以將多個內(nèi)部IP地址(內(nèi)網(wǎng)地址)對應到一個公網(wǎng)IP地址。具體的說,就是內(nèi)網(wǎng)地址+端口號與公網(wǎng)地址進行對應。采用這個端口地址映射,那么企業(yè)網(wǎng)絡管理員就可以將企業(yè)內(nèi)部的應用服務器(即使其不具有合法的公網(wǎng)地址)放置到外網(wǎng)上,供外網(wǎng)用戶訪問。
可見在實現(xiàn)NAT網(wǎng)絡地址轉(zhuǎn)換的過程中,了解這三種不同的工作模式,然后結合企業(yè)的實際情況,來選擇合適的實現(xiàn)方式,這是最關鍵的內(nèi)容。一般來說,如果企業(yè)有足夠多的公網(wǎng)地址,而只是出于安全考慮,要隱藏內(nèi)部服務其,則采用靜態(tài)的NAT為好。相反,如果企業(yè)有多臺服務器,而合法的IP地址又不夠用。在這種情況下,就需要采用端口地址映射,將多個內(nèi)部IP地址通過端口這個參數(shù)對應到公網(wǎng)IP地址。
二、端口NAT的配置
對于NAT技術來說,其實配置是其中最簡單的一個環(huán)節(jié)。筆者一般將NAT分為四個部分,分別是設計、配置、驗證和排錯。其中設計的關鍵就是上面提到的“選擇合適的NAT類型”。而配置就是具體實現(xiàn)的配置。這里主要用的命令是IP NAT 相關的命令。其主要的工作就是將內(nèi)部服務器所采用的地址與端口號與公網(wǎng)地址進行映射。由于配置相對來說比較簡單,為此筆者不做過多說明。筆者要將重點放在后續(xù)的驗證和排錯環(huán)節(jié)上。
三、NAT配置的驗證
NAT網(wǎng)絡地址轉(zhuǎn)換配置好之后,需要對相關的配置進行驗證。而不是等到用戶來反映問題,無法正常訪問時,你再去驗證。在思科網(wǎng)絡環(huán)境中,要驗證NAT配置的有效性,主要用到了兩個命令。
一是查看相關的配置信息。在查看消息的時候,重要是弄清楚方向。即哪些是內(nèi)部主機,哪些是外部主機。有時候可能一組內(nèi)部IP地址會對應一個公網(wǎng)IP地址,此時網(wǎng)絡管理員就會看到許多轉(zhuǎn)換是從不同的主機到相同目的主機之間的轉(zhuǎn)換。在端口地址轉(zhuǎn)換的模式下,可以根據(jù)IP地址的類型來判斷。一般情況下,企業(yè)內(nèi)部服務器采用的IP地址都是私網(wǎng)IP地址,如192開頭的。如果要查看具體的配置信息,可以使用下面這個命令。
Show ip nat translation
二是判斷其連通性。也就是說,這個配置是否真的有效。此時網(wǎng)絡管理員可以采用debug ip nat命令來驗證NAT的配置。使用這個命令后,在輸出結果中會顯示發(fā)送端的IP地址、轉(zhuǎn)換目的地址、端口信息等內(nèi)容。
通過這兩個命令,可以基本判斷NAT的配置是否有問題。不過需要注意的是,這只能夠判斷出其配置是否有問題。而對于這個配置是否合理、在性能上是否需要優(yōu)化等等不能夠提供有效的信息。
四、NAT故障的分析與排除
在這一塊內(nèi)容中筆者又將其分為兩部分。一部份是NAT本身的配置問題,另外一部分是NAT技術以外的問題導致的NAT應用故障。在實際工作中,我們可能更加的關注與后者。因為只要一開始NAT設計與配置合適,那么NAT本身不會出現(xiàn)多大的問題。
對于NAT本身的配置問題,筆者認為網(wǎng)絡管理員只要注意以下五個規(guī)則。只要這個五個規(guī)則沒有問題,那么NAT本身的配置就是OK的。這個五個規(guī)則如下:
一是訪問列表相關。在配置時需要確保訪問列表指定了正確的轉(zhuǎn)換地址。注意這個非常的重要。因為這個錯誤在后續(xù)排查中比較難發(fā)現(xiàn)。所以在設置時就需要采取相關的控制措施,來確保其能夠被合理的配置。
二是檢查內(nèi)部和外部的接口是否被正確的定義。其實NAT技術說到底,就是接口與接口之間的對接。如果接口對接時出現(xiàn)錯誤,那么信息流就無法正常流程。此時用戶就會無法正常訪問。這個接口定義中,關鍵的是端口參數(shù)是否有問題。如內(nèi)部服務器使用的端口是5150端口,而配置時不小心輸入了515端口。此時就會有問題。另外一個需要注意的是,一般某個協(xié)議都會有默認端口,如FTP協(xié)議采用的是20與21端口。但是有時候出于安全考慮,網(wǎng)絡管理員往往會更改這個默認端口。此時就需要額外的檢查這個端口信息是否設置正確。
三是地址池。在檢查這個地址池的時候,網(wǎng)絡管理員主要要關注兩方面的內(nèi)容。一是動態(tài)地址池采用的IP第四行是否是由正確的地址范圍所構成的。二是需要檢查動態(tài)地址池中的地址是否有重復。只要以上兩條規(guī)則中一條規(guī)則出現(xiàn)問題,那么就有可能出現(xiàn)訪問故障。
四是需要注意不同類型之間是否有沖突。如企業(yè)可能出于某種考慮,要同時啟用動態(tài)端口地址映射和靜態(tài)映射。此時就需要特別注意,被用來靜態(tài)映射的地址與動態(tài)地址池中的地址不能夠有重復。否則的話,就會導致比較嚴重的沖突。
五是需要注意確認列表中該出現(xiàn)的地址沒有遺漏,不該出現(xiàn)大地址沒有被加入。這個原則可以說是對以上四個原則的一個總結。簡單的說,就是要保證相關IP地址的完整性與準確性。少一個不行,多一個更不行。
通常情況下,在NAT配置中只要不違背以上任何一個規(guī)則,那么NAT本身的配置就沒有問題。此時如果用戶還無法正常訪問企業(yè)內(nèi)部的應用服務器,那么就需要考慮其他的原因。如路由問題等等