网络地址转换NAT

NAT(网络地址转换)通过修改IP报文的地址信息,实现内部私有地址到外部公有地址的转换,以缓解IPv4地址耗竭问题。本文介绍了NAT的基本概念,包括静态NAT、动态NAT和端口NAT(PAT),并详细阐述了每种类型的配置步骤。NAT除了地址转换外,还在网络迁移、服务器负载均衡等方面发挥作用,但也存在影响网络速度、与某些应用不兼容等问题。
摘要由CSDN通过智能技术生成


记录大学时的网络地址转换NAT学习经过,当时参考了一些网络资料,出处已难寻,如有误,请不吝赐教。
网络地址转换NAT(Network Address Translation)技术作为延缓IPv4地址枯竭的方法之一,目前已经普遍流行于各种企业网络之中。NAT技术的出现改变了原来简单的网络结构,使其变得复杂,在节省IP地址和保护网络的同时,也给网络追踪和网络安全带来了困难。

NAT简介

NAT最初定义在RFC1631,用在接入广域网中,通过修改IP报文的地址信息,实现将内部网络的私有地址到外部网络的公有地址的转换。NAT的产生原因和无分类域间路由(CIDR)一样,都是为了减缓IPv4地址耗竭的问题。NAT实现了私有地址到公有地址的转换,使得企业内部网络可以使用相同的私有地址,但在对外通信的时候却可以使用公有地址通信,降低了企业对公有地址的需求。
RFC1918定义了Internet中的私有地址,主要包含以下几类:
1.A类:10.0.0.0~10.255.255.255
2.B类:172.16.0.0~172.31.255.255
3.C类:192.168.0.0~192.168.255.255
私有地址只能用于企业网络的内部通信,不用于Internet的通信,Internet上的路由器会丢弃目的IP为私有地址的报文。私有地址的出现使得每台主机的通信不必都申请公有地址,从而节省了IP地址,有助于缓解IPv4地址的枯竭。
NAT的相关术语:

名称 定义
内部本地地址(Inside Local, IL) 指分配给内部网络主机的IP地址,该地址可能是非法的未向相关机构注册的IP地址,也可能是合法的私有网络地址
内部全局地址(Inside Global,IG) 合法的全局可路由地址,在外部网络代表着一个或多个内部本地地址
外部本地地址(Outside Local,OL) 外部网络的主机在内部网络中表现的IP地址,该地址是内部可路由地址,一般不是注册的全局唯一地址
外部全局地址(Outside Global,OG) 外部网络分配给外部主机的IP地址,该地址为全局可路由地址

个人理解:
1.内部本地地址就是自己人开局域网玩(北京,上海,广州,深圳,武汉,重庆,成都等等),还不让人知道我们有多少玩家,叫什么,怎么组队的;
2.内部全局地址就是局域网数据包通过路由器出去广域网时统一身份(只有一个中国),而广域网数据包进自己人的局域网时,路由器里的映射表会给自己人一一对应(中国北京–北京,中国上海–上海,中国广东–广东等等);
3.而外部本地地址即是外部的人自己开的局域网(华盛顿,纽约,洛杉矶等等),同理也不让人知道有多少玩家,叫什么,怎么组队的;
4.外部全局地址即是外部的人自己开的局域网的数据包通过路由器出去广域网时统一身份(美利坚联邦)。

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

NAT分类

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

NAT类型 特点
静态NAT 一个私有IP固定映射一个公有IP地址,提供内网服务器的对外访问服务
动态NAT 私有IP映射地址池中的公有IP,映射关系是动态的,临时的
NAPT 私有IP地址和端口号与同一个公有地址加端口进行映射

静态NAT

静态转换NAT是最简单的方式,它在NAT表中为每个需要转换的内部地址创建了固定的转换条目,映射了唯一的全局地址。内部地址与全局地址一一对应。如:192.168.12.2 ---- 200.268.12.2。
静态NAT的工作原理
如图所示,内网主机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配置步骤

步骤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 200.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 200.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包的目的地址,当数据包从内部发往外部。

配置实例:
静态NAT网络拓扑图
地址表如下:

设备 接口 IP地址 子网掩码
R1 Fa 0/0 192.168.1.1 /24
R1 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               //配置s0/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</
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值