NAT的原理与类型,静态NAT、动态NAT

服务器 0

目录

NAT产生背景

NAT概述

NAT工作原理

NAT类型

静态NAT配置

动态NAT

 端口NAT(PAT)

EasyIP-最简单的PAT

NAT Server

外网访问内网WEB服务

外网访问内网FTP服务

 外部远程管理交换机SW1


NAT产生背景

  • 为了节省IP地址和费用,一般企业内部都是使用私有IP地址
  • Internet网路的组成设备,使用的都是公有IP地址
  • 企业内网要与internet互通,必须拥有公有IP地址
  • 企业内网中的设备,无法使用私有地址与internet互通

 

分析:

  • 在企业网络的边缘设备(路由器)上,配置默认路由,企业内网可以将数据发送到Internet
  • 由于Internet设备上没有私有IP地址的路由条目,所以数据无法返回到企业内网
  • 在企业网络的边缘设备(路由器)上,使用NAT技术,实现私有地址和公有地址互相转换

NAT概述

NAT(Network Address Translation),网络地址转换

  • 主要应用在企业网络的边缘设备上
  • 对数据包的私有IP地址和公有IP地址进行转换,实现内网到外网的访问
  • 实现企业内网的保护,增强企业内网的安全性。因为外网无法直接访问内部设备的私有IP地址

NAT工作原理

路由器对数据包进行地址转换,路由器在接收到内部数据包时将内部源IP地址转化为公有IP地址后在进行路由转发。

 

NAT核心工作表:NAT转换表

NAT类型

静态NAT

  • NAT表条目是通过手动配置的方式添加进去的
  • 私有IP地址和公有IP地址是 1对1 的关系,不节省公网IP地址

动态NAT

  • NAT表中的条目是 路由器出炉数据包 时自动形成的
  • 基于NAT地址池 实现私有地址和公有地址之间的转换,比静态NAT更加节省公网IP

静态NAT配置

 

如图配置拓扑图,当企业内网想访问外部网络的服务时,在边界路由器上配置默认路由可以将数据包发送出去,但是由于公网的路由器上没有到私网的路由,故造成数据包有去无回导致无法通行

静态NAT配置

[AR1]ip route-static 0.0.0.0 0 100.1.1.2   配置默认路由去往公网[AR1]interface gi0/0/1[AR1-GigabitEthernet0/0/1]nat static global 100.1.1.3 inside 192.168.10.1[AR1-GigabitEthernet0/0/1]quit 

静态NAT可以实现内网的PC1与外网的设备的互通,但是内网的其它设备无法与外网的设备互通

静态NAT存在的弊端:

  • 静态NAT中私有地址和公有地址是1:1的关系,并不节省公网IP地址
  • 内网主机非常多的时候,不节省配置,并且浪费钱

在企业内网主机比较多的时候,不采用静态NAT,而是采用动态NAT

动态NAT

公司内部私有地址主机数量非常多的时候,如果才有静态NAT为每个私有IP地址,就会浪费公网IP地址

在动态NAT中,企业可以同时购买多个公网IP地址,然后将这些公网IP地址,轮着给企业内网的每个主机使用

第一步:撤销静态nat的配置

[AR1-GigabitEthernet0/0/1]undo nat static global 100.1.1.3 inside 192.168.10.1 netmask 255.255.255.255  
  • 创建ACL,匹配内网需要上网的私有主机地址
[AR1]acl 2000[AR1-acl-basic-2000]rule 10 permit source 192.168.10.0 0.0.0.255[AR1-acl-basic-2000]quit
  • 创建NAT地址池,专门用于地址转换的公网地址,
[R1]nat address-group 1 100.1.1.50  100.1.1.60
  • 在边界设备的公网端口,配置动态NAT命名
  • 通过NAT命令,将匹配稀有地址的ACL用于地址转换的公网地址结合起来
  • 在g0/0/1端口发送数据流量时
    • 对源头地址属于192.168.10.0/24的数据包(ACL 2000)进行地址转换(NAT)转换成地址池1中的公网IP地址
[AR1]interface gi0/0/1[AR1-GigabitEthernet0/0/1]nat outbound  2000  address-group  1 no-pat

此时PC1/PC2都能与外网互通

缺点:

  • 进行测试的时候,我们发现:网络是一会通,一会不通。
  • 经过上面测试、抓包,我们发现:动态NAT对端口上发送出去的每个数据包的源IP地址
  • 数据包的数量太大了,所以用于地址转换的公网地址,数量肯定是不够的。
  • 在动态NAT技术突出的主要矛盾就是:用来进行地址转换的公网地址太少了。

 

 端口NAT(PAT)

  • 在动态NAT技术突出的主要矛盾就是:用来进行地址转换的公网地址太少了。
  • 以后在进行地址转换的时候,不仅仅是转换地址,还转换端口
  • 因为一个公网地址,最多可以对应 65536 个端口号
