Toc
  1. 前言
  2. NAT概述
  3. 静态NAT
  4. 动态NAT
  5. NAPT
  6. Easy IP
  7. 服务器NAT(NAT Server)
  8. END
Toc
0 results found
Dark
网络工程-HCIA课程(十)NAT网络地址转换

前言

随着Internet的发展和网络应用的增多,有限的IPv4公有地址已经成为制约网络发展的瓶颈。为解决这个问题,NAT(Network Address Translation,网络地址转换)技术应需而生。

NAT技术主要用于实现内部网络的主机访问外部网络。一方面NAT缓解了IPv4地址短缺的问题,另一方面NAT技术让外网无法直接与使用私有地址的内网进行通信,提升了内网的安全性。





NAT概述

IP地址:

  • 公有地址:由专门的机构管理、分配,可以在Internet上直接通信的IP地址。
  • 私有地址:组织和个人可以任意使用,无法在Internet上直接通信,只能在内网使用的IP地址。
  • A、B、C类地址中各预留了一些地址专门作为私有IP地址:
    • A类:10.0.0.0 ~ 10.255.255.255
    • B类:172.16.0.0 ~ 172.31.255.255
    • C类:192.168.0.0 ~ 192.168.255.255


NAT技术原理:

  • NAT:对IP数据报文中的IP地址进行转换,是一种在现网中被广泛部署的技术,一般部署在网络出口设备,例如路由器或防火墙上。
  • NAT的典型应用场景:在私有网络内部(园区、家庭)使用私有地址,出口设备部署NAT,对于“从内到外”的流量,网络设备通过NAT将数据包的源地址进行转换(转换成特定的公有地址),而对于“从外到内的”流量,则对数据包的目的地址进行转换。
  • 通过私有地址的使用结合NAT技术,可以有效节约公网IPv4地址。
  • 常见误区:
    1. 所有NAT技术均应用在出口路由的出接口上
    2. 除了Easy IP外,其余配置的公网IP可以不用是接口IP,只要对端能承认即可




静态NAT

原理:

  • 静态NAT:每个私有地址都有一个与之对应并且固定的公有地址,即私有地址和公有地址之间的关系是一对一映射。
  • 支持双向互访:私有地址访问Internet经过出口设备NAT转换时,会被转换成对应的公有地址。同时,外部网络访问内部网络时,其报文中携带的公有地址(目的地址)也会被NAT设备转换成对应的私有地址。
  • 实现方式:通过手工配置,将私有IP地址与公有IP地址一对一映射
  • 缺点:不能节约IP地址
  • 优点:可以实现私网主动访问公网,也可以实现公网主动访问私网


示例:



配置:
未配置NAT时:

[R1-GigabitEthernet0/0/1]nat  static  global  12.1.1.3  inside  192.168.1.1  //将私网地址192.168.1.1 映射成公网地址12.1.1.3

配置好后:





动态NAT

原理:

  • 动态NAT:静态NAT严格地一对一进行地址映射,这就导致即便内网主机长时间离线或者不发送数据时,与之对应的公有地址也处于使用状态。为了避免地址浪费,动态NAT提出了地址池的概念:所有可用的公有地址组成地址池。
  • 当内部主机访问外部网络时临时分配一个地址池中未使用的地址,并将该地址标记为“In Use”。当该主机不再访问外部网络时回收分配的地址,重新标记为“Not Use”。
  • 缺点:依然只能一对一映射,不能节约IP地址,且不能实现外网主动访问内网
  • 优点:可以实现多条地址自动映射


示例:



配置:

//1. 创建NAT地址池:
[R1]nat address-group 1 12.1.1.10 12.1.1.15 //可以映射的IP地址范围是12.1.1.10 – 12.1.1.15
//2. 匹配私网IP地址:
[R1]acl 2000 //创建ACL
[R1-acl-basic-2000]rule 5 permit source 192.168.1.0 0.0.0.255 //匹配192.168.1.0/24网段所有地址
//3. 在连接公网的接口调用:
[R1-GigabitEthernet0/0/1]nat outbound 2000 address-group 1 no-pat //no-pat表示不对端口进行映射

