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