端口转发(Portforwarding)是安全壳(SSH)为网络安全通信使用的一种方法。SSH可以利用端口转发技术来传输其他TCP/IP协议的报文,当使用这种方式时,SSH就为其他服务在客户端和服务器端建立了一条安全的传输管道。端口转发利用本客户机端口映射到服务器端口来工作,SSH可以映射所有的服务器端口到本地端口,但要设置1024以下的端口需要根用户权限。在使用防火墙的网络中,如果设置为允许SSH服务通过(开启了22端口),而阻断了其他服务,则被阻断的服务仍然可以通过端口转发技术转发数据包。

中文名

端口转发

外文名

Port forwarding

别名

隧道

运行系统

ERP 系统

支持语言

简体中文

用途

虚拟机与宿主机之间通信时使用

有关术语

端口映射

目的

保证网络安全通信

基本介绍

在网吧通过路由器或者代理连接到外网,而在内网建立和运行网络服务器或FTP服务器是没办法使外网用户直接访问的,通过在路由上的NAT开启建立相应端口转发的映射,你可以指示路由器转发对某一特定网端口(如80,为网络服务器或21为FTP服务器)所有的信息为本地网络。这意味着,如果一个外部主机试图通过HTTP访问外网的IP加相应端口,就可访问到相应的内网建立的服务器。外部访问此服务器的用户并不知道服务器是处于内部网络上的。这种方法被广泛应用于网吧或通过NAT共享上网在内网建立服务器的用户。公安监控系统即通过此方法来监控网吧数据的。转发端口,比用其它方法更安全更易用,企业内部可能有很多专业化的服务,比如ERP系统,监控系统,OA系统,CRM等等,用户不需要移植或者更新现有的服务而单独申请专用的外部IP地址,只需要简单的配置一下网关路由的端口转发功能,即可使互联网上的用户使用这些服务。

端口转发一般常常用于虚拟机与宿主机之间通信时使用。最经常用的如:通过linux的ssh方式通信,本机端口转发连接VMware虚拟机。再者:VirtualBox NAT设置和端口转发等等。

端口转发服务是由一组端口转发规则定义的策略。一个端口转发服务可以应用到一个或更多的虚拟机。然后虚拟机的入站网络访问就根据端口转发服务所定义的策略进行管理。可以根据需要指定一个或多个CIDR来过滤源lP地址,以允许来自特定IP地址的请求被转发。

虚拟机可以应用任意数量的端口转发服务。端口转发服务也可以先定义好,但暂时不应用到虚拟机上。如果虚拟机属于多个网络,则只有在默认网络中定义的端口转发规则才会生效。

不能使用端口转发打开弹性lP地址的端口。当使用弹性IP时,外部访问通过使用安全组来控制。

特点

大多数的防火墙只能进行端口转发,而端口转发的一个特点就是“一对一”,不能复用。这个功能对于大多数用户来说是可以满足需求的,但对于Web服务器来说,则不能满足需求。例如,某单位内部有多个网站,如果这多个网站都放在同一台服务器上(使用主机头名区分),则防火墙只需要将TCP的80端口转发到这个Web服务器即可;如果多个网站放在内部的不同服务器时,此时只支持端口转发的防火墙将不能满足需求。Forefront TMG(以及上个版本ISA Server)除了支持端口“一对一”转发外,还支持基于“主机头”名的方式发布Web服务器,可以将内网的分布在不同物理服务器的Web服务器,发布到Intemet并且各不冲突。

转发

转发是一种与其他网络应用程序交互的方式。在SSH连接的一端,SSH截取其他程序的服务请求,将其通过加密的SSH连接发送,传给另一端的适当服务接收者。多数情况下,这一过程对连接的两端而言都是透明的:每端都相信它在与对方直接对话,丝毫意识不到转发的存在。SSH转发还有更强大的功能,可以实现几种原来无法实现的通信。

功能

因为某些原因,用户只能经过一个非安全的主机才能连接到一个安全的主机,在这种情况下,ssh提供了一个名为端口转发的功能。利用“端口转发”功能,用户就能够加强连接路由上非安全路段的安全性。用户需要做的只是简单地在非安全主机上指定一个端口,非安全主机将通过这个端口与安全主机建立连接。这就在本地主机和远程主机之间以那个非安全主机为跳板建立了一个直接的连接。用户可以对远程主机或者自己的本地主机上的端口设置端口转发功能。如果是把远程主机的一个端口转发到本地主机上的某个端口,需要使用ssh命令的-R选项,后面分别跟着本地端口、远程主机地址以及将要被转发的远程端口,彼此之间用冒号隔开。它的工作原理是分配一个套接字来监听远程方面的那个端口。只要有连接建立在这个端口上,该连接就会被转发到一个安全的通道上,也就建立起一个从本地机器到远程端口的连接。

lcx

在很多时候,由于服务器处于内网之中,而外部网络中的计算机无法连接内部网络中的服务器,因此,也就无法进行3389远程连接。这时,就需要根据内网计算机虽然无法被外部计算机连接但却可以连接外部计算机的特点进行反向连接。

所谓反向连接,简单的理解就是将原本由本地计算机发送给远程服务器3389端口的数据让远程服务器自己来向本地计算机请求,从而解决无法主动向内部股务器发送数据的问题。

端口映射

端口映射与端口转发用于发布防火墙内部的服务器或者防火墙内部的客户端计算机,有的路由器也有端口映射与端口转发功能。端口映射与端口转发实现的功能类似,但又不完全一样。端口映射是将外网的一个端口完全映射给内网一个地址的指定端口,而端口转发是将发往外网的一个端口的通信完全转发给内网一个地址的指定端口。端口映射可以实现外网到内网和内网到外网通信双向,而映射转发只能实现外网到内网的单向通信。

例如:一台防火墙有两个端口,一个端口用于外网,设置的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端口。