【NAT原理及应用实战】图文并茂,彻底搞懂网络地址转换

文章目录

什么是NAT?

NAT技术的应用

1、静态NAT

2、动态NAT

3、NAPT

4、easy IP

5、NAT server


什么是NAT?

NAT,Network Address Translation,实际上就是一种网络地址转换的技术。

实际应用:将私网IP地址转换成公网IP地址。

我们知道IP地址是可以分为公网IP地址、私网IP地址。

  • 公网IP地址:全网公开的、唯一、数量有限的IP地址

  • 私网IP地址:不同的局域网中可以重复使用的IP地址。

对于两种不同类的IP地址,私网地址是怎么访问公网地址?

实际上,私网地址在访问公网地址之前,需要在出接口处将自己的私网地址转换成公网地址,这样私网的主机就可以访问公网地址了,而这也就是NAT技术的实际应用方向。


NAT技术的应用

刚开始网络地址转换的技术是静态NAT、动态NAT,而随着技术的发展和网络的进一步的需求,NAPT、easy IP等技术的应用接续出现。

这几种技术有什么特点与不同呢?

我们引入一个实际场景,如下图所示,我们要通过路由器以私网地址的角色访问我们的公网服务器(例如某个ISP运营商服务器),怎么做呢?

实验场景

1、静态NAT

实现原理:通过私有地址和公有地址的一对一映射。

ok,我们按照上面的场景规划图,作出了下面的网络拓扑,如下:

要求很简单:我们要通过路由器连接公网服务器的接口(路由器的下行接口)配置,源私网IP地址访问我们的公网服务器转换成某一个公网地址(如100.1.1.2)的角色去访问我们的公网服务器。

详细实验配置

步骤一、配置PC和Server的IP地址、网关等信息,再给路由器两个接口配置上相应的IP地址。

  • PC配置完IP、网关等信息的截图:

  • Server配置完IP、网关等信息的截图:

  • 路由器配置IP地址截图:

步骤二、对路由器接口GE0/0/1进行一对一的NAT网络地址转换(私网--->公网)

interface GigabitEthernet0/0/1
     nat static global 100.1.1.2 inside 192.168.1.1

PS:使用“?”配置命令的话很简单,最后一个“?”之后出现了“<cr>   Please press ENTER to execute command”说明now可以不用再接着填了。

然后dis this检查一下配置,如下:

我们发现缺省情况下,把192.168.1.0的掩码置为32了(255.255.255.255),这个没影响,不用管,继续go。

刚刚我们已经创建了一个静态NAT,即实现了私网IP(192.168.1.1)----->公网IP(100.1.1.2)。但是只是做了一个地址映射而已,要实际应用还要enable开启这个映射,如下:

interface GigabitEthernet0/0/1
 nat static enable

步骤三、先用服务器ping一下PC主机,再到PC主机ping一下服务器100.1.1.1,另外使用Wireshark分别对接口GE0/0/0、接口GE0/0/1抓一抓数据包看看。

一些小伙伴有点疑惑了,为什么先在服务器server那边ping一下主机PC?

因为刚开始,主机PC并不知道server的IP地址,需要pin使二者都各自拥有ARP缓存。这样PC去ping通server就不会出现如下的“unreachable”的情况了,如下图。

还有,为什么要对两个接口Wireshark抓包?

接口GE0/0/1是刚刚已进行了NAT的,接口GE0/0/0是没有NAT的。为了对比NAT技术应用前后节点的效果,我们选择对两个接口进行抓包分析。


实验结果分析

静态NAT之前---GE0/0/0
静态NAT之后---GE0/0/1

 从上图可以发现:我们刚刚在GE0/0/1(即路由连接公网server的接口)所配置的静态NAT已经生效了,私网的源IP地址(192.168.1.1)按照映射转换成了公网的源IP地址(100.1.1.2)。


2、动态NAT

实现原理

动态NAT,通过私有地址和公有地址的一对一映射,不会强制性地静态绑定,而是动态的进行静态绑定。其中,使用到了公网地址池、ACL这两种配置。

解释一下公网地址池(address-group)、ACL:

NAT地址池来存储公网IP地址用以NAT;

ACL(访问控制列表)可用来过滤哪一些私网IP能动态NAT、哪一些不能动态NAT。

实验配置

大致的配置流程(在上次实验的基础上,还有undo之前在GE0/0/1的静态NAT配置)

1、创建公网地址池--->2、创建ACL访问控制列表过滤动态NAT的对象--->3、实现并启用动态NAT映射(利用上面创建好的公网地址池、ACL控制列表

详细配置

nat address-group 1 100.1.1.2 100.1.1.7   //创建公网地址池(id=1), 100.1.1.2 ~ 100.1.1.7(6个公网地址)

acl number 2000
    rule 5 permit source  192.168.1.0  0.0.0.255   //匹配出需要做NAT的私网IP地址
    rule 10 deny 

interface GigabitEthernet0/0/1
    nat outbound 2000 address-group 1 no-pat   //动态NAT映射

3、NAPT

实现原理:将多个私网地址映射到同一个公有IP地址的不同端口,实现公网IP地址的地址复用。

实验配置

在上次实验的基础上,还有undo刚刚在GE0/0/1的动态NAT配置,之后,配置NAPT命令如下:

nat address-group 1 100.1.1.2 100.1.1.7   //创建公网地址池(id=1),100.1.1.2 ~ 100.1.1.7(6个公网地址)

ac1 number 2000
    rule 5 permit source 192.168.1.0 0.0.0.255  //匹配出需要做NAT的私网IP地址
    rule 10 deny

interface GigabitEthernet0/0/1
    ip address 100.1.1.254 255.255.255.0
    nat outbound 2000 address-group 1   //NAPT映射

对比前一个实验(动态NAT的配置),发现其实NAPT配置和动态NAT实验差不多的,不同的是动态NAT的配置是带“no-pat”的。

no-pat是是什么意思?

no-port address translation,也就是不支持端口映射的,这几种NAT技术中,NAPT才支持的嘛。


4、easy IP

实现原理:多个私网IP地址映射到连接ISP公网服务器的接口的IP地址的不同端口上,实现公网IP地址的地址复用。

实验配置

acl number 2000
    rule 5 permit source 192.168.1.0 0.0.0.255 //匹配出需要做NAT的私网IP地址
    rule 10 deny 

interface GigabitEthernet0/0/1
    ip address 100.1.1.254 255.255.255.0
    nat outbound 2000    //easy IP的映射

5、NAT server

实现原理

NAT server,可以使外网用户访问内网服务器,实现私网IP地址和公网IP一对一的映射。

实验配置

interface GigabitEthernet0/0/1
    ip address 100.1.1.254 255.255.255.0
    nat server protocol tcp global 100.1.1.2  www inside 192.168.1.1 www  //web服务---http
    nat server protocol tcp global 100.1.1.3  ftp inside 192.168.1.1 ftp  //ftp文件传输

 

↓↓↓阅读到这里,估计各位也倦了,一起来听大鱼海棠片尾曲呗,让中国风给你提提神!↓↓↓


大鱼海棠 片尾曲《大鱼》周深MV 完整版


发布了59 篇原创文章 · 获赞 16 · 访问量 7206

猜你喜欢

转载自blog.csdn.net/qq_42605300/article/details/104741217