文章目录
一、地址转换技术概述
1、NAT分类
| 类型 | 中文名称 | 主要用途 |
|---|---|---|
| NAT Outbound | 出方向 NAT | 内网用户访问外网时隐藏私网 IP |
| NAT Server | 服务器映射 | 将公网 IP 映射到内网服务器(如 Web、FTP) |
| NAT No-PAT | 静态端口无关转换 | 多个私网 IP 对应多个公网 IP,不复用端口 |
| Smart NAT / Easy IP | 智能 NAT | 使用出接口公网 IP 做源地址转换 |
| Twice NAT | 双重 NAT | 同时转换源和目的地址,用于复杂组网 |
2、处理流程
+------------------+
| 数据包到达 |
+--------+---------+
|
+---------------v------------------+
| 是否命中会话表? |
+----------------+-----------------+
|
+-----------v------------+ 是 +--------------------+
| 否 +-------> 快速转发(Fastpath)|
+-----------+------------+ +--------------------+
|
+---------------v------------------+
| 入接口 ACL 检查(可选) |
+----------------+-----------------+
|
+---------------v------------------+
| 路由查找 |
+----------------+-----------------+
|
+---------------v------------------+
| 是否命中 NAT Server? |
+----------------+-----------------+
| 是
v
+-----------------------------------+
| 目的地址转换(DNAT) |
| global → inside |
+----------------+------------------+
|
+---------------v------------------+
| 安全策略检查(关键!) |
+----------------+------------------+
|
+------------v-------------+ 否
| 是 +-----> 丢弃 + 日志
+------------+-------------+
|
+---------------v------------------+
| 是否启用 NAT Outbound? |
+----------------+------------------+
| 是
v
+-----------------------------------+
| 源地址转换(SNAT/PAT) |
+----------------+-------------------+
|
+---------------v------------------+
| 出接口处理(L2/L3) |
+----------------+-------------------+
|
+---------v----------+
| 转发数据包 |
+--------------------+
二、源地址转换
1、定义
源地址转换(Source Network Address Translation, SNAT) 是指在数据包通过防火墙时,将原始报文中的 源 IP 地址(通常是私网 IP)替换为防火墙指定的 公网 IP 地址,从而实现内网主机对外通信的能力。
2、工作原理
首包进入
- 来自内网主机的数据包到达防火墙
- 匹配路由,确定下一跳和出接口
- 查找安全策略,确认是否允许并是否启用
nat outbound
执行源地址转换
- 根据配置的 NAT 规则,将源 IP 替换为公网 IP
- 如果使用 PAT(端口地址转换),还会修改源端口号以区分不同内网主机
创建会话表项
协议: TCP
原始五元组: 192.168.1.10:12345 → 8.8.8.8:80
转换后: 203.0.113.10:50001 → 8.8.8.8:80
动作: permit, nat enabled
返回流量处理
- 外部服务器回包发往
203.0.113.10:50001 - 防火墙查询会话表,反向转换为目标地址
192.168.1.10:12345 - 转发给内网主机
3、转换类型对比
| 类型 | 是否复用端口 | 转换方式 | 典型用途 |
|---|---|---|---|
| NAT Outbound + PAT | ✅ 是 | 多个私网 IP → 一个/多个公网 IP + 不同端口 | 内网上网(最常见) |
| NAT No-PAT | ❌ 否 | 一对一静态映射(IP 对应) | 特定主机固定映射 |
| Easy IP | ✅ 是 | 使用出接口 IP 作为转换地址 | PPPOE 拨号等动态公网场景 |
4、主要实现方式
4.1、NAT Outbound(带地址池 + PAT)
适用于多个内网用户共享少量公网 IP 访问外网。
# 定义需要做 NAT 的内网范围
acl number 2000
rule permit source 192.168.1.0 0.0.0.255
# 创建公网地址池
nat address-group OUTBOUND_POOL
section 0 203.0.113.10 203.0.113.20
# 配置安全策略并启用 NAT
security-policy
rule name ALLOW_TO_INTERNET
source-zone trust
destination-zone untrust
source-address 192.168.1.0 mask 255.255.255.0
action permit
nat enable
nat outbound 2000 address-group OUTBOUND_POOL
- 所有来自
192.168.1.0/24的流量,源 IP 被替换为203.0.113.10~20中的一个 - 自动分配端口号(PAT),支持上千用户并发上网
4.2、Easy IP(接口 IP 作为转换地址)
当公网 IP 数量极少或动态获取时使用(如 ADSL 拨号)。
# 只需启用 nat outbound,不指定 address-group → 默认使用接口 IP
security-policy
rule name ALLOW_EASY_IP
source-zone trust
destination-zone untrust
source-address 192.168.2.0 mask 255.255.255.0
action permit
nat enable
nat outbound 2001 # acl 2001 匹配内网段,但无 address-group
- 源 IP 被替换为外网接口的 IP 地址(如
203.0.113.1) - 支持 PAT,适合小型网络
4.3、NAT No-PAT(静态一对一映射)
用于某些特殊业务需要固定公网 IP 映射。
# 启用静态 NAT
nat static enable
# 配置一对一映射
interface GigabitEthernet0/0/1
ip address 203.0.113.100 255.255.255.0
nat static 192.168.1.100 netmask 32 global 203.0.113.100
192.168.1.100访问外网时,始终使用203.0.113.100- 不改变端口,适合运行 VoIP、视频会议等协议
5、应用场景
| 应用场景 | 说明 |
|---|---|
| ✅ 内网用户访问互联网 | 最常见用途,保护隐私、节省公网 IP |
| ✅ 多分支机构统一出口 | 所有分支流量经总部防火墙 SNAT 出去,便于审计 |
| ✅ 云环境下 VPC 互通 | 私网地址冲突时可通过 SNAT 避免冲突 |
| ✅ 合规与日志追溯 | 所有外联流量统一从几个公网 IP 发出,便于监控和溯源 |
| ✅ PPPoE 拨号上网环境 | 使用 Easy IP 实现动态公网 IP 上网 |
6、注意事项
| 项目 | 说明 |
|---|---|
| 必须配合安全策略 | 只有 action permit 且启用 nat enable 的规则才触发 SNAT |
| 默认不开启 | 需手动配置 nat outbound |
| 会话表决定返回路径 | 若会话老化或被清除,返回流量可能无法还原 |
| 避免地址冲突 | 地址池不能与内网网段重叠 |
| 日志建议开启 | 便于排查访问失败问题 |
三、目的地址转换
1、定义
目的地址转换(Destination Network Address Translation, DNAT) 是指当数据包进入防火墙时,将其 目标 IP 地址和/或端口 从公网地址转换为内部网络中的私网地址和端口。
2、工作原理
🌐 正向流量(外 → 内):
- 外部用户发起请求:
源IP: 8.8.8.8:12345 → 目标IP: 203.0.113.5:80 - 防火墙收到后,查找是否有匹配的
nat server规则 - 找到规则:
global 203.0.113.5 80 → inside 192.168.10.10 8080 - 将目标地址替换为
192.168.10.10:8080 - 进入安全策略检查(判断是否允许访问该内网服务器)
- 若允许,则创建会话表项,并转发数据包
🔁 返回流量(内 → 外):
- 内网服务器响应:
192.168.10.10:8080 → 8.8.8.8:12345 - 防火墙查询会话表,发现这是已建立连接
- 自动将源地址还原为
203.0.113.5:80 - 发送回外部用户
✅ 整个过程对客户端透明,用户以为直接访问的是公网服务器。
3、转换类型对比
| 类型 | 映射方式 | 应用场景 |
|---|---|---|
| 一对一端口映射 | public_ip:port → private_ip:port | Web、FTP 服务发布 |
| 多端口映射 | 同一公网 IP 映射多个服务 | 如 80→Web, 443→HTTPS, 21→FTP |
| IP 全穿透(静态映射) | 整个公网 IP 映射给一台主机 | 特殊业务需求 |
4、主要实现方式
4.1、最常用:NAT Server(端口映射)
将公网 IP 的某个端口映射到内网服务器的指定端口。
# 将公网 IP 203.0.113.5 的 80 端口映射到内网 Web 服务器 192.168.10.10 的 8080 端口
nat server WEB_SERVER protocol tcp
global 203.0.113.5 80 inside 192.168.10.10 8080
📌 支持协议可选:
protocol tcp/udp/icmp/ 不指定(所有协议)
💡 可省略端口号表示全端口映射:
nat server FTP_SERVER global 203.0.113.6 inside 192.168.10.20
表示整个 203.0.113.6 映射给 192.168.10.20
4.2、多端口发布同一服务器
例如同时开放 Web 和 HTTPS 服务:
📌 外部访问:
https://203.0.113.5:443→ 实际访问192.168.10.10:8443
4.3、使用接口地址作为公网地址(Easy IP for DNAT)
当防火墙外网接口使用动态 IP 时,可以用接口地址做映射:
nat server MAIL_SERVER protocol tcp
global current-interface 25 inside 192.168.10.30 25
📌 效果:
- 无论接口获取什么公网 IP,都自动将 25 端口映射到内网邮件服务器
5、应用场景
| 应用场景 | 说明 |
|---|---|
| ✅ 对外发布 Web 服务器 | 让公网用户通过域名访问企业官网 |
| ✅ 部署邮件服务器(SMTP/IMAP) | 提供收发邮件服务 |
| ✅ 远程办公接入(如 SSL VPN) | 用户通过公网 IP 登录内网门户 |
| ✅ 视频监控平台发布 | 安防系统远程查看摄像头画面 |
| ✅ 云环境下混合组网 | 将私有云中的服务器暴露给公网访问 |
6、注意事项
| 项目 | 说明 |
|---|---|
| 必须配置黑洞路由(Blackhole Route) | 防止路由环路,确保公网 IP 可达 |
| 安全策略需基于 inside 地址编写 | 因为 DNAT 在策略前发生 |
| 避免端口冲突 | 同一公网 IP+端口只能映射一次 |
| 考虑服务器性能 | 外部攻击可能直达内网服务器,建议启用防护功能(如 IPS) |
| 日志审计建议开启 | 便于追踪非法访问行为 |
四、综合实验
1、内网用户通过NAT No-PAT访问Internet
1.1、实验需求
1、当内网访问外网时,防火墙将内网数据包的源IP转换为公网地址池中的地址
(1)、ISP1-NAT地址池地址为30.30.30.10-30.30.30.15
(2)、ISP2-NAT地址池地址为40.40.40.10-40.40.40.15
1.2、创建地址池


