网络地址转换NAT(Network Address Translation)技术作为延缓IPv4地址枯竭的方法之一,目前已经普遍流行于各种企业网络之中。NAT技术的出现改变了原来简答的网络结构变得复杂,在节省IP地址和保护网络的同时,也给网络追踪和网络安全带来了困难。本章主要学习NAT的基本配置,掌握NAT的工作原理以及在企业网络部署中的应用。

1静态NAT配置

1.1 实验目的

(1)理解NAT的工作原理与用途

(2)理解NAT的分类

(3)理解ip nat inside 和ip nat outside的使用

(4)掌握静态NAT的配置

1.2 实验原理

1.NAT简介

NAT最初定义在RFC1631,用在接入广域网中,通过修改IP报文的地址信息,实现将内部网络的私有地址到外部网络的公有地址的转换。NAT的产生原因和无分类域间路由(CIDR)一样,都是为了减缓IPv4地址耗竭的问题。NAT实现了私有地址到公有地址的转换,使得企业内部网络可以使用相同的私有地址,但在对外通信的时候却可以使用公有地址通信,降低了企业对公有地址的需求。

RFC1918定义了Internet中的私有地址,主要包含以下几类:

l A类:10.0.0.0~10.255.255.255

l B类:172.16.0.0~172.31.255.255

l C类:192.168.0.0~192.168.255.255

私有地址只能用于企业网络的内部通信,不用于Internet的通信,Internet上的路由器会丢弃目的IP为私有地址的报文。私有地址的出现使得每台主机的通信不必都申请公有地址,从而节省了IP地址,有助于缓解IPv4地址的枯竭。

NAT的相关术语:

NAT的一些术语

l 内部本地地址(Inside Local, IL),是指分配给内部网络主机的IP地址,该地址可能是非法的未向相关机构注册的IP地址,也可能是合法的私有网络地址。

l 内部全局地址(Inside Global,IG),合法的全局可路由地址,在外部网络代表着一个或多个内部本地地址。

l 外部本地地址(Outside Local,OL),外部网络的主机在内部网络中表现的IP地址,该地址是内部可路由地址,一般不是注册的全局唯一地址。

l 外部全局地址(Outside Global,OG),外部网络分配给外部主机的IP地址,该地址为全局可路由地址。

NAT除了应用在地址转换外,在网络的迁移和合并、服务器负载均衡、创建虚拟主机等方面也有很好的应用。

2.NAT分类

NAT根据其应用主要分成以下几类:静态地址映射NAT,动态地址映射NAT、端口映射NAPT、NAT负载均衡。

NAT类型

特点

静态NAT

一个私有IP固定映射一个公有IP地址,提供内网服务器的对外访问服务

动态NAT

私有IP映射地址池中的公有IP,映射关系是动态的,临时的

NAPT

私有IP地址和端口号与同一个公有地址加端口进行映射

静态转换NAT是最简单的方式,它在NAT表中为每个需要转换的内部地址创建了固定的转换条目,映射了唯一的全局地址。内部地址与全局地址一一对应。如:192.168.12.2 ---- 200.268.12.2。

如图9-1所示,内网主机A:172.16.10.10发送数据外网主机B:210.38.224.20。在数据到达网络边缘NAT路由器之前,报文的源IP为A的IP地址:172.16.10.10,目的IP为B的IP地址:210.38.224.20。报文到达路由器后,路由器会查找NAT映射表,取得172.16.10.10映射的内部全局地址202.80.20.1,继而将报文的源IP地址替换为202.80.20.1,如图中数据包2所示。在外网主机B和内网主机A的通信过程中,则会将报文的目的IP地址进行替换。

静态映射对外隐藏了内部主机的真实IP地址,起到保护内部主机的作用。静态NAT还可以让外部主机通过内部全局地址访问内部的服务器,在内网需要向外提供网络服务而又不愿意暴露真实IP地址通常使用该类NAT技术。

其他类型的NAT工作原理在本章的其他小节另有讲解。

3.NAT带来的问题

NAT技术的出现从一定程度上缓解了IPv4地址衰竭问题,但是NAT也让主机之间的通信变得复杂,导致通信效率的降低。NAT的应用带来了以下限制:

l 影响网络速度,NAT的应用会使NAT设备变成网络的瓶颈

l 跟某些应用不兼容,如果一些应用在有效载荷中协商下次会话的IP地址和端口号,NAT将无法对内嵌IP地址进行地址转换,造成这些程序不能正常运行

l 地址转换不能处理IP报头加密的报文

无法实现对IP端到端的路径跟踪,经过NAT地址转换后,对数据包的路径跟踪变得非常困难

4.静态NAT配置步骤

表1 静态NAT的配置步骤

配置说明

命令

