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