2024年6月14日发(作者:)

NAT是非常实用的一种技术,看似简单的原理和配置,却可以实现很多很复杂技术都

无法实现的功能。

NAT术语:

内部本地地址,内部全球地址,外部本地地址,外部全球地址。

这四个术语我最开始接触的时候,刚一打眼就懵了,更不要说它的文字解释了。

为了让人很一眼明了的明白它们之间的区别和用途,我用一个图来说明。

10.0.0.1

10.0.0.2

X.X.X.X

Internet

内部网络

PC client 1

Gateway

外部网络

Y.Y.Y.Y

PC client 2

如图:

PC 1是区域网(内部网络)中一台主机,通过网关访问外部网络,它在内部网络中的

IP地址是10.0.0.1,是内部所有保留地址,不合法,若以此IP地址为源访问外部网络,将

不会被认识。需要网关gateway做NAT地址转换,把源地址转换成网关接入外部网络的

IP地址X.X.X.X(X.X.X.X和Y.Y.Y.Y都是合法的IP地址,是可以在外部网络直接路由的地

址)。

1.此时当PC 1访问PC 2时,它需要发送数据包,以Y.Y.Y.Y为目的,以10.0.0.1为

源。

2.到达gateway,gateway会转发数据包给外部网络,并把数据包修改为以Y.Y.Y.Y

为目的,以X.X.X.X为源。

3.PC 2接收到此数据包,会以X.X.X.X为目的,以Y.Y.Y.Y为源,发送返回数据包。

4.到达gateway,gateway会转发数据包给内部网络,并把数据包修改为以10.0.0.1

为目的,以Y.Y.Y.Y为源。

其中:

10.0.0.0就是PC 1的内部本地地址。

X.X.X.X是PC 1的内部全球地址。

Y.Y.Y.Y是PC 2的外部全球地址。

10.0.0.2是PC 2的外部本地地址。(用于外网始发会话,访问内网时的转换用)

当然内部全球地址允许没有配置在物理接口上,但前期是只要外部主机有这个地址的

路由以便能够回包。

其中内部/外部的含义是内部/外部网络。本地/全球的含义是本机实际/虚拟(转换)

的地址。

内部本地地址:内部网络的主机地址,本地唯一。