1.3、创建NAT转换策略


1.4、放行流量


1.5、验证




2、内网用户通过NAPT访问Internet
2.1、实验需求
1、当内网访问外网时,防火墙将内网数据包的源IP转换为公网地址池中的地址
(1)、ISP1-NAT地址池地址为30.30.30.10-30.30.30.15
(2)、ISP2-NAT地址池地址为40.40.40.10-40.40.40.15
2.2、创建地址池


2.3、创建NAT转换策略


2.4、放行流量


2.5、验证




3、内网用户通过EASY-IP访问Internet
3.1、实验需求
1、当内网访问外网时,防火墙将内网数据包的源IP转换为公网地址池中的地址
(1)、ISP1-NAT地址池地址为30.30.30.10-30.30.30.15
(2)、ISP2-NAT地址池地址为40.40.40.10-40.40.40.15
3.2、创建地址池


3.3、创建NAT转换策略


3.4、放行流量


3.5、验证




4、配置黑洞路由
4.1、实验需求
1、当内网访问外网时,防火墙将内网数据包的源IP转换为公网地址池中的地址
(1)、ISP1-NAT地址池地址为30.30.30.10-30.30.30.15
(2)、ISP2-NAT地址池地址为40.40.40.10-40.40.40.15
2、规避环路与ARP风险
4.2、创建地址池


