我又找到一些资料 但仍旧是数据中转
内网域名及端口映射的原理
内网网站web服务器 <==> 科迈内网客户端 <==> 科迈代理服务器 <==> internet用户
内网网站安装科迈动态域名内网客户端,登录并连接科迈代理服务器。内网域名都被解析到科迈代理服务器上。当internet用户要访问内网网站的时候,通过域名解析,连接科迈代理服务器。科迈代理服务器根据域名把访问请求发送到内网客户端,内网客户端再把访问请求发送到内网网站的web服务器(例如IIS),取得访问结果,再送回代理服务器,由代理服务器返回给internet用户。这样就可以穿透NAT网关和防火墙的阻隔。整个过程可以用一句话描述:internet用户通过科迈代理服务器间接地访问内网网站。
因为一台代理服务器负责多个内网网站的数据中转,所以,需要使用端口映射来解决端口重叠的问题。在所有服务中,web服务(80端口)和smtp服务(25端口)的访问请求里带有域名信息,这两个端口不需要做映射,其他端口都需要通过端口映射来访问。
我们为每个内网域名分配5个端口(加上80端口和25端口,总共可以使用7个端口)。这5个端口可以随意映射到任何一个服务,例如ftp。
端口映射网络图如下:
(以ftp为例。假设域名是user.dns0755.net,分配给ftp的端口号是12345)
内网ftp服务器
127.0.0.1:21
<==>
内网客户端
127.0.0.1:xxxxx
<==>
科迈代理服务器
user.dns0755.net:12345
<==>
internet用户
x.x.x.x:xxxxx
如上图所示,内网ftp通过端口映射,把本地的21端口映射到代理服务器的12345端口上。internet用户通过连接user.dns0755.net的12345端口,来访问内网网站的21端口。
如果要使用端口映射来开通一个服务,该服务必须要满足下面的条件:
1、必须是基于tcp协议的服务。端口映射不支持udp协议。
2、服务的客户端必须可以自由设定端口。因为映射后的端口号已经改变了。例如上图中,ftp在本机的端口号是21,映射后的端口号是12345,internet用户在ftp客户端里要把端口设为12345才能访问。