複製鏈接
請複製以下鏈接發送給好友

端口轉發

鎖定
端口轉發(Port forwarding)是安全殼(SSH) 為網絡安全通信使用的一種方法。SSH可以利用端口轉發技術來傳輸其他TCP/IP協議的報文,當使用這種方式時,SSH就為其他服務在客户端和服務器端建立了一條安全的傳輸管道。端口轉發利用本客户機端口映射到服務器端口來工作,SSH可以映射所有的服務器端口到本地端口,但要設置1024以下的端口需要根用户權限。在使用防火牆的網絡中,如果設置為允許SSH服務通過(開啓了22端口),而阻斷了其他服務,則被阻斷的服務仍然可以通過端口轉發技術轉發數據包 [1] 
中文名
端口轉發
外文名
Port forwarding
別    名
隧道
應    用
虛擬機與宿主機之間通信時使用
有關術語
端口映射
目    的
保證網絡安全通信

端口轉發簡介

端口轉發服務是由一組端口轉發規則定義的策略。一個端口轉發服務可以應用到一個或更多的虛擬機。然後虛擬機的入站網絡訪問就根據端口轉發服務所定義的策略進行管理。可以根據需要指定一個或多個CIDR來過濾源lP地址,以允許來自特定IP地址的請求被轉發 [2] 
虛擬機可以應用任意數量的端口轉發服務。端口轉發服務也可以先定義好,但暫時不應用到虛擬機上。如果虛擬機屬於多個網絡,則只有在默認網絡中定義的端口轉發規則才會生效 [2] 
不能使用端口轉發打開彈性lP地址的端口。當使用彈性IP時,外部訪問通過使用安全組來控制 [2] 

端口轉發特點

大多數的防火牆只能進行端口轉發,而端口轉發的一個特點就是“一對一”,不能複用。這個功能對於大多數用户來説是可以滿足需求的,但對於Web服務器來説,則不能滿足需求。例如,某單位內部有多個網站,如果這多個網站都放在同一台服務器上(使用主機頭名區分),則防火牆只需要將TCP的80端口轉發到這個Web服務器即可;如果多個網站放在內部的不同服務器時,此時只支持端口轉發的防火牆將不能滿足需求。Forefront TMG(以及上個版本ISA Server)除了支持端口“一對一”轉發外,還支持基於“主機頭”名的方式發佈Web服務器,可以將內網的分佈在不同物理服務器的Web服務器,發佈到Intemet並且各不衝突 [3] 

端口轉發轉發

轉發是一種與其他網絡應用程序交互的方式。在SSH連接的一端,SSH截取其他程序的服務請求,將其通過加密的SSH連接發送,傳給另一端的適當服務接收者。多數情況下,這一過程對連接的兩端而言都是透明的:每端都相信它在與對方直接對話,絲毫意識不到轉發的存在。SSH轉發還有更強大的功能,可以實現幾種原來無法實現的通信 [4] 

端口轉發功能

因為某些原因,用户只能經過一個非安全的主機才能連接到一個安全的主機,在這種情況下,ssh提供了一個名為端口轉發的功能。利用“端口轉發”功能,用户就能夠加強連接路由上非安全路段的安全性。用户需要做的只是簡單地在非安全主機上指定一個端口,非安全主機將通過這個端口與安全主機建立連接。這就在本地主機和遠程主機之間以那個非安全主機為跳板建立了一個直接的連接。用户可以對遠程主機或者自己的本地主機上的端口設置端口轉發功能。如果是把遠程主機的一個端口轉發到本地主機上的某個端口,需要使用ssh命令的-R選項,後面分別跟着本地端口、遠程主機地址以及將要被轉發的遠程端口,彼此之間用冒號隔開。它的工作原理是分配一個套接字來監聽遠程方面的那個端口。只要有連接建立在這個端口上,該連接就會被轉發到一個安全的通道上,也就建立起一個從本地機器到遠程端口的連接 [5] 

端口轉發lcx端口轉發

在很多時候,由於服務器處於內網之中,而外部網絡中的計算機無法連接內部網絡中的服務器,因此,也就無法進行3389遠程連接。這時,就需要根據內網計算機雖然無法被外部計算機連接但卻可以連接外部計算機的特點進行反向連接 [6] 
所謂反向連接,簡單的理解就是將原本由本地計算機發送給遠程服務器3389端口的數據讓遠程服務器自己來向本地計算機請求,從而解決無法主動向內部股務器發送數據的問題 [6] 

端口轉發端口映射與轉發

端口映射與端口轉發用於發佈防火牆內部的服務器或者防火牆內部的客户端計算機,有的路由器也有端口映射與端口轉發功能。端口映射與端口轉發實現的功能類似,但又不完全一樣。端口映射是將外網的一個端口完全映射給內網一個地址的指定端口,而端口轉發是將發往外網的一個端口的通信完全轉發給內網一個地址的指定端口。端口映射可以實現外網到內網和內網到外網通信雙向,而映射轉發只能實現外網到內網的單向通信 [7] 
例如:一台防火牆有兩個端口,一個端口用於外網,設置的P地址為202.206.197.229,另一個端口用於內網,設置的IP地址為172.23.120。一台Web服務器放置在內網,其IP地址為172.22.100.100,如果想讓這台服務器對外提供Web服務,則可以在防火牆上將202.206.197.229TCP的80端口映射到172.22.100.100的80端口,這樣,當外網用户訪問202.206.197.229的Web服務時,實際上訪問的是內網服務器上提供的服務。如果在內網的172.22.100.100服務器上提供Web服務的端口不是80而是另外的端口(如333),則需要在防火牆上將TCP的80端口映射到內網172.22.100.100的333端口 [7] 
參考資料
  • 1.    王興主編,Linux網絡服務器應用教程,中國鐵道出版社,2009.09,第299頁
  • 2.    劉振宇,蔡立志,陳文捷著,信息系統熱點實踐系列叢書 CloudStack技術指南,哈爾濱工程大學出版社,2015.12,第161頁~第162頁
  • 3.    王春海編著,Windows組網與故障排除實用寶典 十年經驗版,中國鐵道出版社,2015.06,第413頁
  • 4.    (美)巴勒特(Barrett,D.) 斯夫曼(Silverman,R.)著 馮鋭 由淵霞譯,SSH權威指南,中國電力出版社,2003年04月第1版,第364頁
  • 5.    (美)Richard Petersen著;王建橋等譯,Red Hat Linux技術大全,機械工業出版社,2001.09,第598頁
  • 6.    趙彬編著,黑客攻防:WEB安全實戰詳解,中國鐵道出版社,2014.07,第226頁
  • 7.    王春海,張曉莉,王金珠編著,企業網絡應用解決方案 從需求分析到配置管理,兵器工業出版社,2006年10月,第282頁