4.3、创建NAT转换策略


4.4、验证
[USG]display ip routing-table
2025-11-21 21:16:33.190
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 17 Routes : 18
Destination/Mask Proto Pre Cost Flags NextHop Interface
0.0.0.0/0 Static 60 0 RD 30.30.30.1 GigabitEthernet1/0/0
Static 60 0 RD 40.40.40.1 GigabitEthernet1/0/1
5.5.5.0/24 Direct 0 0 D 5.5.5.254 Vlanif5
5.5.5.254/32 Direct 0 0 D 127.0.0.1 Vlanif5
10.10.10.0/24 Direct 0 0 D 10.10.10.254 Eth-Trunk12.10
10.10.10.254/32 Direct 0 0 D 127.0.0.1 Eth-Trunk12.10
20.20.20.0/24 Direct 0 0 D 20.20.20.254 Eth-Trunk12.20
20.20.20.254/32 Direct 0 0 D 127.0.0.1 Eth-Trunk12.20
30.30.30.0/24 Direct 0 0 D 30.30.30.254 GigabitEthernet1/0/0
30.30.30.10/31 Unr 61 0 D 127.0.0.1 InLoopBack0
30.30.30.12/30 Unr 61 0 D 127.0.0.1 InLoopBack0
30.30.30.254/32 Direct 0 0 D 127.0.0.1 GigabitEthernet1/0/0
40.40.40.0/24 Direct 0 0 D 40.40.40.254 GigabitEthernet1/0/1
40.40.40.10/31 Unr 61 0 D 127.0.0.1 InLoopBack0
40.40.40.12/30 Unr 61 0 D 127.0.0.1 InLoopBack0
40.40.40.254/32 Direct 0 0 D 127.0.0.1 GigabitEthernet1/0/1
127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0
127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0




5、理解NAT-ASPF-ALG技术原理
5.1、实验需求
1、结合实验理解理解NAT-ASPF-ALG技术原理
5.2、创建NAT转换策略

5.3、配置安全策略

6、公网用户通过NAT访问DMZ-FTP服务器
6.1、服务器增加网卡绑定

6.2、新建目的地址转换池

6.3、配置NAT策略


6.4、配置安全策略

6.5、验证

7、公网用户通过NAT-Server访问DMZ-FTP服务器
7.1、新建服务器映射列表

8、允许服务器使用公网地址上网
8.1、新建服务器映射列表

8.2、配置安全策略

8.3、验证

410

被折叠的 条评论
为什么被折叠?



