在网络的不同类型中,除了私有网络外,还有公共网络,他们之间需要互相关联才能充分发挥各自的功能。网络地址转换(NAT)不仅可以实现私有网络和公共网络中的资源互访,还能提供一定的安全访问功能
NAT的基本概念
NAT是一个IETF(Internet Engineering Task Force, Internet工程任务组)标准,NAT是一种把内部私网IP地址转换成合法的外部公网IP地址的技术。
当今的Internet使用TCP/IP实现了全世界的计算机互联互通,每一台连入Internet的计算机都要和别的计算机通信,都必须拥有一个唯一的、合法的IP地址,此IP地址由Internet管理机构NIC统一进行管理和分配。而NIC分配的IP地址称为公有的、合法的IP地址,这些IP地址具有唯一性,连入Internet的计算机只要拥有NIC分配的IP地址就可以和其他计算机通信。
但是,由于当前TCP/IP协议版本是IPv4,它具有天生的缺陷,就是IP地址数量不够多,因此难以满足目前爆炸性增长的IP需求。所以,不是每一台计算机都能申请并获得NIC分配的IP地址。一般而言,需要连上Internet的个人或家庭用户,通过Internet的服务提供商ISP间接获得合法的公网IP地址(例如,用户通过ADSL线路拨号,从电信获得临时租用的公网IP地址)。对于大型机构而言,它们可能直接向Internet管理机构申请并使用永久的公网IP地址,也可能通过ISP间接获得永久或临时的公网IP地址
由于无论通过哪种方式获得公网IP地址,实际上当前的可用IP地址数量依然不足。IP地址作为有限的资源,NIC要为网络中数以亿计的计算机都分配公网IP地址是不可能的。同时,为了使计算机能够具有IP地址并在专用网络(内部网络)中通信,Internet管理机构NIC定义了供专用网络内的计算机使用的专用IP地址。这些IP地址地址是在局部使用的(非全局的、不具有唯一性)、非公有网络(私有网络)IP地址,这些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
组织机构可根据自身园区网的大小及计算机数量的多少来采用不同类型的专用地址范围或者它们的组合。但是,这些IP地址不可能出现在Internet上,也就是说源地址或目的地址为这些专有IP地址的数据包,不可能在Internet上被传输,这样的数据包只能在内部专用网络中被传输。
如果专用网络的计算机要访问Internet,那么组织机构在连接Internet的设备上至少需要一个公网IP地址,采用NAT技术将内部专用网络的计算机专用IP地址转换为公网IP地址,从而让使用专用IP地址的计算机能够和Internet的计算机进行通信。如图15-2所示,通过NAT设备能够将专用网络内的专用IP地址和公网IP地址互相转换,从而使专用网络内使用专用地址的计算机能够和Internet的计算机通信。
也可以说,NAT就是将网络地址从一个地址空间转换到另外一个地址空间的一种技术,从技术原理的角度上来讲,NAT分成4种类型:静态NAT、动态NAT、静态NAPT及动态NAPT
静态NAT
静态NAT是指在路由器中,将私网IP地址固定地转换为公网IP地址,通常应用在允许外网用户访问内网服务器的场景。 静态NAT的工作过程如图所示。
专用网络中采用192.168.1.0/24的C类专用地址,专用网络采用带有NAT功能的路由器和Internet互联,路由器左网卡连接着内部专用网络(左IP地址是192.168.1.254/24),右网卡连接着Internet(右IP地址是8.8.8.1/24),而且路由器还有多个公网IP地址可被转换使用(8.8.8.2~8.8.8.5),Internet上的计算机C的IP地址是8.8.8.8/24。假设外部网络的计算机C需要和内部网络的计算机A通信,其通信过程如下
① 计算机C发送数据包给计算机A,数据包的源IP地址(Source Address,SA)为8.8.8.8,目的IP地址(Destination Address,DA)为8.8.8.3(在外网,计算机A的IP地址为8.8.8.3)。
② 数据包到达路由器时,路由器将查询本地的NAT映射表,找到映射条目后将数据包的目的IP地址(8.8.8.3)转换为私网IP地址(192.168.1.1),源IP地址保持不变。NAT路由器上有一个公网IP地址池,在本次通信前,网络管理员已经在NAT路由器上做静态NAT地址映射,指定192.168.1.1与8.8.8.3映射。
③ 转换后的数据包在内网中传输,最终将被计算机A接收。
④ 计算机A收到数据包后,先将响应内容封装在目的IP地址为8.8.8.8的数据包中,然后将该数据包发送出去
⑤ 目的IP地址为8.8.8.8数据包到达路由器后,路由器将对照自身的NAT映射表找出对应关系,将源IP地址192.168.1.1转换为8.8.8.3,并将该数据包发送到外部网络中。
⑥ 目的IP地址为8.8.8.8的数据包在外部网络中传送,最终到达计算机C。计算机C通过数据包的源IP地址(8.8.8.3)得知此数据包是由路由器发送过来的,实际上,该数据包是计算机A发送的。
静态NAT主要用于专用网络内的服务器需要对外提供服务的场景,由于它采用固定的一对一的内外网IP映射关系,因此,外网的计算机可以通过访问这个公网IP地址就可以访问到内网的服务器
通过NAT映射内部服务器需要使用专用的公网IP地址,故需要申请2个以上的公网IP地址,一个用于服务器映射,一个用于内网的通信,这里使用16.16.16.1和16.16.16.16作为公网IP地址。网站服务器处于内部网络,IP地址为192.168.1.1,需要在出口路由器配置静态NAT,将公网IP地址16.16.16.1实现一对一映射,这样即可通过公网IP地址直接访问内网的服务器。在互联网连接方面,出口路由器可根据ISP服务商的网络环境配置相应的路由协议
ensp模拟
A公司搭建了网站服务器,用于对外发布公司官网。为了保障内部网络的安全和解决私网 IP 地址在公网的信息传输问题,需要在出口路由中配置 NAT ,使内部服务器映射到公网 IP 地址上,且内网 PC1 能直接访问外部网络,因此公司申请两个公网 IP 地址做映射,实训拓扑图如图所示
绘制拓扑图
各机器配置ip地址以及网关
配置路由器接口
在路由器接口上配置对应的IP地址
使用【display ip interface brief】命令查看接口IP信息
配置静态NAT
在接口视图下,【nat static global global-address inside host-address】命令的作用是将公网IP地址 global-ades映射到私网IP地址 host-addres
在路由器连接外网的g0/0/0接口进行静态NAT配置,将公网IP地址202.101.2.101 , 202.101.2.100转换为私网IP地址192.168.10.1,192.168.10.100
使用【display nat static】验证NAT静态配置信息
在R1上使用【display nat session】命令查看NAT转换信息 (不会立马有信息,下一步ping后才会有信息)
模拟外网用户的pc3 ping 网站服务器和内网用户(这步之后上面R1那里才会有NAT转换信息)