192.168.10.1 - 100.1.1.10:1001192.168.10.2 - 100.1.1.10:1002192.168.10.3 - 100.1.1.10:1003192.168.10.4 - 100.1.1.10:1004192.168.10.5 - 100.1.1.10:1005192.168.10.6 - 100.1.1.10:1006192.168.10.7 - 100.1.1.10:1007192.168.10.8 - 100.1.1.10:1008

命令配置

[AR1-GigabitEthernet0/0/1]undo nat outbound 2000 address-group 1 no-pat       //撤销动态NAT配置[AR1-GigabitEthernet0/0/1]nat outbound 2000 address-group 1[AR1-GigabitEthernet0/0/1]

此时,内网访问外网时,不会受到IP地址数量少的限制,不会出现网络时有时无

  • PAT(Port address translation) - 最火解决方案
  • 企业最常用的实现内网大量主机访问外网的解决方案
  • 在转换IP地址的同时,还转换“端口号”
  • 私有地址:公有地址 = 多:1
  • 优点:非常节省公网IP地址

EasyIP-最简单的PAT

如果企业规模很小,经费有限。大概率上企业可能仅仅购买1个公网IP地址。在这种情况下,我们想要实现内网多个主机同时上网的话,就只能用“配置在公网接口”上的这个IP地址进行 NAT 转换。

[AR1-GigabitEthernet0/0/1]undo nat outbound 2000 address-group 1 no-pat       //撤销动态NAT配置[AR1-GigabitEthernet0/0/1]nat outbound 2000 
  • 将ACL 2000 匹配的数据, 在发送出去的时候, 源IP地址转换为“该接口的”公网IP地址
  • 购买一个公网IP地址,同时实现外网互联以及“地址转换”
  • 私有地址:公有地址 = 多:1
  • 优点:非常节省公网IP地址

NAT Server

如果想要实现外网到内网的访问那么必须得在公司的边界设(R1)上,提前设置“nat转换条目”并且这种条目,仅仅允许某一种特定的业务的流量。

外网访问内网WEB服务

  • 企业内部有一个 web 服务器,私有IP地址 192.168.10.10/24
  • 希望互联网用户,通过浏览器,访问公网地址 100.1.1.20 ,就可以获得我们公司内部的 web 服务器的网站

在边界设备R1上配置

[AR1]interface gi0/0/1[AR1-GigabitEthernet0/0/1]nat server protocol tcp global 100.1.1.20 80 inside 192.168.10.10 80[AR1-GigabitEthernet0/0/1]quit
  •  该接口上如果收到了一个目标IP地址为 100.1.1.20 的 TCP 80 的流量 那么就将这个目标IP地址转换为 192.168.10.10 的 tcp 80 。

验证

通过 外网的 client 测试

  • client1: 200.1.1.1
  • 255.255.255.0
  • 200.1.1.254

客户端信息->httpclient ->输入地址 100.1.1.20 ,回车,获得一个网页!

外网访问内网FTP服务

在192.168.10.10上配置FTP服务器,希望通过外网访问FTP服务

[AR1]interface gi0/0/1[AR1-GigabitEthernet0/0/1]nat server protocol tcp global 100.1.1.20 21 inside 192.168.10.10 21[AR1-GigabitEthernet0/0/1]quit

外网设备测试 client -> ftpclient -> 100.1.1.20 (PORT模式),登陆成功

 外部远程管理交换机SW1

交换机配置私有地址,配置远程登录模式账户和密码

  • 远程登陆的用户名和密码分别是 huawei/HCIE
  • 希望在外网设备上,通过 telnet 的方式,远程登陆 SW1 ,
  • SW1的管理IP地址是 192.168.10.88/24
<SW1>sysEnter system view, return user view with Ctrl+Z.[SW1]interface vlanif 10 [SW1-Vlanif10]ip address 192.168.10.88 24  [SW1-Vlanif10]quit[SW1]user-interface vty 0 [SW1-ui-vty0]authentication-mode aaa[SW1-ui-vty0]quit[SW1]aaa[SW1-aaa]local-user huawei password cipher HCIE[SW1-aaa]local-user huawei service-type telnet[SW1-aaa]local-user huawei privilege level 15[SW1-aaa]quit[SW1]ip route-static 0.0.0.0  0  192.168.10.254

在R1上配置,telnet端口为23

[AR1]interface gi0/0/1[AR1-GigabitEthernet0/0/1]nat server protocol tcp global 100.1.1.20 2001 inside 192.168.10.88 23[AR1-GigabitEthernet0/0/1]quit 

测试:在R2上测试登录

  • 数据包从内网到外网

    • 怎么转换:私有→公有
    • 转换对象:源IP地址
    • 再查NAT表,实现地址转换
    • 先查路由表,为了确定出端口
  • 数据包从外网到内网
    • 先查NAT表,实现地址转换
    • 再查路由表,确定去往内网主机的端口
    • 转换对象:目标IP地址
    • 怎么转换:公有→私

也许您对下面的内容还感兴趣: