网络地址转换——NAT

1.NAT简介

        IPv4地址的长度为32比特,针对于目前全世界人口来说,IPv4地址的数量非常有限,因此在进行IP划分的时候,分为了私网地址和公网地址。同时,在互联网环境中,为了保证内网数据的安全性,公网中不能有私网路由。当内网访问互联网时,就需要将内网地址转换成公网地址进行访问,这个技术就是NAT(网络地址转换)技术。

2.静态NAT

        静态NAT是通过手工指定,将一个公网地址和一个私网地址映射,是一对一的关系。

        由于公网中不能有私网的路由,因此当R1的内网PC1通过互联网访问外网的服务器时,需要进行地址的转换。将内网地址192.168.1.1转换成公网地址201.1.100.1。在出口路由器R1上,会维护一张NAT的静态地址映射表。

        静态NAT映射表
内网地址公网地址
192.168.1.1201.1.100.1

         当R1内网通过互联网访问外网服务器时,源地址192.168.1.1,目的地址202.1.100.2。数据到达R1,R1根据路由的出接口,查看出接口下的NAT地址转换,数据变为源地址201.1.100.1,目的地址202.1.100.2。R2在回复数据时,源地址202.1.100.2,目的地址201.1.100.1。回复数据到达R1,R1发现目的地址是201.1.100.1,查看静态NAT映射表,将数据转成源地址202.1.100.2,目的地址192.168.1.1,最终到达PC1。

        静态NAT配置:

方式一:
[r1]nat static global 201.1.100.1 inside 192.168.1.1 ---配置静态NAT映射
[r1-GigabitEthernet0/0/0]nat static enable ---接口下使能静态NAT功能
方式二:
[r1-GigabitEthernet0/0/0]nat static global 201.1.100.1 inside 192.168.1.1 ----直接在接口下配置静态NAT映射

3.动态NAT

        静态NAT虽然可以解决让内网主机访问外网的问题,但是由于静态NAT是一对一的映射,每一个私网都要一个公网地址才能进行访问,过于浪费公网地址,而且公网地址并不是免费的,购买公网地址需要高昂的费用。为了解决这一问题,可以通过动态NAT的方式来进行公网和私网的转换。

        动态NAT需要创建一个公网地址池,在地址池中存放多个公网地址,每当一台内网主机需要访问公网时,都可以在公网地址池中选择一个空闲的公网地址使用,当主机不再需要访问互联网时,就会把公网地址释放到公网地址池中,然后可以分配给其他的主机使用。  

公网地址池
201.1.100.1:inuse
201.1.100.2:inuse
地址映射表
201.1.100.1192.168.1.1
201.1.100.2192.168.2.1

        当R1内网PC1通过互联网访问外网服务器时,源地址192.168.1.1,目的地址202.1.100.2。数据到达R1,R1根据路由的出接口,查看出接口下的NAT地址转换,将地址池中空闲的地址分配一个给内网做转换,数据变为源地址201.1.100.1,目的地址202.1.100.2,并加载到session会话表中。R2在回复数据时,源地址202.1.100.2,目的地址201.1.100.1。回复数据到达R1,R1发现目的地址是201.1.100.1,根据NAT的session表,查看协议以及源目IP的映射关系,将数据转成源地址202.1.100.2,目的地址192.168.1.1,最终到达PC1。 

        同时当R1内网PC2通过互联网访问外网服务器时,源地址192.168.2.1,目的地址202.1.100.2。数据到达R1,R1根据路由的出接口,查看出接口下的NAT地址转换,此时地址池中只有201.1.100.2是空闲的,因此数据变为源地址201.1.100.2,目的地址202.1.100.2,并把映射关系加载到session表中。R2在回复数据时,源地址202.1.100.2,目的地址201.1.100.2。回复数据到达R1,R1发现目的地址是201.1.100.2,查看NAT的session表,查看协议以及源目IP的映射关系,将数据转成源地址202.1.100.2,目的地址192.168.2.1,最终到达PC2。 

        当内网终端不需要访问互联网时,会将使用的公网地址释放到公网地址池中。

        NAT的session会话表,是记录当前会话信息的。在session表中,会包含协议类型,源目IP地址,端口号,转换后的新源目地址以及新端口号。当相应协议的通信结束后,session表中的会话记录就会删除掉。

        NAT的session会话表: 

        此次通信,源地址192.168.1.1,目的地址205.100.2.2,源端口51541,经过NAT转换后,新的源变成了202.1.100.1,新的端口是11143。 

 

        动态NAT配置:

[r1]nat address-group 1 201.1.100.1 201.1.100.5 ---创建地址池
[r1]acl 2000 ----创建基本acl 2000
[r1-acl-basic-2000]rule 5 permit source 192.168.1.1 0 ----匹配要转换的内网地址
[r1-acl-basic-2000]rule 10 permit source 192.168.2.1 0 ----匹配要转换的内网地址
[r1-GigabitEthernet0/0/0]nat outbound 2000 address-group 1 no-pat ----接口出方向配置NAT动态转换

