文章目录
- 前言
- NAT产生背景
- NAT的分类
- 目的NAT
-
- [怎么理解ASPF的server map不看安全策略,但是像目的NAT的server map是要看安全策略的](#怎么理解ASPF的server map不看安全策略,但是像目的NAT的server map是要看安全策略的)
- 数据包处理流程
- 实验作业
前言
为什么要有地址转换技术,用了地址转换技术之后,我们怎么去准确的书写安全策略。
为什么要变换ipv4地址
NAT普遍用在一个园区网,连接公网,一般放在企业的出口。
1、IPV4地址不够用


2、隐藏网络结构,保护安全
NAT产生背景

NAT的分类
静态NAT

对现在而言,静态NAT存在的意义

动态NAT (NAT No-PAT)


NAPT

实验拓扑

企业内部电脑配置

百度服务器配置(模拟公网ip)

防火墙上基本操作
bash
# 配置ip地址
<USG6000V1>sys
[USG6000V1]sys FW1
[FW1]interface GigabitEthernet1/0/0
[FW1-GigabitEthernet1/0/0]ip address 192.168.1.254 24
[FW1]interface GigabitEthernet1/0/1
[FW1-GigabitEthernet1/0/1]ip address 100.1.1.2 24
# 配置安全区域
[FW1]firewall zone trust
[FW1-zone-trust]add interface GigabitEthernet 1/0/0
[FW1]firewall zone untrust
[FW1-zone-untrust]add interface GigabitEthernet 1/0/1
# 配置安全策略
[FW1]security-policy
[FW1-policy-security]rule name pc1-internet
[FW1-policy-security-rule-pc1-internet]source-zone trust
[FW1-policy-security-rule-pc1-internet]destination-zone untrust
[FW1-policy-security-rule-pc1-internet]action permit
模拟器配置网页端

连接拓扑

配置管理接口
bash
[FW1]int GigabitEthernet 0/0/0
[FW1-GigabitEthernet0/0/0]service-manage all permit
[FW1-GigabitEthernet0/0/0]undo ip address 192.168.0.1 255.255.255.0
[FW1-GigabitEthernet0/0/0]ip address 192.168.9.5 24
防火墙命令行配置NAT

bash
[FW1]nat address-group intra-internet (地址池的名字)

配置地址池模式
bash
mode pat # 保持默认即可,带着端口转换的NAPT
写好地址池范围

bash
[FW1-address-group-intra-internet]section 0 100.1.1.3 100.1.1.4

地址池最关键的两个信息:1、地址池的模式'2、地址池的段
bash
# 这个命令可敲可不敲,限制一个公网ip地址最多可以给多少个私网ip地址做转换的
[FW1-address-group-intra-internet]srcip-car-num 256
使用地址池
bash
[FW1]nat-policy
[FW1-policy-nat]rule name pc1-internet
[FW1-policy-nat-rule-pc1-internet]source-zone trust
[FW1-policy-nat-rule-pc1-internet]destination-zone untrust
[FW1-policy-nat-rule-pc1-internet]source-address 192.168.1.1 32
[FW1-policy-nat-rule-pc1-internet]action source-nat address-group intra-internet

这个操作逻辑跟security policy的操作逻辑很像
所有配置

限制内服电脑能够访问公网服务器

在防火墙连接公网的接口 GE1/0/1 下抓包
在防火墙内网的接口 GE1/0/0 下抓包

查看防火墙会话表

问题:
像http,https,ftp,DNS协议等,它们都有传输层的端口号,也就是数据包发出时,本身就会给数据包携带一个端口号,在这里做一个NAPT可以理解,既转换你的源ip,顺带把端口也转换,做一个区分。
但如果现在发送的是一个Ping测试的包,Ping测试的包是属于网络层协议(ICMP),在ICMP包里面都没有传输层头部,Ping包都压根没有传输层的端口号,凭什么NAPT也能转换?
确实这Ping包,工作在网络层的协议,没有传输层的端口,不涉及传输层,就不会有端口号,原则上来说就没有办法进行转换,可是防火墙会话表里面发现ICMP协议有端口号

在ICMP协议里面有字段 -- Type跟Code,以及 Identifier

你的NAPT在针对ICMP协议工作时,他会把这里面的信息做一个计算,算出来一个值,作为此时此刻的临时性的源端口。--- 帮你强行计算一个端口号(在NAPT转换时需要有IP+端口号进行转换)
这些数据包的这些字段都可能不一样,所以计算出来的端口号也会不同。

现在的安全策略写的太宽泛了,trast区域的流量都能到untrast,一般都要加以约束,限制源ip地址。
问题: 安全策略里面的源ip地址写的是私网的ip地址还是NAT之后的公网的地址?
bash
[FW1-policy-security-rule-pc1-internet]source-address 192.168.1.0 24

如果写的是公网的ip地址是不同的,得写NAT转换之前的私网的ip地址。
总结
当我们部署NAT时,如果想要对能够通过防火墙的流量做精细化的管控的话,记住,部署安全策略时,源ip地址在这个场景下书写NAT之前的IP地址。
源NAT之NAPT的数据包处理流程
当数据包到达防火墙之后 ---> 防火墙先判断该数据包能否通过我防火墙 (查安全策略)---> 确定数据包可以从防火墙通过后 --> 出发SNAT(源NAT)机制 ---> 改完之后,数据包从对应接口发送出去
问题
现在如果只有一个公网IP,并且这一个公网IP并且给到防火墙自己连接公网的接口去用了,没有剩余的IP了,那么NAPT的方案还能去做吗?

修改安全策略

现在依然还能上网,抓包分析

转换的地址就是出口的地址,所以如果只有一个公网IP的话,也能够按照NAPT的方案部署在防火墙上。

现在如果只有一个公网IP时,步骤1感觉是多余的,一个IP地址做一个IP地址池。
Easy IP
源NAT 之 Easy IP 方案 (简化版的NAPT)
Easy IP 介绍

配置少,在NAPT的方案上简化了地址池部分的配置。
Easy IP 配置
删掉之前的地址池配置

group2删不掉,是因为有安全策略在使用,可以把Nat策略删了

现在只留下面两个配置
安全策略是不变的,无论是Easy IP 还是 NAPT 也好,安全策略永远在这,因为安全策略是防火墙放行数据包安身立命之本,所以安全策略是不变的。
只需要变 nat-policy 即可



目的NAT
作用:外部访问内部是地址进行转换
防火墙上配置


当在防火墙主动敲了nat server的时候,在防火墙上就会生成server map表

这个server map表跟ASPF的server map表稍微有一点不同。
这个NAT生成的server map表只是记录下一个映射关系。有Nat server 也有 Nat Server Reverse
还得写 安全策略

这只是一个粗略的策略。
现在防火墙上没有任何一个接口配置了 100.1.1.100 这个地址

但是现在在公网上Ping 100.1.1.100能通

现在在企业内部的接口是否能抓到公网用户的流量数据包

抓包显示

公网用户访问的是100.1.1.100,现在内部抓包,目的ip变成了192.168.1.1
在防火墙出接口抓包的数据是100.1.1.100跟100.1.1.1直接通信的

怎么理解ASPF的server map不看安全策略,但是像目的NAT的server map是要看安全策略的






现在这个安全策略确实能够满足公网用户主动进来的需求,但是可能内部有非常多的服务器,有网页服务器,可能有邮箱服务器,有ftp服务器,现在可能只想让公网用户访问到网页服务器的ip
所以要多目的ip地址进行约束
如果现在在安全策略中将目的ip限制成公网的ip

限制业务停了

如果目的地址限制为内网的ip地址

业务恢复了

数据包处理流程


为什么是这个顺序?
如果说先处理 安全策略 ,再处理 目的NAT ,现在安全策略中放行了 100.1.100的流量,100.1.100 这是一个公网地址,公网地址原则上可以给任何一个私网地址去用,如果想放行A用户访问Web服务器的流量的话,如果放行的是公网ip,第二天,这个公网ip可能发生变动,给到了ftp服务器去用,这就会出现问题。
因为对外的公网地址并不一定是每天都固定给这一台服务器的。这个策略一放,本来是访问web服务器的,现在访问到了ftp服务器了。
所以站在外部用户主动访问内部的角度来说,要以web服务器真实的ip地址去管控是最准确的。
所以目的NAT它得放在最先处理,我要看一下你等一会还原成了哪个地址,
为什么把源NAT放在最后?
如果把源NAT放在安全策略之前,本来在安全策略中,我想管控哪些内部服务器哪些节点能够上公网,如果先匹配源NAT的话,如果NAPT地址池的方案,只要地址转换了的设备都能出去了。
如果是先做安全策略的匹配,再进行源IP地址的转换,那么可以管控到哪些设备可以出外网。
如果内部ip都转换成了100.1.1.1,那么现在对100.1.1.1进行限制就有问题了,没法处理能不能出外网。
总结:
无论是人家来找你,还是你自己出去,在书写安全策略时,我们书写的都是真实设备的ip地址。
实验作业
拓扑

问题:
1、源NAT部署在哪?目的NAT部署在哪?如何部署?
2、PC1和PC2两台电脑,FW1和FW2两个防火墙(均用到了相同的IP地址)
现在在YT公司要访问淘宝的服务器,面临第一个问题就是:YT公司内部自己的电脑需要上到运营商的公网上,所以肯定要在YT公司出口防火墙部署SNT。
YT公司防火墙配置
bash
# 配置安全区域
[USG6000V1]firewall zone trust
[USG6000V1-zone-trust]add interface GigabitEthernet 1/0/0
[USG6000V1]firewall zone untrust
[USG6000V1-zone-untrust]add interface GigabitEthernet 1/0/1
# 配置nat-policy
[USG6000V1]nat-policy
[USG6000V1-policy-nat]rule name pc-internet
[USG6000V1-policy-nat-rule-pc-internet]source-zone trust
[USG6000V1-policy-nat-rule-pc-internet]destination-zone untrust
[USG6000V1-policy-nat-rule-pc-internet]source-address 192.168.1.0 24
[USG6000V1-policy-nat-rule-pc-internet]action source-nat easy-ip
这个Easy-IP模式使用防火墙的出口IP做转换的
制作nat-policy的配置是不够的,因为nat只是帮我去转换数据包的ip地址,并不是配置的防火墙是否能够通过防火墙
YT公司出口防火墙配置安全策略
bash
[USG6000V1]security-policy
[USG6000V1-policy-security]rule name pc-internet
[USG6000V1-policy-security-rule-pc-internet]source-zone trust
[USG6000V1-policy-security-rule-pc-internet]destination-zone untrust
[USG6000V1-policy-security-rule-pc-internet]source-address 192.168.1.0 24
[USG6000V1-policy-security-rule-pc-internet]action permit
YT公司防火墙接口IP配置

现在YT公司的PC的数据包能够通过防火墙,并且被转换源IP地址到达公网上,可是总不能说YT公司的PC去访问192.168.1.1 就能找到淘宝的服务器,这也不现实,所以如果想要主动找到淘宝服务器发起TCP链接的话,我得知道淘宝服务器在公网上的IP是多少,通过这个公网上的IP地址去找,把数据包给到阿里的出口设备,然后让阿里的出口设备帮我还原目标IP地址放淘宝内部去转发。
在阿里出口防火墙上配置
bash
[FW1]nat server taobao global 100.1.1.100 inside 192.168.1.1
配置了这个命令之后,如果有人来访问100.1.1.100的话,我向内网发送数据包的时候,会转换成淘宝服务器真实的IP :192.168.1.1
阿里防火墙安全策略
bash
[FW1]security-policy
[FW1-policy-security-rule-taobao]dis th
2025-11-30 08:51:12.090
#
rule name taobao
source-zone untrust
destination-zone trust
destination-address 192.168.1.0 mask 255.255.255.0
action permit
#
return
当一个流量来自于公网的非信任区域,当这个流量是要去访问信任区域的192.168.1.0 网段的设备时,允许你通过防火墙的策略,把数据包发送下来。
现在就能从YT公司访问淘宝服务器了,可以在淘宝服务器进行抓包

