NAT网络地址转换

NAT

NAT是一种将私有地址转换成公有地址的技术,它实现了私有网络中主机通过共享少量公有地址访问Internet
IP地址日益短缺,网络规模扩大,内网用户增加
在享受NAT带来的好处同时,也带来了相应的限制
1、影响网络速度。NAT的应用可能会使NAT设备成为网络的瓶颈
2、跟某些应用不兼容。如果一些应用在有效载荷中协商下次会话的IP地址和端口号,NAT将无法对内嵌IP地址进行地址转换,造成这些应用不能正常运行
3、地址转换不能处理IP报头加密的报文。
4、无法实现对IP端对端的路径跟踪。经过NAT地址转换之后,这种追踪变得十分困难
基本术语
1、inside:表示内部网络,这些网络地址需要被转换
2、outside:表示内部网络需要连接的网络,一般称为外部网络

NAT分类

1、NAT分为Basic NAT和PAT
(1)、Basic NAT只转化IP,不映射端口
(2)、PAT除了转换IP,还做端口映射,可以用于多个内部地址映射到少量外部地址
2、NAT还可以分为静态NAT和动态NAT
(1)、静态NAT:将内部网络的每个主机永久映射成外部网络中的合法地址,多用于服务器
(2)、动态NAT:在外部网络中定义一个或多个地址,采用动态分配的方式映射到内部网络

实验步骤

拓扑图,配置好端口ip以及主机ip
在这里插入图片描述
设置单向静态路由,实现内部能向外传,但外部不能传入内部,不能互通

Router(config)#ip route 192.168.2.0 255.255.255.0 192.168.3.2 

NAT路由器和外网路由器查看一下路由表
在这里插入图片描述在这里插入图片描述现在查看内网主机能否ping通外网主机,发现是不能的,接下来我们基于这个来做实验
在这里插入图片描述

内部地址静态NAT

将内部服务器地址与internet网段上的192.168.3.3/24地址绑定,外部主机访问内部服务器就可以通过这个192.168.3.3/24这个地址

NATrouter(config)#int fa0/0
NATrouter(config-if)#ip nat inside
NATrouter(config-if)#exit
NATrouter(config)#int s0/0/0
NATrouter(config-if)#ip nat outside
NATrouter(config-if)#exit
//给内部服务器分一个外网的固定地址
NATrouter(config)#ip nat inside source static 192.168.1.3 192.168.3.3 

查看nat表
在这里插入图片描述在这里插入图片描述

动态NAT

动态NAT是建立内部本地地址和内部全局地址池的临时映射关系,过一段时间就会删除
(1)、定义一个全局地址池
ip nat pool address-pool start-address end-address netmask mask
(2)、定义访问列表
access-list access-list-number permit ip-address wildcard
(3)、绑定地址池和访问列表,定义内部源地址动态转换关系
ip nat inside source list access-list-number pool address-pool

NATrouter(config)#int fa0/0
NATrouter(config-if)#ip nat inside
NATrouter(config-if)#exit
NATrouter(config)#int s0/0/0
NATrouter(config-if)#ip nat outside
NATrouter(config-if)#exit
//创建地址池,这里建议多划分出几个网段,测试结果才明显
NATrouter(config)#ip nat pool sansui 192.168.3.10 192.168.3.30 netmask 255.255.255.0
//定义访问列表
NATrouter(config)#ip access-list standard 1
NATrouter(config-std-nacl)#permit 192.168.1.0 0.0.0.255
NATrouter(config-std-nacl)#exit
//绑定
NATrouter(config)#ip nat inside source list 1 pool sansui

查看结果,发现pc0地址和192.168.3.10地址绑定了,同时也实现了通信
在这里插入图片描述在这里插入图片描述

静态PAT(NAPT)

比如将内网服务器的80端口映射给外网地址的80端口,实现外部主机访问内部主机

NATrouter(config)#int fa0/0
NATrouter(config-if)#ip nat inside
NATrouter(config-if)#exit
NATrouter(config)#int s0/0/0
NATrouter(config-if)#ip nat outside
NATrouter(config-if)#exit
//这是将其转换为192.168.3.6端口80上,外部主机想要访问内网服务器,就直接访问192.168.3.6:80就可以了,
NATrouter(config)#ip nat inside source static tcp 192.168.1.3 80 192.168.3.6 80

查看一下nat表,发现,这里地址和端口都映射出来了
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值