配置完成后:





NAPT

原理:

  • 动态NAT选择地址池中的地址进行地址转换时不会转换端口号,即No-PAT(No-Port Address Translation,非端口地址转换),公有地址与私有地址还是1:1的映射关系,无法提高公有地址利用率。
  • NAPT(Network Address and Port Translation,网络地址端口转换):从地址池中选择地址进行地址转换时不仅转换IP地址,同时也会对端口号进行转换,从而实现公有地址与私有地址的1:n映射,可以有效提高公有地址利用率。
  • 缺点:不能实现公网主动访问私网(相当于对外不公开内网拓扑,其实也算优点,更安全)
  • 优点:节约公有IP地址


示例:



配置:

//1. 创建NAT地址池:
[R1]nat address-group 1 12.1.1.100 12.1.1.100 //这个表示该地址池只有这一个地址可以使用
//2. 匹配私网IP地址:
[R1]acl 2000 //创建ACL
[R1-acl-basic-2000]rule 5 permit source 192.168.1.0 0.0.0.255 //匹配192.168.1.0/24网段所有地址
[R1-acl-basic-2000]rule 6 permit source 172.16.1.0 0.0.0.255 //匹配172.16.1.0/24网段所有地址
//3. 在连接公网的接口调用:
[R1-GigabitEthernet0/0/1]nat outbound 2000 address-group 1 //这个意思是在映射IP地址的时候,顺便做端口转换

配置完成后:





Easy IP

原理:

  • Easy IP:实现原理和NAPT相同,同时转换IP地址、传输层端口,区别在于Easy IP没有地址池的概念,使用接口地址作为NAT转换的公有地址。
  • Easy IP适用于不具备固定公网IP地址的场景:如通过DHCP、PPPoE拨号获取地址的私有网络出口,可以直接使用获取到的动态地址进行转换。
  • Easy IP通过不同端口号允许将多个内部地址(私网地址)映射到网关出接口地址上的不同端口。
  • 缺点:不能实现公网主动访问私网ip地址(相当于对外不公开内网拓扑,其实也算优点,更安全)
  • 优点:节约IP地址


示例:



配置:

//1. 匹配私网地址:
[R1]acl 2000 //创建ACL
[R1-acl-basic-2000]rule 5 permit source 192.168.1.0 0.0.0.255 //匹配192.168.1.0/24网段所有地址
[R1-acl-basic-2000]rule 6 permit source 172.16.1.0 0.0.0.255 //匹配172.16.1.0/24网段所有地址
//2. 在连接公网的接口调用:
[R1-GigabitEthernet0/0/1]nat outbound 2000




服务器NAT(NAT Server)

原理:

  • NAT Server:指定*[公有地址:端口][私有地址:端口]*的一对一映射关系,将内网服务器映射到公网,当私有网络中的服务器需要对公网提供服务时使用。
  • 外网主机主动访问*[公有地址:端口]*实现对内网服务器的访问。
  • 一般用于有服务器的情况下,通过配置NAT服务器,可以使外网用户访问内网服务器,实现私有IP地址(端口)与公有IP地址(端口)一对一映射

示例:



配置:

[R1-GigabitEthernet0/0/1]nat server global 12.1.1.200 inside 192.168.1.100  //通过服务器NAT的方法,将私有IP地址192.168.1.100,映射成公有IP地址12.1.1.200

[R1-GigabitEthernet0/0/1]nat server protocol tcp global 12.1.1.100 www inside 192.168.1.200 //通过服务器NAT的方式,将私有IP地址192.168.1.200 映射成公有IP地址12.1.1.100 ,且协议为tcp

配置实现:





END

本文作者:Dark
版权声明:本文首发于Dark的博客,转载请注明出处!