在现实网络环境下,经常遇到企业内网服务器需要开放给外网用户访问等问题,最直接的做法就是将WEB服务器的端口映射出去,但是现实场景中,经常会看到有端口映射、DMZ和UPnP等方式实现映射的效果,也都能达到端口映射的效果,但是终归他们之间是有区别的,那么今天就来说一下DMZ、端口映射及UPnP的作用及区别。
DMZ
DMZ是英文“demilitarized zone”的缩写,中文名称为“隔离区”,“非军事化区”。它是为了解决安装防火墙后外部网络不能访问内部网络服务器的问题,而设立的一个非安全系统与安全系统之间的缓冲区,这个缓冲区位于企业内部网络和外部网络之间的小网络区域内,在这个小网络区域内可以放置一些必须公开的服务器设施,如企业Web服务器、FTP服务器等。DMZ相当于映射所有的端口,并且直接把主机暴露在网关中
DMZ区的作用
一般网络分成内网和外网,也就是LAN和WAN,那么,当你有1台物理位置上的1台服务器,需要被外网访问,并且,也被内网访问的时候,那么,有2种方法,一种是放在LAN中,一种是放在DMZ。因为防火墙默认情况下,是为了保护内网,所以,一般的策略是禁止外网访问内网,许可内网访问外网。但如果这个服务器能被外网所访问,那么,就意味着这个服务器已经处于不可信任的状态,那么,这个服务器就不能(主动)访问内网。
端口映射
端口映射就是将外网主机的IP地址的一个端口映射到内网中一台机器,提供相应的服务。当用户访问该IP的这个端口时,服务器自动将请求映射到对应局域网内部的机器上。端口映射有动态和静态之分。
▲ 动态端口映射:
内网中的一台电脑要访问网站,会向NAT网关发送数据包,包头中包括对方网站IP、端口和本机IP、端口,NAT网关会把本机IP、端口替换成自己的公网IP、一个未使用的端口,并且会记下这个映射关系,为以后转发数据包使用。
然后再把数据发给网站,网站收到数据后做出反应,发送数据到NAT网关的那个未使用的端口,然后NAT网关将数据转发给内网中的那台电脑,实现内网和公网的通讯.当连接关闭时,NAT网关会释放分配给这条连接的端口,以便以后的连接可以继续使用。
动态端口映射其实也就是NAT网关的工作方式。
▲ 静态端口映射:
就是在NAT网关上开放一个固定的端口,然后设定此端口收到的数据要转发给内网哪个IP和端口,不管有没有连接,这个映射关系都会一直存在。就可以让公网主动访问内网的一台电脑。
UPnP
UPnP 范围广泛,原因是它面向的是家庭网络、临近网络及小型企业和商住楼中的网络。
以下是BC官方网站对UPnP的解释:UPnP(Universal Plug and Play),通用即插即用,是一组协议的统称,不能简单理解为UPnP=“自动端口映射”。
在BitComet下载中,UPnP包含了2层意思:
▲ 对于一台内网电脑,BitComet的UPnP功能可以使网关或路由器的NAT模块做自动端口映射,将BitComet监听的端口从网关或路由器映射到内网电脑上。
▲ 网关或路由器的网络防火墙模块开始对Internet上其他电脑开放这个端口。对于一般的使用者来讲,简单的把UPnP理解为自动端口映射就可以了。它就是一种基于TCP/IP协议的,针对设备彼此间的通讯而制订的新的Internet协议,目的就是希望未来所有联入Internet中的设备能够不受网关阻碍的相互通信。
UPnP、DMZ、端口映射、三者区别区 别
端口映射:
端口映射是将一台主机IP地址的某个端口映射到另外一个IP地址的某个端口上,当用户访问提供映射端口的主机的该端口时,服务器自动将请求转到提供这种特定服务的主机,端口映射可以让内部网络中某台机器对外部提供服务,而不是将真IP地址直接转到内部提供服务的主机。
DMZ:
DMZ相当于映射所有的端口,并且直接把主机暴露在网关中。DMZ是为了让外网能访问内部的资源,也就是这个服务器,而内网呢,也能访问这个服务器,但这个服务器是不能主动访问内网的。为了让物理位置在内网的,并且,希望能被外网所访问的这样的一个区域。
UPnP:
由操作系统和应用与路由器协商开放哪个端口,必须同时满足支持UPnP,缺一不可,否则不能实现。
……