eNSP实验——NAT地址转换(静态NAT+PAT+Easy IP)


eNSP实验——NAT地址转换(静态NAT+PAT+Easy IP)

仅供参考

基础概念


一、NAT简介

NAT(Network Address Translation,网络地址转换) 是一种网络技术,用于在 私有IP地址(内网) 和 公有IP地址(外网) 之间进行转换。它的核心目的是解决 IPv4地址不足 的问题,同时增强内网安全性。NAT能做的就是:多人共享IP上网 + 隐藏内网 + 对外开服务。

可以把NAT想象成一个大型办公大楼的前台。大楼内部有数百个员工(私有IP设备),但对外只有一个主电话号码(公有IP)。当外部来电时,前台(NAT设备)会根据分机号(端口号)将呼叫转接到正确的内部员工。


二、NAT能做什么

NAT不是防火墙,虽然能隐藏内网,但仍需额外安全措施。

  1. 让多人共享一个公网IP上网
    • 🏢 就像公司所有员工共用一台打印机
    • ✔️ 解决IPv4地址不够用的问题
    • 🔧 实现方式:NAPT/Easy IP(端口复用技术)
  2. 隐藏你的内部网络
    • 🕵️ 像给公司大楼装上单向玻璃
    • ✔️ 外部无法直接扫描内网设备
    • ⚠️ 注意:需配合防火墙更安全
  3. 把内网服务"晒"到公网
    • 📮 类似在小区门口设快递柜
    • ✔️ 将内网服务器映射到公网(Web/监控/NAS)
    • 🔧 实现方式:NAT Server/静态NAT
  4. 解决IP地址"撞车"问题
    • 🚦 像给同名街道加上区号
    • ✔️ 让使用相同私有IP的不同网络互通
    • 🔧 实现方式:双向NAT
  5. 帮网络"减负"(负载均衡)
    • 🏋️ 像健身房分流不同时段客流
    • ✔️ 将访问流量分配到多个公网IP
    • 🔧 实现方式:多地址池轮询

1. NAT和防火墙本质区别
维度NAT防火墙
核心功能IP地址转换流量过滤与访问控制
工作层级网络层(IP/端口转换)应用层/传输层深度检测
安全机制隐性安全(地址隐藏)显性安全(规则主动拦截)

2. NAT的"伪防护"特性

看似安全:

  • 🛡️ 地址隐藏:外部扫描只能看到公网IP,无法直接访问内网设备
  • 🔒 无状态阻挡:默认丢弃未经NAT映射的入站连接

实际风险:

  • ☠️ 无内容检测:不检查数据包payload(可能传输恶意代码)
  • 💣 无协议分析:无法识别SQL注入/XSS等应用层攻击
  • ⏱️ 无会话审计:不记录完整的通信日志(难以追溯攻击)

三、NAT工作原理

NAT用来将内网地址和端口转换成公网地址和端口,建立一个会话,与公网主机进行通信。

NAT外部的主机无法主动跟位于NAT内部的主机通信,NAT内部主机想要通信,必须主动和公网的一个IP通信,路由器负责建立一个个映射关系,从而实现数据的转发。

数据包从内网到外网时会转换源IP地址,由私网地址转换成公网地址; 数据包从外网到内网时,会转换目的IP地址,由公网地址转换成私网地址。

1. 内网访问外网(员工寄快递)
  • 步骤
    • 员工A(工位101)想寄快递给快递站,他填的寄件人地址是工位101
    • 前台收到快递后,将寄件人地址改为“科技园1号楼”,并记录一条映射表(工位101 ↔ 当前使用的快递单号)。
    • 快递站收到包裹时,看到寄件人是“科技园1号楼”,回件也会送到这个地址。
    • 前台收到回件后,查映射表发现“快递单号对应工位101”,于是将包裹送到员工A。
  • NAT实际过程
    • 内网设备(192.168.1.2)访问外网服务器时,NAT将源IP(私有IP)替换为公网IP(如123.123.123.123),并记录映射(192.168.1.2:端口 ↔ 公网IP:端口)。
    • 外网服务器响应公网IP,NAT通过映射表将数据转发给内网设备。

