目录
什么是NAT
NAT就是网络地址转换,用于在本地网络中使用私有地址,在连接互联网时转而使用全局 IP 地址的技术。地球上约42亿9千万的IPV4地址在2019年已使用殆尽,所以NAT地址其实是为了解决IPV4地址短缺而出现的技术。
NAT工作原理
NAT用来将内网地址和端口号转换成合法的公网地址和端口号,建立一个会话,与公网主机进行通信。NAT外部的主机无法主动跟位于NAT内部的主机通信,NAT内部主机想要通信,必须主动和公网的一个IP通信,路由器负责建立一个映射关系,从而实现数据的转发。
看图
以家庭使用网络来举例。我们买了电脑或手机在家是不能直接连上网的,我们需要去办宽带,然后移动或者电信的人来家里帮我们装网,装完之后才能上网。这里就直接说电信吧,上文说到,地球上的IPV4地址已经被使用殆尽了,所以咱们连上网的时候用的ip地址不可能是公网地址的,是由电信给你的那个比如说路由器(公司一般把NAT做在防火墙上),分配给你的私网地址, 在你请求通讯的时候,目的IP不变,源IP在经过路由器的时候,因为你的私网地址是虚拟的,所以人家返回数据的时候肯定找不到你。这时候路由器就用电信给它的公网地址“代替”你去访问200.1.2.3,目标IP不变。然后200.1.2.3肯定是能识别这个公网地址的就将数据返回回去,源IP地址也是一直不变的,只是目的IP在到达了设备之后,因为设备是有记录功能的,刚才是你请求访问的,现在再把数据传给你,这时候目的IP变成了电信路由器分配给你的私有IP,源IP还是不变。
NAT功能
NAT不仅能解决IP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。
1.宽带分享:这是 NAT 主机的最大功能。
2.安全防护:NAT 之内的 PC 联机到 Internet 上面时,其所显示的 IP 是 NAT 主机的公共 IP,所以 Client 端的 PC 当然就具有一定程度的安全了,外界在进行 portscan(端口扫描) 的时候,就侦测不到源Client 端的 PC 。
优点:节省公有合法IP地址、处理地址重叠、增强灵活性、安全性
缺点:延迟增大、配置和维护的复杂性、不支持某些应用
静态NAT
静态NAT实现私网地址和公网地址的一对一转换。有多少个私网地址就需要配置多少个公网地址。静态NAT不能节约公网地址,但可以起到隐藏内部网络的作用。
内部网络向外部网络发送报文时,静态NAT将报文的源IP地址替换为对应的公网地址:外部网络向内部网络发送响应报文时,静态NAT将报文的目的地址替换为相应的私网地址。
ENSP静态NAT配置
有2种配置方法:
第一种: 全局模式下设置静态NAT
[R1]nat static global 8.8.8.8 inside 192.168.10.10
[R1]int g0/0/1 ###外网口
[R1-GigabitEthernet0/0/1]nat static enable ###在网口上启动nat static enable功能
第二种:直接在接口上声明nat static
[R1]int g0/0/1 ###外网口
[R1-GigabitEthernet0/0/1]nat static global 8.8.8.8 inside 192.168.10.10
[R1]dis nat static ###查看NAT静态配置信息
动态NAT
多个私网IP地址对应多个公网IP地址,基于地址池一对一映射
配置
1、配置外部网口和内部网口的IP地址
2、定义合法IP地址池
[R1]nat address-group 1 212.0.0.100 212.0.0.200 ###新建一个名为1的nat地址池
3、定义访问控制列表
[R1]acl 2000 ###创建ACL,允许源地址为192.168.20.0/24网段和11.0.0.0/24的数据通过
[R1-acl-basic-2000] rule permit source 192.168.20.0 0.0.0.255
[R1-acl -basic-2000]rule permit source 11.0.0.0 0.0.0.255
4、在外网口,上设置动态IP地址转换
[R1-acl-basic-2000]int g0/0/1 ###外网口
[R1-GigabitEthernet0/0/1]nat outbound 2000 address-group 1 no-pat #将ACL 2000匹配的数据转换为改接口的IP地址作为源地址(no pat 不做端口转换,只做IP地址转换,默认为pat)
[R1]dis nat outbound ###查看NAT Outbound的信息 inbound是端口入方向 outbound是端口出方向
PAT端口复用
PAT又称为NAPT ,它实现一个公网地址和多个私网地址之间的映射,因此可以节约公网地址。PAT的基本原理是将不同私网地址的报文的源IP地址转换为同一公网地址,但他们被转换为该地址的不同端口号,因而仍然能够共享同一地址。
具体过程如下:
内部网络的设备向外部网络发起连接,请求数据包通过路由器或网关发送到外部网络。
路由器将每个内部设备的私有IP地址和端口号映射到一个公共IP地址和唯一的端口号。这些映射记录保存在一个NAT表中。
路由器替换数据包的源IP地址为公共IP地址,并将源端口号替换为一个唯一的端口号,然后将数据包发送到外部网络。
路由器在NAT表中记录内部设备的私有IP地址、私有端口号、公共IP地址和公共端口号的映射关系。
当外部网络的响应数据包到达路由器时,路由器根据NAT表中的记录将公共IP地址和端口号还原为原始的私有IP地址和端口号。
路由器将还原后的数据包转发给相应的内部设备。
总的来说,PAT有以下作用:
1.改变数据包的ip地址和端口号,灵活应对不同的网络需求。
2.因为是多个私网地址对应一个公网地址,所以能够大量节约公网IP地址。
PAT的类型有以下:
1.动态PAT,包括NAPT和Easy IP: NAT是一对一转换 NAPT 多对一转换
Easy IP是多个私网IP地址对应路由器外网接口公网IP地址,但是无需地址池。
2.静态PAT,包括NAT Server.
NAT Server是端口映射,将私网地址端口映射到公网地址,实现内网服务器供外网用户访问。