UTM講堂之網(wǎng)絡(luò)地址轉(zhuǎn)換技術(shù)
在企業(yè)中管理員可以使內(nèi)部的IP隱藏,是互聯(lián)網(wǎng)上的主機(jī)無(wú)法判斷內(nèi)部網(wǎng)絡(luò)的情況??梢允箖?nèi)網(wǎng)對(duì)外不可見,互聯(lián)網(wǎng)就不能訪問內(nèi)網(wǎng),但內(nèi)網(wǎng)主機(jī)之間是可以相互訪問的。而UTM網(wǎng)關(guān)可以部分解決這個(gè)問題。但通過網(wǎng)關(guān)的形式會(huì)給網(wǎng)管帶來(lái)很大開銷,所以我們就可以用到網(wǎng)絡(luò)地址轉(zhuǎn)換技術(shù)。
網(wǎng)絡(luò)地址轉(zhuǎn)換可以提供一種透明的完善的解決方案,網(wǎng)絡(luò)管理員可以決定哪些內(nèi)部的IP地址需要隱藏,哪些地址需要映射成為一個(gè)對(duì)互聯(lián)網(wǎng)可見的IP地址。網(wǎng)絡(luò)地址轉(zhuǎn)換可以實(shí)現(xiàn)一種“單向路由”,這樣就不存在從互聯(lián)網(wǎng)到內(nèi)部網(wǎng)或主機(jī)的路由。
網(wǎng)絡(luò)地址轉(zhuǎn)換的工作機(jī)制是當(dāng)網(wǎng)絡(luò)數(shù)據(jù)包流入U(xiǎn)TM時(shí),系統(tǒng)會(huì)檢查該數(shù)據(jù)包是否符合用戶設(shè)定的網(wǎng)絡(luò)地址轉(zhuǎn)換規(guī)則,如果找到符合的規(guī)則,系統(tǒng)會(huì)按照規(guī)則對(duì)數(shù)據(jù)包進(jìn)行轉(zhuǎn)換,同時(shí)建立一個(gè)網(wǎng)絡(luò)地址轉(zhuǎn)換進(jìn)程。當(dāng)有數(shù)據(jù)包返回時(shí),將檢查進(jìn)程表,進(jìn)行相應(yīng)的處理。這里可以看到,網(wǎng)絡(luò)地址轉(zhuǎn)換需要對(duì)每一個(gè)TCP/IP連接建立一個(gè)對(duì)應(yīng)的網(wǎng)絡(luò)地址轉(zhuǎn)換進(jìn)程表項(xiàng)。假如不對(duì)查詢算法進(jìn)行優(yōu)化,則在訪問量大的情況下,查詢網(wǎng)絡(luò)地址轉(zhuǎn)換進(jìn)程表項(xiàng)將會(huì)占用大量的CPU時(shí)間。
在網(wǎng)絡(luò)地址轉(zhuǎn)換圖(如圖1所示)中的10.0.0.1主機(jī)處于內(nèi)部網(wǎng),網(wǎng)關(guān)為UTM內(nèi)部接口10.0.0.2,UTM外網(wǎng)接口IP地址是202.112.108.1,互聯(lián)網(wǎng)上有一臺(tái)服務(wù)器的IP地址是202.100.10.50.用戶機(jī)10.0.0.1通過UTM的網(wǎng)絡(luò)地址轉(zhuǎn)換才能訪問服務(wù)器202.100.10.50,下面介紹網(wǎng)絡(luò)地址轉(zhuǎn)換的過程。
圖1
在不同網(wǎng)段IP地址的轉(zhuǎn)換情況如表3-1所示,內(nèi)部地址是10.0.0.0子網(wǎng),UTM網(wǎng)關(guān)對(duì)外部的地址是202.112.108.1,可以將內(nèi)部網(wǎng)的地址都轉(zhuǎn)換成202.112.108.1出去。但這會(huì)遇到一個(gè)問題,所有返回?cái)?shù)據(jù)包的目的IP都是202.112.108.1,那么UTM如何識(shí)別它們并送回內(nèi)部網(wǎng)的真實(shí)主機(jī)呢?可以讓UTM記住所有出去的包,因?yàn)槊總€(gè)包都有一個(gè)目的端口,每臺(tái)主機(jī)的端口可能都不一樣。還可以讓UTM記住所有出去的包的TCP序列號(hào),不同主機(jī)發(fā)送的包的序列號(hào)不一樣,UTM會(huì)根據(jù)記錄把返回的數(shù)據(jù)包送達(dá)正確的發(fā)送主機(jī)。
表3-1 不同網(wǎng)段IP地址的轉(zhuǎn)換
NAT可以有多種模式,主要有如下幾種。
(1)靜態(tài)地址轉(zhuǎn)換
這種模式中,一個(gè)指定的內(nèi)部主機(jī)有一個(gè)從不改變的固定的轉(zhuǎn)換表,一般靜態(tài)地址轉(zhuǎn)換將內(nèi)部地址轉(zhuǎn)換成UTM的外網(wǎng)接口地址,如圖2所示。靜態(tài)地址轉(zhuǎn)換是一種一對(duì)一的雙向地址映射,主要用于內(nèi)部服務(wù)器向外提供服務(wù)的情況。
圖2
(2)源地址轉(zhuǎn)換
源地址轉(zhuǎn)換是基于源地址的網(wǎng)絡(luò)地址轉(zhuǎn)換,主要用于內(nèi)網(wǎng)訪問外網(wǎng),減少公有地址的數(shù)目,隱藏內(nèi)部地址,如圖3所示。
圖3
(3)目的地址轉(zhuǎn)換
目的地址轉(zhuǎn)換可分為目標(biāo)地址映射、目標(biāo)端口映射、服務(wù)器負(fù)載均衡等。目的地址轉(zhuǎn)換也稱為反向地址轉(zhuǎn)換或地址映射。目的地址轉(zhuǎn)換是一種單向的針對(duì)目標(biāo)地址的映射,主要用于內(nèi)部服務(wù)器向外部提供服務(wù)的情況,它與靜態(tài)地址轉(zhuǎn)換的區(qū)別在于它是單向的。外部可以主動(dòng)訪問內(nèi)部,內(nèi)部卻不可以主動(dòng)訪問外部。另外,可使用目的地址轉(zhuǎn)換實(shí)現(xiàn)負(fù)載均衡的功能,即可以將一個(gè)目標(biāo)網(wǎng)絡(luò)地址轉(zhuǎn)換為多個(gè)內(nèi)部服務(wù)器地址。也可以通過端口的映射將不同的端口映射到不同的機(jī)器上。目的地址轉(zhuǎn)換如圖4所示。
圖4
不管是以上哪種模式,都可以基于IP地址和端口方式,采用端口地址轉(zhuǎn)換,管理員只需要設(shè)定一個(gè)或多個(gè)可以用作端口地址轉(zhuǎn)換的公有互聯(lián)網(wǎng)地址,用戶的訪問將會(huì)映射到IP池中IP的一個(gè)端口上去,這使得每個(gè)合法互聯(lián)網(wǎng) IP可以映射六萬(wàn)多臺(tái)內(nèi)部網(wǎng)主機(jī)。
例如有一個(gè)小型網(wǎng)絡(luò),它的IP地址段是192.168.0.1-192.168.0.255,通過一臺(tái)UTM上網(wǎng),UTM有兩個(gè)IP地址,一個(gè)是網(wǎng)絡(luò)內(nèi)部地址,如192.168.0.1,一個(gè)是合法的IP地址,如202.106.0.22,如圖5所示。
圖5
如果局域網(wǎng)內(nèi)部的一臺(tái)電腦H4,IP地址是192.168.0.3:4000,4000是它的端口號(hào),想訪問搜狐的主頁(yè)www.sohu.com,192.168.0.3:4000的請(qǐng)求先傳到UTM 192.168.0.1上,UTM把這個(gè)IP地址轉(zhuǎn)換為202.106.0.22:9000,然后以端口號(hào)為9000的這個(gè)IP地址向sohu發(fā)出請(qǐng)求,當(dāng)sohu受到請(qǐng)求后,會(huì)回答,它先把回答的數(shù)據(jù)流傳給202.106.0.22:9000,也就是局域網(wǎng)邊界的UTM,UTM接收到數(shù)據(jù)后,會(huì)查找與9000這個(gè)端口號(hào)相關(guān)聯(lián)的內(nèi)部IP地址,當(dāng)它發(fā)現(xiàn)是192.168.0.3:4000后,就把數(shù)據(jù)傳給192.168.0.3:4000,這樣,IP地址的轉(zhuǎn)換就完成了。
UTM通過靈活的應(yīng)用網(wǎng)絡(luò)地址轉(zhuǎn)換功能,在對(duì)通過UTM的數(shù)據(jù)進(jìn)行全面細(xì)致檢測(cè)的同時(shí),還保證了網(wǎng)絡(luò)的連通性,極大地提高了企業(yè)網(wǎng)絡(luò)資源的應(yīng)用。
【編輯推薦】