2. 外网访问内网(快递员送快递)
  • 问题:快递员无法直接写“送到工位101”,因为工位号是楼内私有地址。
  • 解决方案
    • 方案1:员工提前登记(类似端口映射)
      员工A告诉前台:“如果有给我的快递(比如标注‘A的书籍’),请送到工位101。”
      前台会对外公布:“科技园1号楼【A的书籍】→ 工位101”。
    • 方案2:前台拒绝陌生快递(默认NAT行为)
      如果没有提前登记,前台会拒收快递(外部无法主动访问内网)。
  • NAT实际过程
    • 需手动配置端口映射(如将公网IP的80端口映射到内网192.168.1.2:80),外部访问公网IP的80端口时,NAT会转发到内网设备。
    • 若无映射规则,外部请求会被NAT丢弃(保护内网安全)。

关键点总结:

  1. 内→外:NAT修改源地址,靠映射表实现回包转发。
  2. 外→内:必须提前配置映射规则,否则默认禁止(类似前台不代收陌生快递)。
  3. 地址转换
    • 出方向:私有IP → 公有IP(如192.168.1.2 → 123.123.123.123)。
    • 入方向:公有IP → 私有IP(通过映射表匹配)。

1️⃣ 核心流程类比
NAT工作步骤快递站类比关键动作
内网设备发请求下单网购(写收货地址为快递站)内网设备用私有IP访问外网
路由器做NAT转换快递站把包裹发件人改成驿站地址路由器将私有IP→公网IP+新端口
外网服务器响应商家把包裹送回快递站外网数据包返回NAT的公网IP
路由器逆向转换快递站根据订单号找到你家门牌号通过NAT表将公网IP→私有IP
数据包送回内网包裹最终送到你手上数据到达真实内网设备

2️⃣ 三种常见NAT类比
  1. 静态NAT(VIP专属快递柜)
    • 固定1个公网IP对应1个内网IP,就像专属柜子(你家快递永远用X号柜)。
    • 适用:对外开服务器(如网站)。
  2. PAT/NAPT(拼团发货)
    • 多人共享1个公网IP,靠端口区分(像快递站用取件码区分不同人的包裹)。
    • 适用:手机/电脑共享上网。
  3. Easy IP(驿站老板亲自发货)
    • 直接拿路由器公网IP当发货地址(快递站老板用自己的地址代发)。
    • 适用:家庭宽带。

四、NAT的优缺点

✅ 优点
优点备注
节省公网IP资源通过PAT(NAPT)和Easy IP的端口复用技术,实现成百上千台设备共享一个公网IP,缓解IPv4地址枯竭问题。
增强内网安全性隐藏内部网络拓扑结构,外部攻击者无法直接扫描或访问内网设备(需依赖NAT映射规则)。
解决IP地址冲突通过双向NAT(如企业合并网络时)解决不同内网使用相同私有IP地址(如192.168.1.0/24)的通信问题。

❌ 缺点
缺点备注
破坏端到端通信有些应用不支持,影响P2P应用(如视频通话、BT下载)的直接连接,需依赖STUN/TURN/ICE等NAT穿透技术。
增加网络延迟NAT设备需维护会话状态表(如端口映射、超时机制),数据包需经过地址转换,可能引入额外处理延迟。
运维调试复杂故障排查时需跟踪NAT会话状态(如端口映射错误、会话超时),日志分析难度高于纯路由环境。
单点故障风险若NAT设备宕机,所有依赖它的内网对外通信会中断(需高可用方案如NAT集群)。

五、NAT的类型

1️⃣ 静态 NAT(Static NAT)
特性说明
映射方式一对一固定映射(1 个公网 IP 对应 1 个内网 IP)
端口处理全端口自动转发(无需单独配置端口映射)
配置示例nat static global 203.0.113.1 inside 192.168.1.100
适用场景内网服务器对外提供服务(如 Web、邮件服务器)
优缺点✅ 配置简单,双向可达 ❌ 浪费公网 IP,需配合防火墙防暴露

