网络基础知识笔记08:NAT网络地址转换(下)

网络基础知识笔记08 NAT网络地址转换

  随着Internet的发展和网络应用的增多,IPv4地址枯竭已经成为制约网络发展的瓶颈。尽管IPv6可以从根本上解决IPv4地址空间不足的问题,但目前众多的网络设备和网络应用仍是基于IPv4的,因此在IPv6广泛应用之前,一些过渡技术的使用是解决这个问题的主要技术手段。

  网络地址转换技术NAT(Network Address Translation)主要用于实现位于内部网络的主机访问外部网络的功能。当局域网内的主机需要访问外部网络时,通过NAT技术可以将其私网地址转换为公网地址,并且多个私网用户可以共用一个公网地址,这样既可保证网络互通,又节省了公网地址。

  本笔记主要介绍网络地址转换技术的工作原理和基本配置。

 

  

  静态NAT的配置方法

  拓扑图如下所示。有两台私网主机PCA和PCB,他们想通过NAT的方式访问位于公网的主机PCC。其中PCA通过静态NAT的方式从私网地址192.168.1.1映射成100.1.1.100来访问PCC,PCB通过静态NAT的方式从私网地址映射成100.1.1.200来访问PCC。

   

  Step 1:基本配置。为各个设备以及端口配置IP,以及配置静态路由保证网络调通。

  网关设备RA的基本配置:

   

 

  运营商ISP路由设备RB的基本配置:

   

  RB作为公网的路由设备,在这个场景中只需配置端口IP即可,因为公网的路由器不可能学习到内网的路由,所以不必添加静态路由指向192.168.1.0网段。

  为主机设备添加IP配置在此省略。

 

  Step 2:在网关设备RA配置静态NAT

  在RA连接外网的端口GE0/0/1上配置静态NAT:

   

  命令:nat static global { 公网地址 } inside { 私网地址 }

  用于创建静态NAT

  global参数用于配置外部公网地址。

  inside参数用于配置内部私有地址。

 

  Step 3:通过抓包进行配置验证

  通过PCA发送ping包到外网设备200.1.1.1,可以发现数据包正确到达目的地。

   

 

  首先通过抓包软件抓取RA的入接口上的数据包:

   

  可以看到此时数据包的源IP地址是填写了PCA的私网地址192.168.1.1,那么当数据包经过了RA后会发生什么变化呢?

   

  接着通过抓包软件抓取RA出接口上的数据包:

   

  此时RA将私网地址192.168.1.1通过静态NAT的方式映射为一个公网的地址100.1.1.100,再转发给公网的设备。对于公网的设备来说,与其通信的IP地址不是192.168.1.1,而是映射的公网地址100.1.1.100。

 

  对配置进行验证:

   

   

 

  动态NAT的配置方法

  配置动态NAT需要与ACL(访问控制列表)搭配使用

   

  拓扑图和静态NAT的一致。网络的基本配置已省略。

  

  Step 1:配置NAT地址池

  命令:nat address-group { 组号 } { IP起始地址 } { IP终止地址 }

  该命令用于配置NAT地址池。

   

  以上命令配置了一个地址范围为100.1.1.50到100.1.1.250的地址池,地址池的组号为1(范围从0到7)。

 

  Step 2:配置ACL匹配需要进行NAT的流量

   

  配置需要进行NAT的流量为192.168.1.0网段

 

  Step 3:应用动态NAT

  命令:nat outbound { ACL号 } address-group { 地址池号 } no-pat

  用来将一个访问控制列表ACL和一个地址池关联起来,表示ACL中规定的地址可以使用地址池进行地址转换

   

  使用地址池1(address-group 1)中的地址进行地址转换。

 

  Tips:no-pat是一个可选的参数,表示只转换数据报文的地址而不转换端口信息。

 

  Step 4:配置验证

   

 

  抓包查看转换情况

   

 

  对配置进行验证:

  命令:display nat address-group { 组号 }  用来查看NAT地址池配置信息

  命令:display nat outbound  查看动态NAT配置信息

  可以用这两条命令验证动态NAT的详细配置。在本示例中,指定接口GE0/0/1与ACL关联在一起,并定义了用于地址转换的地址池1。参数no-pat说明没有进行端口地址转换。

   

 

 

 

  Easy IP的配置方法

  Easy IP配置方法相对更简单。因为其不需配置一个地址池,而是直接通过将私网地址映射为网关RA的出接口GE0/0/1的IP地址。当多个私网地址需要地址转换时,则利用端口号来加以区分。拓扑图同上。

 

  Step 1:配置Easy IP

  命令:nat outbound { ACL号 }

  用来配置Easy-IP地址转换

   

 

   

  在本示例中,命令nat outbound 2000表示对ACL 2000定义的地址段进行地址转换,并且直接使用GE0/0/1接口的IP地址作为NAT转换后的地址。

 

  Step 2:配置验证

  命令:display nat outbound

  查看命令nat outbound的配置结果

   

  Address-group/IP/Interface表项表明接口和ACL已经关联成功,type表项表明Easy IP已经配置成功。

   

  再通过抓包软件查看地址转换的情况:

   

 

 

  NAT服务器的配置方法

  拓扑图与上面示例基本一致,私网中换成一台运行http服务的服务器,IP地址为192.168.1.1/24,公网中换成一台可以访问http服务的客户端,IP地址为200.1.1.1/24。其他的网络基本配置基本不变。

   

  现有一台公网的客户端想要访问私网的服务器。按照实际情况,公网的设备Client不可能拥有访问私网的路由,那么就需要为私网服务器Server提供一个公网的IP地址,让公网的设备Client可以通过这个IP地址访问到私网的服务器。

   

 

  Step 1:配置NAT服务器

  网关路由器RA的出接口GE0/0/1配置如下:

   

  命令:nat server protocol { 网络协议号|icmp|tcp|udp } global { 公网地址 端口号 }  inside { 私网地址 端口号 } vpn-instance VPN实例名称 acl ACL号 description 描述内容 

  用来定义一个内部服务器的映射表,外部用户可以通过公网地址和端口来访问内部服务器

  参数protocol指定需要地址转换的协议;

  参数global-address指定需要转换的公网地址;

  参数inside指定内网服务器的地址。

   

  通过对RA的接口GE0/0/1可知,为私网服务器Server配置了一个公网的IP地址100.1.1.200。则当公网的设备Client想要访问Server时,只需要在数据包的目的IP处填写公网IP地址100.1.1.200,通过路由将数据包发送到RA。RA通过NAT服务器的功能,将目的IP改成192.168.1.1并转发给自己所连接的私网服务器Server。

   

  私网服务器配置如下:

   

 

   

 

 

  Step 2:配置验证

  在公网客户端Client上输入http://100.1.1.200(最好带上端口号80。因为http默认使用80端口所以这里没有写),可以看到访问成功。

   

 

  对网关RA的出接口进行抓包:

   

  源IP地址为200.1.1.1,访问私网服务器Server的公网IP地址100.1.1.200,端口号为80

   

  对网关RA的入接口进行抓包:

   

  可以看到通过RA的地址转换,目的IP地址已经换成了私网服务器Server的IP地址192.168.1.1,实验成功。

 

 

  小结

  1、哪种NAT转换允许服务器既能被内部访问又能被外部访问?

  通过NAT内部服务器配置,将公网地址与一个私网服务器地址绑定,在地址转换后,外网主机便可以通过公有地址访问内网服务器。同时,私网地址用户可以通过服务器的私网地址访问内网服务器。

 

  2、NAPT(网络地址端口转换)有什么功能和特点?

  NAPT是基于端口的转换,而不是基于IP地址的转换。NAPT允许多个内部地址映射到同一个公有地址的不同端口。

 

posted @ 2021-05-03 19:04  若水一瓢  阅读(1014)  评论(0编辑  收藏  举报