步骤1

配置内部接口、和外部接口

//进入外部接口接口模式

Router(config-if)#interface  interface-id

Router(config-if)#ip nat outside

//进入内部接口接口模式

Router (config-if)#interface  interface-id

Router (config-if)#ip nat inside

步骤2

配置本地地址和全局地址的静态映射

Router (config)#ip nat inside source static

 x.x.x.x(本地地址)  x.x.x.x(全局地址)

步骤4

检查NAT的运行结果

Router #show ip nat translations 

命令详解:

(1)例1:置内网主机192.168.20.100能够被外网主机访问,外部访问地址为:200.30.2.100,NAT映射命令如下:

Router(config)# ip nat inside source static  192.168.20.100  00.30.2.100

(2)例2:配置内网主机192.168.20.100的Web服务80端口能够被外网访问,外部访问地址为200.30.2.100,NAT映射命令如下:

Router(config)# ip nat tcp inside  source static  192.168.20.100  80  00.30.2.100  80

(3) ip  nat  inside source与ip nat outside source的区别

ip nat inside source表示转换IP包的源地址,当数据包从内部发往外部;或者转换IP包的目的地址,当数据包从外部传输到内部。

Ip nat outside source表示转换IP包的源地址,当数据包从外部传输到内部;或者转换IP包的目的地址,当数据包从内部发往外部。

5.静态NAT配置实例

网络拓扑图如图2所示。

表2静态NAT网络IP地址表

设备

接口

IP地址

子网掩码

R1

Fa 0/0

192.168.1.1

/24

S2/0(DCE)

210.38.220.1

/24

R2

S2/0

210.38.220.2

/24

PC1

NIC

192.168.1.10

/24

PC2

NIC

192.168.1.20

/24

背景说明:

某公司需要访问外部网络,但是有需要向外隐藏内部的具体IP地址。同时,本公司的PC1主机192.168.1.10需要能够被外部主机访问,映射的本地全局地址为210.38.220.10。要求根据上述要求,配置R1和R2路由器,使得PC1能够访问外网,PC2不能够访问外网,外部网络可以访问PC1。

实验步骤:

步骤1:R1配置
R1(config)#int f0/0
R1(config-if)#ip add 192.168.1.1 255.255.255.0
R1(config-if)#ip nat inside                //配置f0/0接口为内部接口
R1(config-if)#no shutdown

R1(config-if)#int s2/0
R1(config-if)#clock rate 64000               //DCE,配置时钟频率
R1(config-if)#ip address 210.38.220.1 255.255.255.0
R1(config-if)#ip nat outside               //配置f0/0接口为外部接口
R1(config-if)#no shutdown                //激活接口

R1(config)#ip nat inside source static 192.168.1.10 210.38.220.10 //配置内网地址192.168.1.10到外网地址210.38.220.10的静态映射
步骤2:R2配置
R2(config)#int s2/0
R2(config-if)#ip address 210.38.224.2 255.255.255.0   //配置接口IP地址
R2(config-if)#no shutdown
步骤3:检查配置结果与测试

(1)测试内网主机到外网通信。PC1上ping 路由器的接口。

C:\>ping 210.38.220.2

Pinging 210.38.220.2 with 32 bytes of data:

Reply from 210.38.220.2: bytes=32 time=94ms TTL=254

Reply from 210.38.220.2: bytes=32 time=93ms TTL=254

Reply from 210.38.220.2: bytes=32 time=78ms TTL=254

Reply from 210.38.220.2: bytes=32 time=78ms TTL=254

Ping statistics for 210.38.220.2:

Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),

Approximate round trip times in milli-seconds:

Minimum = 78ms, Maximum = 94ms, Average = 85ms

(2)测试外网主机访问内网。

(3)使用debug命名查看IP地址变化。

R2#debug ip icmp

ICMP: echo reply sent, src 210.38.220.2, dst 210.38.220.10

ICMP: echo reply sent, src 210.38.220.2, dst 210.38.220.10

ICMP: echo reply sent, src 210.38.220.2, dst 210.38.220.10

ICMP: echo reply sent, src 210.38.220.2, dst 210.38.220.10

在R2上使用debug命令查看来自于PC1的ICMP报文,可以观察到报文的源地址已经变成210.38.220.2,说明完成了静态映射功能。

(4)查看路由器的NAT地址转换表。

R1#sh ip nat translations

Pro  Inside global     Inside local       Outside local      Outside global

---  210.38.220.10     192.168.1.10       ---                ---

在R1上使用show ip nat translations查看路由器中的静态映射表,可以看到Inside local(本地局部地址)和Inside global(本地全局地址)的映射关系已经建立。

