Loading

NAT(网络地址转换)

一、NAT的介绍#

1-1 为什么要发展NAT#

因特网面临的一个问题是IP地址短缺问题。解决这个问题有所谓长期的或短期的两种解决方案。
长期的解决方案就是使用具有更大地址空间的IPv6 协议
短期的解决方案有网络地址翻译 (Network Address Translators, NAT)无类别的域间路由技术 (Classless Inter Domain Routing, CIDR等,这些技术都是在现有的 IPv4 路由器中实现的

1-2 NAT的应用场景#

  • 企业和家庭所使用的网络为私有网络,使用的是私网地址;运营商维护的网络为公网网络,使用的是公网地址。私网地址不能在公网中路由。

  • NAT一般部署在内网和外网的网关设备上,即网络出口设备,例如防护墙路由器等。

1-3 NAT的优点#

  • 有效避免来自外网的攻击,可以很大程度上提高网络安全性

  • 控制内网主机访问外网,同时也控制外网主机访问内网,解决了内网和外网不能互通的问题

二、NAT的分类#

2-1 静态NAT#

  • 静态NAT实现了私网地址和公网地址的一对一映射

  • 一个公网IP只会分配给唯一且固定的内网主机

  • 缺点:无法有效解决公网地址稀缺的问题

  • 优点:避免外网设备的攻击,仅提高了安全性


注意:
nat static enable  
nat static global 公网地址 inside 私网地址

以上两条命令都是在路由出口接口模式下配置


每个私有地址都有一个与之对应并且固定的公网地址,即私网IP地址和公网IP地址之间的关系是一一对应

出口网关设备的NAT数据配置:
interface GigabitEthernet 0/0/1  //进入接口GE 0/0/1
ip address 12.1.2.1 24  //配置接口IP地址
nat static enable  //开启静态nat
nat static global 12.1.2.1 inside 192.168.1.1  //将内网地址192.168.1.1映射到公网地址12.1.2.1
nat static global 12.1.2.2 inside 192.168.1.2
nat static global 12.1.2.3 inside 192.168.1.3

2-2 动态NAT#

  • 所有可用的公网地址组成地址池;

  • 当内部主机访问外部网络时,临时分配一个地址池中的未使用的公网IP地址,并将该地址标记为“In Use”。当该主机不再访问外部网络时回收分配的地址,重新标记为“Not Use”。

  • 动态NAT选择地址池中的地址进行地址转换时,不会转换端口,即No-PAT,导致了公网地址与私网地址还是1:1的映射关系,无法提高公网地址利用率


出口网关设备的NAT数据配置:
nat address-group 1 12.1.1.2 12.1.1.5  //创建一个地址池address-group 1,共有4个公网IP地址
acl 2000  //创建acl 规则
rule 5 permit source 192.168.1.0 0.0.0.255  //配置策略,允许源IP网段(也可以允许某个IP)通过
quit
interface GigabitEthernet 0/0/1  //进入GE 0/0/1接口
nat outbound 2000 address-group 1 no-pat  //将acl 2000策略应用到该接口

2-3 NAPT#

NAPT(Network Address and Port Translation,网络地址端口转换):从地址池(地址池中可以有一个或多个公网地址)中选择地址进行地址转换时,不仅转换IP地址,同时也会对端口号进行转换,从而实现公网地址与私网地址的1:n映射,可以有效提高公网地址利用率。

家庭和小型企业使用此方式也不多,通常使用大型企业:申请多个固定公网IP地址

出口网关设备AR1的数据配置:
nat address-group 1 12.1.1.2 12.1.1.5
acl 2000
rule 5 permit source 192.168.1.0 0.0.0.255
quit
interface GigabitEthernet 0/0/1
nat outbound 2000 address-group 1 

  • PC1的E0/0/1抓包如下图

⚠️ AR3的GE0/0/0抓不到包,应该是软件的原因

2-4 Easy IP#

实现原理和NAPT相同,同时转换IP地址、传输层端口,区别在于Easy IP没有地址池的概念,使用路由器出口接口地址作为NAT转换的共有地址。

适用于不具备固定公网IP地址的场景:如通过DHCPPPPoE拨号获取地址的私有网络出口,可以直接使用获取到的动态地址进行转换。个人用户和小型企业使用比较多的方法

出口网关设备的NAT数据配置:
acl number 2000  //创建acl 2000
rule 5 permit source 192.168.10.0 0.0.0.255   //配置允许进行NAT转换的内网地址段192.168.10.0/24
interface GigabitEthernet 0/0/2
ip address 12.1.1.1 24
nat outbound 2000  //在接口GE0/0/2上做Easy IP方式的NAT

2-5 NAT Server#

NAT Server:指定【公网地址:端口】与【私网地址:端口】的一对一映射关系,将内网服务器映射到公网,当私有网络中的服务器需要对公网提供服务时使用。

⚠️ 注意:此处的公网地址和私网地址均为静态IP,且端口也为静态。

可以让外网用户访问内网设备。外网用户通过“内网用户的出口公网IP+端口号”或者“域名+端口号”

在出口路由器的出口配置:
interface GigabitEthernet 0/0/1  //切换到路由器出口
ip address 12.1.2.1 24  //出口IP配置
nat server protocol tcp global 23.1.1.2 www inside 192.168.1.1 8080 //映射192.168.1.1::8080到23.1.1.2::80

💡 外网访问内网设备的方法:

  1. 端口映射(例如NAT Server)

  2. VPN

⚠️ 查询命令:display nat server

作者:caojun97

出处:https://www.cnblogs.com/caojun97/p/16366739.html

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   eiSouthBoy  阅读(1238)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示
more_horiz
keyboard_arrow_up dark_mode palette
选择主题
menu