2️⃣ 动态 NAPT(Network Address Port Translation)
特性说明
映射方式多对一映射(多个内网 IP 共享公网 IP + 端口复用)
核心原理转换源 IP + 源端口,生成唯一会话标识
地址池要求需预先配置公网 IP 地址池(如 nat address-group 1 203.0.113.1 203.0.113.5
配置示例nat outbound 2000 address-group 1
适用场景企业内网多用户共享上网
优缺点✅ 高效利用 IP ❌ 需维护会话表

3️⃣ 动态 NO-PAT(Basic NAT)
特性说明
映射方式一对一动态映射(仅转换 IP,不转换端口)
地址分配从地址池临时分配公网 IP(会话结束后回收)
配置示例nat outbound 2000 address-group 1 no-pat
适用场景需保留原始端口的场景(如审计要求)
优缺点✅ 保持端口透明性 ❌ IP 利用率低(内网设备数 ≤ 地址池 IP 数)

4️⃣ Easy IP(简化版 NAPT)
特性说明
映射方式多对一映射,直接使用路由器接口公网 IP(无需地址池)
端口复用动态分配端口(1024-65535)
配置示例nat outbound 2000(绑定到 WAN 口)
适用场景家庭宽带、PPPoE 拨号上网
优缺点✅ 零成本配置 ❌ 单 IP 易被封锁

5️⃣ NAT Server(端口映射)
特性说明
映射方式端口级一对一映射(精准控制协议和端口)
典型配置nat server protocol tcp global 203.0.113.1 80 inside 192.168.1.100 80
安全建议配合 ACL 限制访问源 IP(如 rule permit source 202.160.10.0 0.0.0.255
适用场景发布内网服务(如 FTP、SSH、Web)
优缺点✅ 灵活控制暴露范围 ❌ 需手动维护映射规则

NAT类型利用率
类型IP 利用率核心原理适用场景配置复杂度
Easy IP⭐⭐⭐⭐⭐使用接口公网 IP + 端口复用家庭宽带、单公网 IP
PAT (NAPT)⭐⭐⭐⭐地址池 IP + 端口复用企业内网多用户共享少量公网 IP(比 Easy IP 灵活)
动态 NAT⭐⭐地址池 IP 一对一分配(无端口复用)临时多设备访问外网(公网 IP 充足)
静态 NAT固定一对一 IP 映射内网服务器对外提供服务(如 Web/FTP)
NAT Server-端口级一对一映射精细化发布内网服务(如公网 80 → 内网 Web 80)
双向 NAT-双向 IP 转换(源 + 目的地址转换)解决 IP 地址冲突(如企业网络合并)

实验环境


1. 拓扑图

在这里插入图片描述


2. 设备信息划分
设备类型设备名称接口所属网络IP 地址
路由器AR1GE 0/0/0192.168.5.0/24192.168.5.1
GE 0/0/1100.1.1.0/24100.1.1.1
路由器AR2GE 0/0/1100.1.1.0/24100.1.1.2
GE 0/0/2200.1.1.0/2410.0.1.254
三层交换机SW1GE 0/0/1192.168.1.0/24192.168.1.254(Vlanif 10)
GE 0/0/2192.168.2.0/24192.168.2.254(Vlanif 20)
GE 0/0/3192.168.3.0/24192.168.3.254(Vlanif 30)
GE 0/0/4192.168.4.0/24192.168.4.254(Vlanif 40)
GE 0/0/5192.168.5.0/24192.168.5.254(Vlanif 50)
二层交换机SW2Ethernet 0/0/1200.1.1.0/24
Ethernet 0/0/2200.1.1.0/24
主机PC1Ethernet 0/0/1192.168.1.0/24192.168.1.1(Vlan 10)
主机PC2Ethernet 0/0/1192.168.2.0/24192.168.2.2(Vlan 20)
主机PC3Ethernet 0/0/1192.168.3.0/24192.168.3.3(Vlan 30)
主机PC4Ethernet 0/0/1200.1.1.0/24200.1.11/24
服务器Server1Ethernet 0/0/0192.168.4.0/24192.168.4.4(Vlan 40)

3. 环境基本配置
[SW1]vlan batch 10 20 30 40 50
Info: This operation may take a few seconds. Please wait for a moment...done.
[SW1]
[SW1]int g0/0/1
[SW1-GigabitEthernet0/0/1]port link-type access 
[SW1-GigabitEthernet0/0/1]port default vlan 10
[SW1-GigabitEthernet0/0/1]q
[SW1]
[SW1]
[SW1]int g0/0/2
[SW1-GigabitEthernet0/0/2]port link-type access 
[SW1-GigabitEthernet0/0/2]port default vlan 20
[SW1-GigabitEthernet0/0/2]q
[SW1]
[SW1]int g0/0/3	
[SW1-GigabitEthernet0/0/3]port link-type access 
[SW1-GigabitEthernet0/0/3]port default vlan 30
[SW1-GigabitEthernet0/0/3]q
[SW1]
[SW1]int g0/0/4
[SW1-GigabitEthernet0/0/4]port link-type access 
[SW1-GigabitEthernet0/0/4]port default vlan 40
[SW1-GigabitEthernet0/0/4]q
[SW1]int g0/0/4
[SW1]
[SW1]
[SW1]int g0/0/5
[SW1-GigabitEthernet0/0/5]port link-type access 
[SW1-GigabitEthernet0/0/5]port default vlan 50
[SW1-GigabitEthernet0/0/5]q
[SW1]
[SW1]
[SW1]int Vlanif 10
[SW1-Vlanif10]ip address 192.168.1.254 24
[SW1-Vlanif10]q
[SW1]	
[SW1]int Vlanif 20
[SW1-Vlanif20]ip address 192.168.2.254 24
[SW1-Vlanif20]q
[SW1]
[SW1]int Vlanif 30
[SW1-Vlanif30]ip address 192.168.3.254 24
[SW1-Vlanif30]q
[SW1]
[SW1]int Vlanif 40
[SW1-Vlanif40]ip address 192.168.4.254 24
[SW1-Vlanif40]q
[SW1]
[SW1]int Vlanif 50
[SW1-Vlanif50]ip address 192.168.5.1 24
[SW1-Vlanif50]q
[SW1]
[SW1]ip route-static 0.0.0.0 0.0.0.0 192.168.5.2
[AR1]int g0/0/0
[AR1-GigabitEthernet0/0/0]ip address 192.168.5.2 24
[AR1-GigabitEthernet0/0/0]q
[AR1]
[AR1]int g0/0/1
[AR1-GigabitEthernet0/0/1]ip address 100.1.1.1 24
[AR1-GigabitEthernet0/0/1]q
[AR1]ip route-static 192.168.1.0 24 192.168.5.1
[AR1]ip route-static 192.168.2.0 24 192.168.5.1
[AR1]ip route-static 192.168.3.0 24 192.168.5.1
[AR1]ip route-static 192.168.4.0 24 192.168.5.1
[AR1]ip route-static 0.0.0.0 0 100.1.1.2
[Huawei]sy AR2
[AR2]
[AR2]int g0/0/1
[AR2-GigabitEthernet0/0/1]ip address 100.1.1.2 24
[AR2-GigabitEthernet0/0/1]q
[AR2]
[AR2]
[AR2]int g0/0/2
[AR2-GigabitEthernet0/0/2]ip address 200.1.1.254 24
[AR2-GigabitEthernet0/0/2]q
[AR2]ip route-static 0.0.0.0 0 100.1.1.1


一、静态NAT配置

# 配置静态NAT映射(1对1固定IP)
nat static global <公网IP> inside <内网IP>
1. 配置PC1主机的私网IP地址转换为公网的IP地址

备注:因为是测试环境,所以这个公网IP(123.1.1.1)可以看着来给,但不要忘记给(默认)路由。

[AR1]int g0/0/1
[AR1-GigabitEthernet0/0/1]nat static global 123.1.1.1 inside 192.168.1.1	# 将私网IP地址192.168.1.1映射到公网IP地址123.1.1.1
[AR1-GigabitEthernet0/0/1]
  • global:指定公网IP地址。
  • inside:指定内网IP地址。
2. 查看静态NAT的信息
[AR1]dis nat static 
  Static Nat Information:
  Interface  : GigabitEthernet0/0/1
    Global IP/Port     : 123.1.1.1/---- 
    Inside IP/Port     : 192.168.1.1/----
    Protocol : ----     
    VPN instance-name  : ----                            
    Acl number         : ----
    Netmask  : 255.255.255.255 
    Description : ----

  Total :    1
[AR1]

3. 测试
  • Source:源(发送数据包的那一方)
  • Destination:目的(接受数据包的那一方)

PC1(192.168.1.1)给PC4(200.1.1.1)发送数据包,这里可以看到是刚刚给PC1配置的静态NAT地址(123.1.1.1)是源IP地址发送数据包到PC4目的地(200.1.1.1)。数据包的源IP从PC1的内网IP(192.168.1.1)被正确转换为公网IP(123.1.1.1),说明静态NAT配置生效。

它这个过程就是,PC1发送数据包给PC2,然后PC2接收到了PC1发送的数据包,于是PC2就发送一个数据包回应给PC1。

Q:为什么回复包的Destination是 123.1.1.1 而不是 192.168.1.1?
A:因为PC4只能看到路由器转换后的公网IP(123.1.1.1),不知道内网IP(192.168.1.1)的存在。路由器收到回复后,会根据静态NAT规则将目标IP转换回内网IP。

在这里插入图片描述

这里再看PC4(200.1.1.1)发送数据包给123.1.1.1这个IP地址的主机,最后显示收到这个200.1.1.1的数据包的主机是PC1(192.168.1.1)

在这里插入图片描述

这里再看PC1(192.168.1.1)给PC2(192.168.2.2)发送数据包,可以看到源IP地址是192.168.1.1的,综上所得,私网的IP地址

在这里插入图片描述


二、PAT(NAPT)配置

备注:PAT(NAPT)和动态NAT的区别就是用了端口转换,配置方面就只是没有no-pat而已,没啥区别。

先把前面配置的静态NAT配置取消掉

[AR1]int g0/0/1
[AR1-GigabitEthernet0/0/1]undo nat static global 123.1.1.1 inside 192.168.1.1 netmask 255.255.255.255
1. 创建公网IP地址池(可选)

不能使用已经接在口使用的IP地址

[AR1]nat address-group 1 100.1.1.3 100.1.1.5
[AR1]display nat address-group 1

 NAT Address-Group Information:
 --------------------------------------
 Index   Start-address      End-address
 --------------------------------------
 1           100.1.1.3        100.1.1.5
 --------------------------------------
  Total : 1
[AR1]
2. 在外网接口启用PAT
# 配置ACL允许通过的IP
[AR1]acl 2000		# 创建ACL 2000
[AR1-acl-basic-2000]rule permit source 192.168.1.0 0.0.0.255	# 允许192.168.1.0网段
[AR1-acl-basic-2000]rule permit source 192.168.2.0 0.0.0.255	# 允许192.168.2.0网段
[AR1-acl-basic-2000]rule permit source 192.168.3.0 0.0.0.255	# 允许192.168.3.0网段
[AR1-acl-basic-2000]q
[AR1]int g0/0/1
[AR1-GigabitEthernet0/0/1]nat outbound 2000 address-group 1	# 仅允许ACL 2000中的IP使用PAT,使用address-group 1池
[AR1-GigabitEthernet0/0/1]

如果想改为动态NAT,需显式添加 no-pat:nat outbound 2000 address-group 1 no-pat

[AR1]dis nat outbound 
 NAT Outbound Information:
 --------------------------------------------------------------------------
 Interface                     Acl     Address-group/IP/Interface      Type
 --------------------------------------------------------------------------
 GigabitEthernet0/0/1         2000                              1       pat
 --------------------------------------------------------------------------
  Total : 1

3. 测试

这里可以看到指定的范围池,PC2(100.1.1.3)和PC3(100.1.1.4),因为这里是先用PC2发送数据包过去再到PC3,所以PC1的应该是(100.1.1.5),也可以看到两台PC发送数据包给PC4的时候,源IP地址也是和指定的范围池之内。

在这里插入图片描述


三、Easy IP配置

需要ACL规则,不需要创建范围池,使用接口IP进行。

如果要接着配置Easy IP,可以先把 nat outbound 2000 address-group 1 取消掉

[AR1]int g0/0/1
[AR1-GigabitEthernet0/0/1]dis th
[V200R003C00]
#
interface GigabitEthernet0/0/1
 ip address 100.1.1.1 255.255.255.0 
 nat outbound 2000 address-group 1 
#
return
[AR1-GigabitEthernet0/0/1]undo nat	
[AR1-GigabitEthernet0/0/1]undo nat outbound 2000 address-group 1	# 取消掉 nat outbound 2000 address-group 1 (PAT配置)
[AR1-GigabitEthernet0/0/1]
1. 配置匹配 ACL 被执行 NAT 转换
# 配置ACL允许通过的IP
[AR1]acl 2000		# 创建ACL 2000
[AR1-acl-basic-2000]rule permit source 192.168.1.0 0.0.0.255	# 允许192.168.1.0网段
[AR1-acl-basic-2000]rule permit source 192.168.2.0 0.0.0.255	# 允许192.168.2.0网段
[AR1-acl-basic-2000]rule permit source 192.168.3.0 0.0.0.255	# 允许192.168.3.0网段
[AR1-acl-basic-2000]
[AR1]int g0/0/1
[AR1-GigabitEthernet0/0/1]nat outbound 2000	# 匹配 ACL 2000 的流量 会被执行 NAT 转换(通常是转换成出口接口的IP或指定的地址池)。
[AR1-GigabitEthernet0/0/1]dis th
[V200R003C00]
#
interface GigabitEthernet0/0/1
 ip address 100.1.1.1 255.255.255.0 
 nat outbound 2000
#
return
[AR1-GigabitEthernet0/0/1]

2. 测试

在这种配置下,当内网主机访问外网时,路由器会直接使用其连接外网的出接口 IP 地址作为转换后的源 IP 地址来转发数据包 。

这里会发现,不管是用PC1还是PC2还是PC3,都是直接使用AR1的g0/0/1接口的IP(100.1.1.1)发送这个数据包

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值