网络地址转换--静态NAT相关推荐

  1. java nat 端口转发_NAT网络地址转换——静态NAT,端口映射(实操!!)

    NAT概述 NAT(Network Address Translation,网络地址转换)是1994年提出的.当在专用网内部的一些主机本来已经分配到了本地IP地址(即仅在本专用网内使用的专用地址),但 ...

  2. linux配置nat端口转换,NAT网络地址转换——静态NAT,端口映射(实操!!)

    NAT概述 NAT(Network Address Translation,网络地址转换)是1994年提出的.当在专用网内部的一些主机本来已经分配到了本地IP地址(即仅在本专用网内使用的专用地址),但 ...

  3. 什么是网络地址转换(NAT)—Vecloud 微云

    网络地址转换(NAT)最初在RFC 1631中进行了描述.尽管最初是作为防止IPv4地址耗尽的短期解决方案提出的,但仍在使用它.NAT有什么特别之处,使网络工程师可以使用26年以上?让我们找出答案. ...

  4. CCNA之网络地址转换(NAT)简介

    网络地址转换(NAT) 1.  在什么情况下使用NAT 需要连接到因特网,但主机没有全局唯一的IP地址: 更换的ISP要求对网络进行从新编址: 需要合并两个使用相同编址方案的内联网. 实现NAT的优缺 ...

  5. 网络地址转换(NAT)(二)

    作者简介:一名在校计算机学生.每天分享网络运维的学习经验.和学习笔记.   座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页​​​​​​ 目录 前言 一.NAT的配置 1.NAT静态配置 (1)静态 ...

  6. 网络地址转换(NAT)技术

    网络地址转换原理 NAT技术的基本原理 NAT技术通过对IP报文头中的源地址或目的地址进行转换,可以使大量的私网IP地址通过共享少量的公网IP地址来访问公网. NAT是将IP报文报头中的IP地址转换为 ...

  7. virtualbox只能选用网络地址转换(NAT)模式下搭建个人局域网

    个人博客:https://suveng.github.io/blog/​​​​​​​ virtualbox只能选用网络地址转换(NAT)模式下搭建个人局域网 这里先引用以为大佬的博客,上面清楚的介绍虚 ...

  8. virtualbox 网络地址转换(NAT)

    因为个人在工作的时候条件比较充足,基本上不需要用到 virtualbox 或者 vmware 等这些虚拟软件,一个是因为他们占用本机的资源挺大的,电脑配置稍微低点就很难受了,所以说的条件充足是因为我多 ...

  9. 网络地址转换协议NAT功能详解+NAT配套练习题

    一.NAT定义 NAT(Network Address Translator,网络地址转换)是用于在本地网络中使用私有地址,提供私有地址到公有地址的转换,在连接互联网时转而使用全局 IP 地址的技术. ...

最新文章

  1. Cocos2d-x 3.0正式版及android环境搭建
  2. redis、kafka、rabittMQ对比
  3. JAVA NIO是什么(zz)
  4. PCB电流和线宽的关系(通俗易懂)
  5. System.Type类
  6. DedeCMS高仿老版chinaz站长网模板
  7. 埃森哲:AI成新生产要素,2035年将中国经济增速提高1.6% | 附下载
  8. wps文档怎么画流程图6_wps文字如何绘制流程图图文教程
  9. 捷联惯导系统学习2.2(方向余弦)
  10. 基于SSM框架的毕业设计管理系统的设计与实现(附资源下载)
  11. 全球及中国柔性石材行业研究及十四五规划分析报告
  12. 【蓝桥杯Web】第十四届蓝桥杯(Web 应用开发)模拟赛 1 期-大学组 | 精品题解
  13. Win10 微软拼音开启小鹤双拼的两种方法
  14. mysql下载个压缩文件怎么安装_压缩包法安装mysql
  15. 订单查询系统c语言作业,C语言设计订单管理系统答题.doc
  16. JAVA分割字符串的方法
  17. 关键字super的含义及应用
  18. android 反色 java_Android6.0状态栏图标原生反色操作
  19. SVN提示E200033: Another process is blocking the working copy database错误的解决方法
  20. H3C Inode查看卸载密码的方法

热门文章

  1. 大学计算机学习计划书,大学学习计划书500字
  2. linux内核下载编译
  3. GIS开发进阶之路(十四) ArcEngine打开cad文件的五种方法、ArcGIS Engine错误码
  4. ipad手写笔哪个牌子好用?便宜的ipad触控笔
  5. python安装指南及spyder基本使用
  6. 多人共享EXCEL文件使用
  7. _IO(), _IOR(), _IOW(), _IOWR() 宏的用法与解析
  8. Unity3D中引用Spine2D动画研究学习(一)
  9. Vue2.0实现炫酷的主题切换功能
  10. ROS入门的基本操作