企業(yè)網(wǎng)絡(luò)管理寶典之NAT設(shè)置入門
NAT有四種類型:
1.靜態(tài)NAT(StaticNAT)。靜態(tài)NAT設(shè)置起來最為簡單,內(nèi)部網(wǎng)絡(luò)中的每個主機(jī)都被***映射成外部網(wǎng)絡(luò)中的某個合法地址,這類NAT在很多內(nèi)部火墻規(guī)劃中均有應(yīng)用。
2.NAT池(PooledNAT,也稱動態(tài)NAT),所謂動態(tài)NAT,即NAT后的地址不是固定的,是從一個IP池中動態(tài)分配取出的。
3.復(fù)用轉(zhuǎn)換(OverloadingNAT,也稱PAT)。PAT是大家接觸最多的NAT應(yīng)用了。在動態(tài)轉(zhuǎn)換中,每個合法的IP地址只能在轉(zhuǎn)換表中使用一次,在內(nèi)部網(wǎng)絡(luò)主機(jī)訪問外部需求增多的情況下,合法地址列表中的IP地址很快就會不夠用,這時可以利用上層協(xié)議標(biāo)識,例如利用傳輸層TCP/UDP的端口號字段來協(xié)助建立NAT轉(zhuǎn)換表項。
4.重疊轉(zhuǎn)換(OverlappingNAT)。內(nèi)部網(wǎng)使用的地址跟外部網(wǎng)重疊,這時需要把跟外部重疊的IP地址進(jìn)行變換,這種轉(zhuǎn)換一般應(yīng)用在轉(zhuǎn)換兩端的私有網(wǎng)絡(luò)地址相同的情況下。
今天筆者以一個企業(yè)的網(wǎng)絡(luò)項目為例,帶領(lǐng)大家進(jìn)入企業(yè)網(wǎng)絡(luò)管理的世界。在這個項目里,有絕大部分讀者都耳熟能詳?shù)木W(wǎng)絡(luò)技術(shù)名詞——NAT(網(wǎng)絡(luò)地址轉(zhuǎn)換)。那么NAT究竟有什么作用,在企業(yè)級應(yīng)用中能實現(xiàn)怎樣的功能呢?
圖1:NAT服務(wù)的常見模式。
沒錯,這的確是NAT技術(shù)在企業(yè)中較為常見的應(yīng)用之一,我們稱其為PAT。在小型SOHO公司里,PAT的應(yīng)用十分廣泛,但NAT的應(yīng)用絕不僅限于此,特別是在中大型企業(yè)的網(wǎng)絡(luò)規(guī)劃中,NAT的合理設(shè)計常常可以解決很多不必要的麻煩。
下面我們來接觸一個在企業(yè)應(yīng)用中具有代表性的案例。這個案例中NAT起到了十分關(guān)鍵的作用。
典型案例分析
企業(yè)A因業(yè)務(wù)需要和企業(yè)B拉設(shè)市區(qū)SDH專線,以便訪問企業(yè)B后端的服務(wù)器C,而企業(yè)A的總公司D(企業(yè)A和總公司D通過SDH專線進(jìn)行跨省網(wǎng)絡(luò)連接,這也是目前絕大部分全國性企事業(yè)單位的網(wǎng)絡(luò)連接方式)的后臺服務(wù)器也要和服務(wù)器C進(jìn)行數(shù)據(jù)校驗確認(rèn),企業(yè)A和企業(yè)B按照各自的安全等級保護(hù)標(biāo)準(zhǔn),都對SDH兩端設(shè)置了比較嚴(yán)密的安全措施,均不想讓對方了解自己公司內(nèi)部的拓?fù)浜虸P地址。企業(yè)B提供了一個已經(jīng)經(jīng)過源地址NAT后的IP地址(196.1.1.10)供企業(yè)A遠(yuǎn)程調(diào)用,企業(yè)A和B網(wǎng)絡(luò)連接如圖
圖2
看上去這樣的需求似乎很簡單,企業(yè)A的信息技術(shù)人員在本方路由器上進(jìn)行路由的設(shè)定,將去往196.1.1.10的數(shù)據(jù)包甩給下一跳網(wǎng)關(guān)10.1.1.2,總公司端也設(shè)置了到196.1.1.10的路由條目以供數(shù)據(jù)校驗,測試數(shù)據(jù)一切正常。
在正常使用了一段時間以后,企業(yè)B的信息技術(shù)人員發(fā)現(xiàn)還有其它合作企業(yè)采用了和企業(yè)A一樣的內(nèi)網(wǎng)IP段,這樣他們在寫回程路由時就無法指定下一條。比如企業(yè)E也有和企業(yè)A一樣的內(nèi)網(wǎng)架構(gòu)和IP地址規(guī)劃,而且也是采用同樣的網(wǎng)絡(luò)接口配置和企業(yè)B互聯(lián),就會出現(xiàn)這種情況:有一個源地址同為9.9.12.10的數(shù)據(jù)包分別從企業(yè)A和企業(yè)E送往服務(wù)器C,而企業(yè)B在往回送數(shù)據(jù)包的時候不知道該把這個包回給企業(yè)A還是E。為了解決這個問題,企業(yè)B給與其有SDH專線業(yè)務(wù)的單位A和E(也許更多)發(fā)了一個通知,聲明他們只會把數(shù)據(jù)包扔給SDH專線互聯(lián)的另一端,即接口地址(以企業(yè)A為例,即是圖3中的10.1.1.1),要求對方自行進(jìn)行NAT設(shè)置。
圖3注:為了講解方便,拓?fù)渲新匀チ艘恍┚W(wǎng)絡(luò)設(shè)備(如防火墻,IDS,交換機(jī)等)。
于是企業(yè)A的信息技術(shù)人員在本端路由器的S2/0口上進(jìn)行了如下設(shè)置(CLI命令行以H3C的設(shè)備為例,僅供參考),
interfaceSerial2/0
link-protocolppp
fe1unframed
ipaddress10.1.1.1255.255.255.252
natoutbound2000
在S2/0接口上設(shè)定了一個ACL列表,ACL列表的號為2000,要將這個ACL列表中的所有地址進(jìn)行NAT轉(zhuǎn)換(ACL列表的配置略去,ACL列表中即為所有需要訪問對方的源IP地址),應(yīng)用在此接口的意思就是NAT后的源地址為此接口地址,這樣就符合企業(yè)B提出的要求了。
穩(wěn)定運行了一段時間以后,企業(yè)A又接到總公司信息技術(shù)部領(lǐng)導(dǎo)的電話,說是最近要調(diào)整全網(wǎng)的IP地址,對那些不規(guī)范的地址進(jìn)行整理。詢問原因,得知是因為其它省公司和外聯(lián)單位也拉有多條專線,其中有一部分專線上的應(yīng)用也需要總公司后臺服務(wù)器去訪問對端路由器后的服務(wù)器(即情況與A公司相同),而各外聯(lián)單位的服務(wù)器對外映射地址存在沖突現(xiàn)象,導(dǎo)致總公司端在寫廣域網(wǎng)段回程路由時出現(xiàn)問題。考慮到全網(wǎng)網(wǎng)絡(luò)架構(gòu)的可控性,總公司提出讓各分公司整理內(nèi)部需要總公司參與訪問的路由,將相關(guān)地址全部NAT為本地內(nèi)網(wǎng)地址,這樣總公司只需要訪問到已經(jīng)規(guī)劃好的各省分公司內(nèi)網(wǎng)地址段即可,不會存在地址沖突問題,而且整個網(wǎng)絡(luò)也變得更加可控。
企業(yè)A按照總公司的指示,進(jìn)行了針對性調(diào)整。調(diào)整的思路是將企業(yè)B提供的NAT后地址196.1.1.10在本地防火墻(或者是路由器的內(nèi)網(wǎng)口E0/0上)上進(jìn)行一次目標(biāo)地址轉(zhuǎn)換。即將原本訪問196.1.1.10的需求變成訪問本地內(nèi)網(wǎng)地址的需求,同時在內(nèi)網(wǎng)的核心交換機(jī)上添加一條路由,具體操作如下(以在路由器內(nèi)網(wǎng)口E0/0上配置為例,防火墻同理)。
interfaceEthernet0/0
descriptiontocoreswitch
ipaddress9.9.9.9255.255.255.252
natoutboundstatic
這里添加了一條方向向外(也即指向本地內(nèi)網(wǎng))的靜態(tài)NAT,相應(yīng)的NAT語句為:
natstaticinsideip196.1.1.10globalip9.9.20.5
這其中196.1.1.10是企業(yè)B提供的NAT后地址,9.9.20.5為企業(yè)A的內(nèi)網(wǎng)IP地址規(guī)劃段中的一個地址,與之相對應(yīng)的是要在核心交換機(jī)上將靜態(tài)路由也作針對性調(diào)整。這里要提醒大家注意一點,這里的globalip地址不要屬于在核心交換上已經(jīng)規(guī)劃的VLAN。配置調(diào)整完以后,測試整個網(wǎng)絡(luò)的數(shù)據(jù),一切正常。
***的數(shù)據(jù)包流程變?yōu)椋髽I(yè)A內(nèi)網(wǎng)中的筆記本電腦訪問9.9.20.5,在到達(dá)本端SDH路由器內(nèi)網(wǎng)口時進(jìn)行NAT轉(zhuǎn)換將目標(biāo)地址轉(zhuǎn)換為196.1.1.10,然后在S2/0口上又進(jìn)行了一次源地址的NAT轉(zhuǎn)換,將客戶機(jī)本身的源地址轉(zhuǎn)換成S2/0的接口地址(也即滿足企業(yè)B的網(wǎng)絡(luò)要求)——10.1.1.1。到此為止,總公司和企業(yè)B的需求都得到了實現(xiàn)。
由此案例可以看出,如果不采用合理的NAT技術(shù)應(yīng)用,總公司和企業(yè)B的需求是很難得到同時滿足的。這其實就是大家在書本上常常看到的雙向NAT轉(zhuǎn)換的一個應(yīng)用實例。在企業(yè)中,這種純靜態(tài)的NAT應(yīng)用比例要遠(yuǎn)遠(yuǎn)大于動態(tài)NAT(有一個IP池供地址調(diào)用)和PAT。
負(fù)載平衡是NAT技術(shù)的另一要點
下面再給大家簡要介紹一下NAT技術(shù)的另外一項應(yīng)用——負(fù)載均衡。如果不考慮在數(shù)據(jù)中心應(yīng)用最多的F5類專用負(fù)載均衡設(shè)備,大家可能對于負(fù)載均衡的了解更多是集中在DNS技術(shù)上。DNS的負(fù)載均衡技術(shù)主要采用的是輪詢算法(roundrobin),但DNS負(fù)載技術(shù)有一個問題較難解決:就是客戶端會在本地緩沖DNSIP地址解析,從而使它后續(xù)的申請都會到達(dá)同一個IP地址,這本身是一項加速技術(shù),但在這里實際上卻削弱了DNS負(fù)載均衡技術(shù)的作用。而NAT負(fù)載均衡技術(shù)則解決了這個問題,路由器或其它NAT設(shè)備把需要負(fù)載平衡的多個IP地址翻譯成一個公用的IP地址。
(如圖5所示)
假設(shè)我們有一臺配備一個串行接口和一個Ethernet接口的路由器,Ethernet口連接到內(nèi)部網(wǎng)絡(luò),內(nèi)部網(wǎng)絡(luò)上有三臺運行同樣WEB服務(wù)的WEB服務(wù)器,IP地址分別為2.2.2.1、2.2.2.2和2.2.2.3,而2.2.2.10則是路由器內(nèi)口地址(Ethernet接口),路由器外口(串行接口)地址是互聯(lián)網(wǎng)IP地址,也即需要進(jìn)行NAT負(fù)載均衡地址,為了處理好來自Internet上大量的WEB連接請求,因此需要在此路由器上進(jìn)行NAT負(fù)載均衡配置,把發(fā)送到WEB服務(wù)器合法InternetIP地址的報文轉(zhuǎn)換成這三臺服務(wù)器的內(nèi)部本地地址。假定該路由器外口地址為219.142.5.5,那么每個訪問219.142.5.5的TCP連接都會按照規(guī)則分發(fā)到每一臺后端真實WEB服務(wù)器上,從而真正實現(xiàn)負(fù)載平衡。
下面以圖5為例簡單介紹一下路由器NAT負(fù)載均衡的配置過程如下:
***步:在路由器接口上進(jìn)行NAT定義。
interfaceEthernet0/0
ipaddress2.2.2.10255.255.255.240
ipnatinside
!
interfaceSerial0/0
ipaddress219.142.5.5255.255.255.248
ipnatoutside
第二步:定義一個標(biāo)準(zhǔn)訪問列表(standardaccesslist),用來標(biāo)識要轉(zhuǎn)換的合法IP地址。
ipaccess-list1permit219.142.5.5
第三步:定義NAT地址池來標(biāo)識內(nèi)部WEB服務(wù)器的IP地址,后面的參數(shù)要使用rotary,表明我們要使用輪循(RoundRobin)的方式從NAT地址池中取出相應(yīng)IP地址來轉(zhuǎn)換合法IP報文。
ipnatpoolwebsvr2.2.2.12.2.2.3netmask255.255.255.248typerotary
第四步:把目標(biāo)地址為訪問表中IP的報文轉(zhuǎn)換成地址池中定義的IP地址。
ipnatinsidedestinationlist1poolwebsvr
到此為止,NAT負(fù)載均衡的設(shè)置結(jié)束,是不是很簡單
【編輯推薦】