4.NAPT

        动态NAT虽然可以解决静态NAT浪费过多公网地址,费用成本过高的问题,但是动态NAT支持的并发上网主机数量,和地址池中的公网地址数量有关,因此,当有大量内网用户需要同时上网时,动态NAT不支持这么大的并发,而且公网地址池中的地址也需要一定的成本。

        NAPT,网络地址端口转换可以通过使用一个公网地址的不同端口号,来映射不同的私网地址和端口号,提升了公网地址的使用效率以及可以支持内网终端上网的并发数量。

         当不同的私网地址访问公网时,不仅把内网地址转换成地址池中的公网地址,还可以把内网源端口更改为公网地址的端口,可以实现一个公网映射多个私网地址的功能。

        192.168.1.1访问web服务器时,源端口号为10321,在NAT路由器上,将源地址转换成122.1.2.2,源端口号转换成1025,建立session会话表项,当web服务器回包时,目的IP为122.1.2.2,源端口号为1025,NAT路由器查看session表,根据会话项再将目的地址转换成192.168.1.1,目的端口号转换成10321。

        NAPT配置:

[r1]nat address-group 1 201.1.100.1 ---创建地址池
[r1]acl 2000 ----创建基本acl 2000
[r1-acl-basic-2000]rule 5 permit source 192.168.1.1 0 ----匹配要转换的内网地址
[r1-acl-basic-2000]rule 10 permit source 192.168.2.1 0 ----匹配要转换的内网地址
[r1-GigabitEthernet0/0/0]nat outbound 2000 address-group 1  ----接口出方向配置NAPT

5.Easy IP

        NAPT需要创建地址池来进行地址转换,通常我们只有出口路由器上有一个公网地址,因此,easy ip是NAPT的简化版本,直接使用出接口的地址作为公网地址,不需要再创建地址池。

        easy ip 配置:

[r1]acl 2000 ----创建基本acl 2000
[r1-acl-basic-2000]rule 5 permit source 192.168.1.1 0 ----匹配要转换的内网地址
[r1-acl-basic-2000]rule 10 permit source 192.168.2.1 0 ----匹配要转换的内网地址
[r1-GigabitEthernet0/0/0]nat outbound 2000  ----接口出方向配置easy ip
----------------------------------------------------------------------------
[r1-GigabitEthernet0/0/0]nat outbound 2000 inrterface loopback 0 ----也可以引用loopback接口作为公网地址在接口出方向做NAT转换

6.NAT Server

        在互联网中,除了内网访问外网意外,还会有内网向外网提供服务的场景,在静态NAT模式下,可以实现内网和外网之间的互通,但是成本太大。easy ip是使用出接口地址和端口号作为公网地址和端口的转换的,因此,我们可以使用NAT Server的方式,将内网的地址和端口映射为公网的地址和端口,供外网来访问。当外网访问映射的公网IP和端口时,相当于是访问的内网的IP地址和端口号。

NAT Server配置:仅仅对外提供telnet服务

[r1-GigabitEthernet0/0/0]nat server protocol tcp global current-interface 2323 inside 192.168.1.1 23 ----将当前接口的2323端口映射成为内网地址的23端口

 NAT Server配置:对外提供所有服务

[r1-GigabitEthernet0/0/0]nat server global 202.1.100.1 inside 192.168.1.1

7.NAT实验

        拓扑:

 描述:PC1模拟公司内网主机,R1为出口路由器,配置Easy IP转换内网地址,配置缺省路由指向R2,R2为公网路由器,内部有台服务器需要对外提供FTP服务,将内网21端口映射为出口公网IP的2121端口对外提供服务。

基本信息:

设备接口IP地址子网掩码网关
PC1E0/0/1192.168.1.124192.168.1.254
ServerE0/0/0192.168.2.124192.168.2.254
ClientE0/0/0205.100.2.224205.100.2.3
R1G0/0/0202.1.100.124
G0/0/1192.168.1.25424
G0/0/2192.168.2.25424
R2G0/0/0202.1.100.224
G0/0/1205.100.2.324
loopback0205.100.2.232

R1配置:

#
acl number 2000  
 rule 5 permit source 192.168.1.0 0.0.0.255 
#
interface GigabitEthernet0/0/0
 ip address 202.1.100.1 255.255.255.0 
 nat server protocol tcp global current-interface 2121 inside 192.168.2.1 ftp
 nat outbound 2000
#
interface GigabitEthernet0/0/1
 ip address 192.168.1.254 255.255.255.0 
#
interface GigabitEthernet0/0/2
 ip address 192.168.2.254 255.255.255.0 
#
ip route-static 0.0.0.0 0.0.0.0 202.1.100.2

R2配置:

#
interface GigabitEthernet0/0/0
 ip address 202.1.100.2 255.255.255.0 
#
interface LoopBack0
 ip address 205.100.2.2 255.255.255.255 

 PC1ping测试:

公网抓包查看:   公网访问内网FTP服务器:

  • 5
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值