欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

NAT 地址转换原则

最编程 2024-07-14 09:11:55
...

以下内容摘自正在全面热销的最新网络设备图书“豪华四件套”之一《Cisco路由器配置与管理完全手册》(第二版(其余三本分别是:《Cisco交换机配置与管理完全手册》(第二版《H3C交换机配置与管理完全手册》(第二版《H3C路由器配置与管理完全手册》(第二版 )。目前在京东网、当当网、卓越网、互动出版网等书店全面热销中,购买该套装将直减30元http://book.dangdang.com/20130730_aifehttp://item.jd.com/11299332.html http://www.china-pub.com/STATIC/zt_mb/zt_huodong_2013_1.asp?filename=2013_slwd_0801

在NAT进行IP地址转换中,许多读者朋友对几种IP地址转换方式所对应的转换原理总是搞不清楚,更不清分不清内/外部地址转换的区别,在读者QQ群中经常有人提出有方面的问题,为此笔者这次从最新的“四件套”图书中全面摘出这部分内容供大家分享。至于其中所涉及的网络通信原理方面大家可通过广受好评的
《深入理解计算机网络一书全面得到深入理解,可在这里查看本书相关信息:http://product.dangdang.com/23166396.html


6.2 NAT转换方式及原理

NAT的应用中,可以仅需要转换内部地址(就是内部本地址转换成内部全局地址),这是最典型的应用,如内部网络用户通过NAT转换共享上网;也可以是仅需要转换外部地址(就是外部全局地址转换外部本地地址之间的转换),如外部用户要访问位于内部网络中的服务器;当然还可以同时转换内部地址和外部地址。

为了方便理解本节后面所介绍的一些配置,现简单介绍NAT的基本配置思路:

1)使用ip nat inside source(定义内部本地地址内部全局地址的映射),或者ip nat outside source(定义外部全局地址外部本地地址的映射),或者ip nat pool(定义一个内部全局地址池,或者一个外部本地地址池)命令定义一个IP地址映射。具体要使用哪个命令,如何配置地址映射要视所就用的NAT类型和地址转换类型而定。可以是静态地址映射,也可以是动态地址映射,或者端口地址映射(PAT);可以是内部地址转换,也可以是外部地址转换,或者内、外部地址同时转换。

本节为了方便介绍,仅以静态NAT转换为例进行介绍,所以在下面各小节中仅使用了ip nat inside sourcestatic,或者ip nat outside source static命令。

2)使用ip nat inside命令指定内部接口,使用ip nat outside命令指定外部网络接口。

6.2.1 NAT基本IP地址转换原理

总体来说,NAT进行地址转换的过程就是“本地地址”与“全局地址”之间的转换过程,无论数据包是从内部网络发往外部网络,还是从外部网络发往内部网络。不同的只是本地地址和全局地址所对应的网络不同,以及数据包重新封装的源和目的地址不同。具体如图6-8所示。这个过程是通过NAT中的本地址与全局地址映射条目来实现的,所以事先要在NAT路由器上配置这样的映射条目。

10659021_138024209862ET.jpg


6-8 NAT基本地址转换原理

当内部网络用户访问外部网络时,所进行的是“内部本地地址”和“内部全局地址”之间的转换

NAT路由器接收到来自内部网络主机发送的数据包时,其源IP地址(SA)为“内部本地地址”,目的IP地址(DA)为“外部本地地址”。当数据包被转发到外部网络时,数据包的源IP地址(SA)就会转变为“内部全局地址”,而目的IP地址(DA)被转变为“外部全局地址”。也就是把数据包的所有源IP地址(SA)和目的IP地址(DA)全部由本地地址转换为全局地址。如图6-9上部分数据包IP地址转换示意图。

相反,当外部网络用户访问内部网络时,所进行的是“外部本地地址”和“外部全局地址”之间的转换

NAT路由器接收到来自外部网络主机发送的数据包时,其源IP地址(SA)就是“外部全局地址”,目的IP地址(DA)就是“内部全局地址”。相当于由内部网络向外部网络发送数据包时数据包中的源IP地址(SA)和目的IP地址(DA)的互换。而当数据包被路由器转发到本地网络时,源IP地址(SA)被转变为“外部本地地址”,目的IP地址(DA)被转变为“内部本地地址,也相当于由内部网络向外部网络发送数据包时数据包中的源IP地址(SA)和目的IP地址(DA)的互换。如图6-9下部分数据包IP地址转换示意图。

10659021_13802421152t8y.jpg

6-9 NAT基本IP地址转换原理

以上是从总体上介绍NATIP地址转换原理的,实际NAT应用有时并不需要对源IP地址和IP地址进行全面替换,仅需要对源IP地址或者仅需要对目的IP地址进行转换即可达到所需的目的。下面予以介绍。

6.2.2 内部地址NAT转换原理

多数情况下使用NAT的目的就是为了使内部网络中的多个用户能使用一个注册IP地址访问外部网络,所以仅需要配置内部地址NAT转换。即通过ip nat inside source命令实现“内部本地地址”到“内部全局地址”之间的转换(既可以采用静态NAT方式实现,也可以采取动态NAT方式实现),只需要定义内部本地址与内部本局地址的映射。

6-10是一个简单的NAT转换示例。要实现以下目的:当NAT路由器的内部网络s0接口上接收到一个源地址为内部本地地址10.10.10.1,目的IP地址为外部本地地址171.16.68.1的数据包时,在转发到s1接口时,原来数据包源地址的内部本地地址10.10.10.1被转换成内部全局地址171.16.68.5,但目的地址不变,然后继续发送。在这个过程中,所进行的只是数据包中源IP地址的转换,由内部本地地址向内部全局地址转换,且只是内部地址之间的转换。

10659021_1380242137YU4k.jpg

6-10 简单的NAT转换示例

上一篇: Kubernetes 网络模型综合指南

下一篇: 在 LINUX 中使用 IPTABLES 防火墙

推荐阅读