本帖最后由 婷哥哥 于 2018-7-18 11:19 编辑
最近很多小伙伴过来问地址转换的配置。其实就我个人而言,刚开始配置地址转换的时候也是迷迷糊糊的,后来花了点时间去看了下地址转换的一些资料,才明白原来地址转换是这么回事…… 首先,来了解网络地址转换也就是NAT,为什么要使用NAT呢,总结出以下两点 1、 解决IPV4地址不够用的问题 2、 私网地址不能够在公网上进行路由,所以要将私网地址转换为公网地址。 上面提到的私有地址和公网地址,至于为什么要使用私网地址,个人了解到其实也是为了解决ipv4地址不够用的问题,在不同的局域网可以使用相同的私网地址,私网地址是无法在公网进行路由的,如果私网用户想要访问internet,就需要在出口使用NAT设备进行转换,将私网地址转换成公网地址,说了一大圈还是回到了这点上来。 在给客户排错的过程中经常见到客户在内网使用公网地址,虽然这也是可行的,但总觉得有些别扭,普及下一些私网地址的范围(之前分享中提到IP地址分为五类,常用的是A、B、C三类,每类都有一个私网的范围) A类:10.0.0.0--10.255.255.255 B类:172.16.0.0—172.31.255.255 C类:192.168.0.0—192.168.255.255 以上就是NAT网络地址转换的基本的一些东西,NAT又分为源地址转换(代理上网)、目的地址转换(端口映射)以及双向地址转换 源地址转换(代理上网) 适用场景:内网用户访问公网的资源,适用此种转换方式 这种地址转换其实是分为两种的,第一种可以忽略,基本上不会用,了解一下,如下图 假设PCA这台用户去访问公网上的服务器222.221.220.219的话,看下他的工作流程 ① 首先PCA发出一个数据包到达AF,这个时候这个数据包的源和目的分别是源IP:10.0.0.2,目的IP:222.221.220.219; ② 数据到达AF之后,开始转换,将源地址换成为公网地址,数据包的变化源IP:58.57.56.55,目的IP:222.221.220.219; ③ 公网的服务器收到这个数据包的时候开始回包,我们知道数据包是要有去有回的,回包的格式为源:222.221.220.219,目的:58.357.56.55; ④ 数据再次到达AF,再将公网地址转换为私网地址,这个时候数据包的格式,源IP:222.221.220.219,目的:10.0.0.2。 ⑤ PCA收到回包,一个过程转换个过程结束。 ⑥ PCB 访问服务器的格式同PCA相同,私网地址转换为58.57.56.56。 参考此图 (此图为之前培训时候的资料图,不做解释,仅供参考) 此转换存在的问题,一个私网地址转换为一个公网地址,虽然解决了私网地址无法在公网上路由的问题,但是没有解决ipv4地址不够用的问题。所以我们为了解决IPV4地址不够用的问题常用以下的转换方式,即网络地址端口转换,将IP层和传输层的信息同时转换。 依旧是上面的图,假设该服务器为www的服务器,即使用的的80端口,PCA访问该服务器的过程为: ① PCA访问服务器的80端口,假设使用1024端口访问,这个时候源Ip:10.0.0.2:1024,目的IP:222.221.220.219:80; ② 数据到达AF之后,开始转换,将源地址换成为公网地址,端口是随机产生一个可用的端口,假设为2001,数据包的变化源IP:58.57.56.55:2001,目的IP:222.221.220.219:80; ③ 公网的服务器收到这个数据包的时候开始回包,回包的格式为源:222.221.220.219:80,目的:58.357.56.55:2001; ④ 数据再次到达AF,再将公网地址转换为私网地址,这个时候数据包的格式,源IP:222.221.220.219:80,目的:10.0.0.2:1024。 ⑤ PCA收到回包,一个过程转换个过程结束。 ⑥ PCB 访问服务器的格式同PCA相同,私网地址转换为58.57.56.56:3001。 这种方式的话,内网多个地址可以转换为同一个公网地址,只要后面的端口不通,都是可以正常在公网路由的,这种方式为常用的地址转换,俗称代理上网。每个环境中,只要有需求上网都需要配置地址转换的。
(此图依旧仅供参考)
目的地址转换(端口映射) 适用场景:内网有服务器,需要发布到公网的情况下使用目的地址转换(端口映射) 如下图 假设内网有个web服务器192.168.0.2,端口为8080,外网有个用户需要访问这个服务器,就使用到了目的地址转换,假设在防火墙上已经做好了地址转换(某公司的配置结尾已经附上链接),我们来看下这个地址转换的过程 ① PCD访问服务器的8080端口,假设使用1033端口访问,这个时候源Ip:222.221.220.218:1033,目的IP:58.57.56.55:8080; ② 数据到达AF之后,开始转换,将源地址换成为私网地址,端口依旧转换为服务器的8080端口口,数据包的变化源IP:222.221.220.218:1033,目的IP:192.168.0.0:8080; ③ 内网的服务器收到这个数据包的时候开始回包,回包的格式为源:192.168.0.0:8080,目的:222.221.220.218:1033; ④ 数据再次到达AF,再将私网地址转换为公网地址,这个时候数据包的格式,源IP:58.357.56.55:8080,目的:222.221.220.218:1033。 ⑤ PCD收到回包,一个过程转换个过程结束。
(此图依旧仅供参考) 以上为源地址转换和目的地址转换的过程。某公司还有一种转换方式为双向地址转换,这种转换方式的适用场景为:内网用户可以使用公网的地址进行访问内网的服务器,其实就是源和目的同时转换,具体配置在链接中。。。。。。 如有误,欢迎大家指正 |