NAT进阶用法:公网用户如何直接访问私网地址?
![](https://thinkmo.com.cn/template/pc/skin/images/footerWeChat.jpg)
![](https://thinkmo.com.cn/template/pc/skin/images/footerWeChat2.png)
NAT进阶用法:公网用户如何直接访问私网地址?
说到网络地址转换这个技术,大家第一时间想到的就是NAT,但是NAT网络地址转换这个技术,通常我们说的,用的都是源NAT,即转换源地址的地址转换技术,其实NAT这个技术包括源NAT和目的NAT两个大类,当然,如果你结合着使用,那又可以叫双向NAT了。
在了解目的NAT之前,我们先简单来聊聊常用的源NAT,做一个技术引入。
源NAT,即转换源地址的技术,这就是我们通常所说的NAT。我们平时上网的时候,设备所使用的基本都是私网地址,通常我们的需求都是“出去”访问互联网,我们的流量或者说数据的动作是“出去”。
网络当中传递数据也可以看成是传递“快递”,这个快递要填写“收件人”和“寄件人”,即目的地址和源地址,通过这个“快递单”,网络设备针对我们的“包裹”进行转发,但是注意,此时我们所使用的源地址是一个私网地址,公网的网络设备在收到数据回包的时候查询路由表,它是找不到私网地址对应的路由条目,所以无法转发。所以,我们平时上网的时候,数据从私网出去去往公网的时候,我们都会做源NAT,即转换数据包的源地址,以便公网设备可以给回包。
这就是我们平时上网的一个过程,也是为什么我们通常使用源NAT。但是大家现在想象一个场景,比如某度的服务器集群,一般包含多台服务器一起对外提供访问服务,就是你平时上网访问各种网站官网的行为,那么这种情况下,用户肯定是要通过公网地址(当然是先访问网址,但是网址转换完也是一个公网IP地址)去访问对应服务官网,那么多台服务器不可能一台对应一个公网IP地址,那样太浪费了。一般情况下都是使用私网地址进行管理,然后统一转换成一个公网地址,用户访问这个公网地址,就可以访问对应的服务器了。
这个过程用到的技术就是我们马上要讲的服务器映射,也叫目的NAT。
目的NAT,顾名思义是转换目的地址的地址转化技术。当服务器处于私网网段的时候,又要对公网用户提供访问服务,此时我们可以将其私网地址进行一个映射,在边界设备上将私网地址转换成一个公网地址,这样用户在进行访问服务器的时候,他是用一个公网地址进行访问,然后边界设备将这个数据包的目的地址转换成对应服务器的私网地址,就可以实现访问了。
这样做不仅可以节省服务器使用的公网地址数量,同时还能保证服务器的安全,因为公网用户访问服务器的地址并不是服务器真正的地址,所以一定程度规避了一些扫描攻击。而且当服务器集群出现变动的时候,比如增加服务器,减少服务器,改变其私网地址规划,我们只需要修改服务器映射关系,并不会改变其对应的公网地址,这样用户在访问的时候还是用这个公网地址,避免用户感知到服务器变动。
好了,看到这里你明白服务器映射这项技术了吗?
那么我给大家留一个小问题,现实当中服务器都会映射出一个公网地址,而我们访问网站的时候也都是通过网址也就是这个公网地址访问,如果此时你是某度的员工,正好是和服务器处于同一网段,这种情况下,你也就是私网地址,如何通过公网地址访问同一网段的私网服务器?
限时福利 网络工程师学习资料包
扫码添加老师立即领取