5.0.0 防火墙基础-1(基础知识、NAT配置)

简介

防火墙路由器转发流程对比:但防火墙多了一个SPU(Service Processing Unit),SPU安全板。

故相对于路由器来说,防火墙能够提供更加安全的保障。

同时防火墙还具备有交换与路由功能。

防火墙转发流程

5.0.0 防火墙基础-1(基础知识、NAT配置)_第1张图片

防火墙会话表

会话表是用来记录TCP、UDP、ICMP等协议连接状态的表项,是防火墙转发报文的重要依据。

防火墙采用了基于“状态”的报文控制机制:只对首包或者少量报文进行检测就确定一条连接的状态,大量报文直接根据所属连接的状态进行控制。这种状态检测机制迅速提高了防火墙的检测和转发效率。

会话表就是为了记录连接的状态而存在的。

设备在转发TCP、UDP和ICMP报文时都需要查询会话表,来判断该报文所属的连接并采取相应的处理措施。

截取自:2023-03-24 网工进阶(四十)华为防火墙技术—概述、基本概念(安全区域、安全策略、会话表)、ASPF、虚拟系统_华为防火墙全局开启aspf-CSDN博客

经过防火墙的报文会先进行匹配会话与策略,具备匹配流程如下:

5.0.0 防火墙基础-1(基础知识、NAT配置)_第2张图片

命令查看会话信息

display firewall session table 
 Current Total Sessions : 5
 icmp  VPN: public --> public  192.168.1.1:26906 --> 10.1.1.1:2048
 icmp  VPN: public --> public  192.168.1.1:27162 --> 10.1.1.1:2048
 icmp  VPN: public --> public  192.168.1.1:27674 --> 10.1.1.1:2048
 icmp  VPN: public --> public  192.168.1.1:26650 --> 10.1.1.1:2048
 icmp  VPN: public --> public  192.168.1.1:27418 --> 10.1.1.1:2048
 
 会话表中表示,192.168.1.1在ping 10.1.1.1

查看详细的会话信息:

display firewall session table verbose
 Current Total Sessions : 5
 # public路由 --> public路由
 icmp  VPN: public --> public  ID: c387f03ffe9a48847164201be5
 
 # 源区域 --> 目的区域
 Zone: trust --> dmz  TTL: 00:00:20  Left: 00:00:14
 
 # 源接口G1/0/1 --> 目的接口G1/0/0
 Recv Interface: GigabitEthernet1/0/1
 Interface: GigabitEthernet1/0/0  NextHop: 10.1.1.1  MAC: 5489-98ae-7983
 
 # 报文信息
 <--packets: 1 bytes: 60 --> packets: 1 bytes: 60
 192.168.1.1:63515 --> 10.1.1.1:2048 PolicyName: td

多通道协议在防火墙上的问题

截取自:2023-03-24 网工进阶(四十)华为防火墙技术—概述、基本概念(安全区域、安全策略、会话表)、ASPF、虚拟系统

如果在防火墙上配置严格的单向安全策略,那么防火墙将只允许业务单方向发起访问。

  • 这会导致一些特殊的协议无法工作,例如FTP。

FTP主动模式传输文件时,首先需要客户端主动向服务器端发起控制连接,然后需要服务器端向客户端发起数据连接。如果设备上配置的安全策略仅允许客户端报文单方向通过,则FTP文件传输不能成功

同FTP,通信过程中需占用两个或两个以上端口的协议被称为多通道协议。多通道协议都需要考虑此类问题。

ASPF与Server-map

为了解决多通道协议的问题,防火墙需要识别协议在应用层协商的地址和端口。这需要开启ASPF (Application Specific Packet Filter,针对应用层的包过滤)功能。

ASPF也称作基于状态的报文过滤,ASPF功能可以自动检测某些报文的应用层信息并根据应用层信息放开相应的访问规则,即生成Server-map表。

Server-map表也记录了类似会话表中连接的状态。Server-map表中的信息相对简单,是简化的会话表,在真实流量到达前生成。在流量真实到达防火墙时,防火墙会基于Server-map表生成会话表,然后执行转发。

开启ASPF解决多通道协议问题,是生成Server-map表的一种方式。

注意:ASPF和ALG功能使用的是同一个配置,只是不同场景下FW对报文的处理不同,因而叫法不同。非NAT场景下叫ASPF,NAT场景下叫ALG。

Server-map表与简化的包转发过程

当防火墙接收到一个报文且没有命中会话表时,防火墙进入首包处理流程,查询是否有命中的Server-map表。如果有,则会生成会话表转发报文;如果没有,则执行其他包处理过程。

5.0.0 防火墙基础-1(基础知识、NAT配置)_第3张图片

命令查看Server-map表

display firewall server-map

# NAT服务器静态映射功能生成的正向表项
 Type: Nat Server,  ANY -> 10.10.1.100:21[10.1.1.2:21],  Zone: trust ,  protocol:---
 Vpn: public -> public

# NAT服务器静态映射功能生成的反向表项
 Type: Nat Server Reverse,  10.1.1.2[10.10.1.100] -> ANY,  Zone: trust ,  protocol:--
 Vpn: public -> public

工作原理

工作模式/位置

(1)路由模式

当防火墙给接口配置IP地址后,则防火墙默认工作在路由模式下。

路由模式的防火墙通常接入网络中当作路由器使用。

该模式常用于旁挂在网络设备上。

(2)透明模式

防火墙接口配置交换功能后,则防火墙默认工作在透明模式下。

透明模式中的防火墙跟交换机一样,可对经过防火墙的流量进行报文分析与过滤。

该模式常用于边界路由器互联之间、边界路由器下联之间,用于过滤报文。

(3)混合模式

指防火墙接口即存在三层接口,又存在二层接口的情况。

此模式下的路由器根据网络规划情况灵活使用。

安全区域

防火墙中每个接口均需要绑定一个安全区域,而防火墙默认存在四个安全区域:Local、Trust、Untrust、DMZ。

不同区域拥有不同的受信任优先级(1~100)

Local区域优先级:100

Trust区域优先级:85

DMZ区域优先级:50

Untrust区域优先级:5

优先级越大表示该区域网络越可信。

local区域

Local区域主要表示防火墙自身/接口,防火墙所有的内部接口都属于Local区域。

一般由防火墙自身生成的报文,均是由Local区域中生成。

例如1:需要实现防火墙SNMP能够与网管进行连接,则需要防火墙放行Local到网管所在接口区域的放行策略才行。

例如2:当直连防火墙的设备,需要ping防火墙接口地址的时候,也需要进行放行Local区域到所在接口区域的放行策略才可实现通信。(同时接口需要开启ping权限)

trust区域

Trust信任区域,主要绑定内部信任网络的接口。

untrust区域

Untrust非信任区域,主要绑定外部非信任网络的接口。

dmz

DMZ非军事化区域,指处于信任与非信任区域之间,同时向两端提供服务的区域。

通常绑定的是连接服务器机房网络的接口。部分服务器向直接外网提供服务,部分只向内部提供服务。

其它

除了默认4个区域,还可以自定义16个区域,自定义区域默认没有优先级需要自行指定1~100的优先级。

配置命令

system-view
# 进入默认区域
firewall zone trust
	add interface G0/0/1	# 将接口划入安全区域
	
# 创建自定义区域
firewall zone 区域名称
	set priority security-priority	# 设置优先级
	add interface G0/0/1	# 将接口划入自定义区域

数据流方向Inbound与Outbound

防火墙基于区域之间处理流量,即使由防火墙自身发起的流量也属于Local区域其他区域之间的流量传递。

当数据流在安全区域之间流动时,才会激发华为防火墙进行安全策略的检查。

  • 入方向(Inbound):数据由级别的安全区域向级别的安全区域传输的方向;
  • 出方向(Outbound):数据由级别的安全区域向级别的安全区域传输的方向;
  • 低进高,高出低。

安全策略

匹配顺序

防火墙策略按照从上往下顺序匹配,当成功匹配某条策略之后,将不再继续向下匹配。

源目安全区域、源目IP地址

源目IP地址亦是报文中的源目IP地址。

源安全区域表示报文进入防火墙的接口所属区域。

目的安全区域表示报文离开防火墙的接口所属区域。

服务

服务,指防火墙允许放行的协议。

如:仅放行ping功能则在服务选项选择ICMP协议。其它协议也是这样。

策略方向

可能会存在一个疑惑,Trust区域的PC访问Untrust区域的服务器,我该如何放行策略?需要来回都放行策略嘛?

“按需求”,常规情况下都是PC访问服务器,故只需要放行:Trust–>Untrust,PC–>服务器,以及相应的服务端口即可。

因为有会话表的存在,故不需要担心PC访问服务器时,服务器回包的时候被拦截的情况。而如果也需要服务器访问PC,那就是再放行Untrust–>Trust的策略即可。

注意:新版本的状态防火墙,不需要再明确的指定源服务/端口,目的服务/端口,只需要指定服务即可。

部分旧防火墙可能是这么指定策略的:

  • 源目区域,源目地址,源端口,目的端口。
  • PC访问服务器时,源端口为任意,目的端口为服务器80端口。
  • 服务器访问PC时,源端口为服务器80端口,目的端口为任意。

基础应用

web界面

通过防火墙的Console口连接到防火墙

默认防火墙的G0/0/0接口IP地址是192.168.0.1

system
[FW1] web-manager enable # 开启图形管理界面(默认开启)
[FW1]int g0/0/0
[FW1-GigabitEthernet0/0/0] ip address 192.168.52.1 24	# 配置成与本地同段地址
[FW1-GigabitEthernet0/0/0] service-manage all permit	# 放行该端口的请求

[FW1-GigabitEthernet0/0/0] display this					# 查看当前接口配置
interface GigabitEthernet0/0/0
 undo shutdown
 ip binding -instance default
 ip address 192.168.52.1 255.255.255.0
 alias GE0/METH
 service-manage http permit
 service-manage https permit
 service-manage ping permit
 service-manage ssh permit
 service-manage snmp permit
 service-manage telnet permit
#

5.0.0 防火墙基础-1(基础知识、NAT配置)_第4张图片

5.0.0 防火墙基础-1(基础知识、NAT配置)_第5张图片

能够通信后,打开网页:http://192.168.52.1,默认账号admin,默认密码Admin@123。

如果在设备启动时已经修改了密码,那么网页的登录密码也为相应的密码。

5.0.0 防火墙基础-1(基础知识、NAT配置)_第6张图片

或者也可以创建一个web用户,单独用于登录Web网页使用:

[FW]aaa
[FW-aaa]manager-user webuser
[FW-aaa-manager-user-webuser]password cipher Huawei@123
[FW-aaa-manager-user-webuser]service-type web
[FW-aaa-manager-user-webuser]level 15
[FW-aaa-manager-user-webuser]quit
[FW-aaa]bind manager-user webuser role system-admin 

5.0.0 防火墙基础-1(基础知识、NAT配置)_第7张图片

NAT配置

静态NAT

5.0.0 防火墙基础-1(基础知识、NAT配置)_第8张图片

1、实现需求:

  • FW上进行静态NAT转换,将内网地址192.168.10.1映射成外网地址100.0.0.2。
  • AR2、LSW1为内部安全区域,IGP协议为OSPF,ISP为非安全区域。

2、验证方式 :

  • 于ISP上开启ICMP的debug(debugging ip icmp)以及输出debug信息(terminal debugging),观察ICMP访问源地址是否为100.0.0.2。

3、配置思路:

  • 配置安全区域与非安全设备IP地址及IGP协议(此处省略AR2、LSW1、ISP设备配置)。
  • 配置防火墙接口地址、并划入相应安全区域,并配置防火墙的OSPF。
  • 配置安全策略及NAT策略,实现静态NAT转换需求。

FW网络配置参考

# 配置接口IP地址
[FW]int g1/0/0
[FW-GigabitEthernet1/0/0]ip address 100.0.0.1 29
[FW-GigabitEthernet1/0/0]int g1/0/1
[FW-GigabitEthernet1/0/1]ip address 10.1.0.1 30
[FW-GigabitEthernet1/0/1]quit
# 划入安全区域
[FW]firewall zone trust 
[FW-zone-trust]add interface g1/0/1

[FW-zone-trust]firewall zone untrust
[FW-zone-untrust]add interface g1/0/0
[FW-zone-untrust]quit
# 配置出外网的默认路由
[FW]ip route-static 0.0.0.0 0 100.0.0.6
# 配置OSPF
[FW]ospf 1 router-id 1.1.1.1
[FW-ospf-1]default-route-advertise 
[FW-ospf-1]area 0
[FW-ospf-1-area-0.0.0.0]network 10.1.0.1 0.0.0.3
[FW-ospf-1-area-0.0.0.0]network 100.0.0.0 0.0.0.7
[FW-ospf-1-area-0.0.0.0]quit

[FW]display ospf peer brief 
2024-01-25 01:51:14.930 

	 OSPF Process 1 with Router ID 1.1.1.1
		  Peer Statistic Information
 ----------------------------------------------------------------------------
 Area Id          Interface                        Neighbor id      State    
 0.0.0.0          GigabitEthernet1/0/1             2.2.2.2          Full        
 ----------------------------------------------------------------------------

# 能够学习到安全区域的客户端路由
[FW]display ip routing-table protocol ospf 
2024-01-25 01:52:04.800 
Destination/Mask    Proto   Pre  Cost      Flags NextHop    Interface
 192.168.10.0/24  OSPF    10   2      D   10.1.0.2    GigabitEthernet1/0/1
 192.168.20.0/24  OSPF    10   2      D   10.1.0.2    GigabitEthernet1/0/1

这个时候可能会情不自禁的想ping一下防火墙看看有没有问题,但会发现居然ping不通防火墙接口!??

5.0.0 防火墙基础-1(基础知识、NAT配置)_第9张图片

这其实是防火墙的G1/0/1接口默认不开启ping权限,故无法被ping。

进入接口,开启接口ping权限。

[FW]int g1/0/1
[FW-GigabitEthernet1/0/1]service-manage ping permit
[FW-GigabitEthernet1/0/1]service-manage enable

5.0.0 防火墙基础-1(基础知识、NAT配置)_第10张图片

FW策略配置参考

  • 防火墙中配置静态NAT的方式有很多种,不止以下几种方式:
  • 方式1:通过NAT命令在全局配置
  • 方式2:通过静态映射配置
方式1:全局NAT命令配置
# 全局配置静态NAT
[FW]nat server global 100.0.0.2 inside 192.168.10.1

# 放行安全策略,直接配置action permit表示放行所有,无论任何区域。
[FW]security-policy
[FW-policy-security]rule name cs
[FW-policy-security-rule-cs]action permit

# 明细放行,先删除原先。
# PC1处于Trust区域,外网属于Untrust区域,没有批量目的地址则表示any。
[FW-policy-security]undo rule name cs
[FW-policy-security]rule name Per_PC1_Inter
[FW-policy-security-rule-Per_PC1_Inter]source-zone trust 
[FW-policy-security-rule-Per_PC1_Inter]destination-zone untrust
[FW-policy-security-rule-Per_PC1_Inter]source-address 192.168.10.1 32
[FW-policy-security-rule-Per_PC1_Inter]action permit 

客户端PC1进行ping 8.8.8.8,查看IGP路由器上的Debug信息:

# 可以看到Dst=2.0.0.100,也就是100.0.0.2,说明静态地址映射成功。

Jan 25 2024 10:36:10.743.2-08:00 ISP IP/7/debug_icmp:
ICMP Send: echo-reply(Type=0, Code=0), Src = 8.8.8.8, Dst = 2.0.0.100, ICMP Id =
 0xc91d, ICMP Seq = 1


Jan 25 2024 10:36:11.783.1-08:00 ISP IP/7/debug_icmp:
ICMP Receive: echo(Type=2048, Code=0), Src = 2.0.0.100, Dst = 8.8.8.8, ICMP Id =
 0xc91e, ICMP Seq = 2

也可以直接在防火墙上查看会话信息:

[FW]dis firewall session table 
2024-01-25 02:41:44.340 
 Current Total Sessions : 5
 icmp  VPN: public --> public  192.168.10.1:27850[100.0.0.2:27850] --> 8.8.8.8:2048
 icmp  VPN: public --> public  192.168.10.1:27594[100.0.0.2:27594] --> 8.8.8.8:2048
 icmp  VPN: public --> public  192.168.10.1:27082[100.0.0.2:27082] --> 8.8.8.8:2048
 icmp  VPN: public --> public  192.168.10.1:27338[100.0.0.2:27338] --> 8.8.8.8:2048
 icmp  VPN: public --> public  192.168.10.1:26826[100.0.0.2:26826] --> 8.8.8.8:2048

此时查看防火墙策略,可以看到命中数。命中数是判断是否有报文触发该策略的依据。

default策略为默认拒绝所有,如果没有匹配到前面的策略, 最终该报文将被丢弃,同时命中defualt策略。

[FW]display security-policy rule all 
2024-01-25 02:43:40.780  
Total:2 
RULE ID  RULE NAME                         STATE      ACTION       HITS        
------------------------------------------------------------------------------- 
3        Per_PC1_Inter                     enable     permit       5           
0        default                           enable     deny         35          
-------------------------------------------------------------------------------

方式2:静态映射配置(SNAT、DNAT)
  • 环境准备:安全策略放行不变,删除全局配置的NAT映射命令。
[FW]dis this
#
 nat server 0 global 100.0.0.2 inside 192.168.10.1
#

# 可以看到nat server名称为0,删除0
[FW]undo nat server name 0

配置流程:

1、进入静态映射视图

[FW]nat static-mapping 

2、创建私网地址池、公网地址池

# 私网地址池,因为只有一个地址故起止都为同一个地址。
[FW-nat-static]inside-ipv4-pool 1 
[FW-nat-static-inside-pool-1]section 1 192.168.10.1 192.168.10.1 
[FW-nat-static-inside-pool-1]quit

# 公网地址池
[FW-nat-static]global-pool 1
[FW-nat-static-global-pool-1]section 1 100.0.0.2 100.0.0.2
[FW-nat-static-global-pool-1]route enable

# route enable	
配置该命令后,设备将会为公网地址池中的地址生成一条路由,该路由的作用与黑洞路由的作用相同,可以防止路由环路。
当(公网地址池地址)与(出接口地址) 不在 同一网段时,必须配置黑洞路由;
当(公网地址池地址)与(出接口地址) 在  同一网段时,建议配置黑洞路由。
当(公网地址池地址)与(出接口地址) 一致时,不会产生路由环路,不需配置黑洞路由。

3、配置映射规则

# 配置一对一静态映射
[FW-nat-static]static-mapping 1 inside-ipv4-pool 1 global-pool 1 ip-first
[FW-nat-static]quit

# 配置ip-first参数后,优先选择地址池中公网地址对私网用户进行转换,地址池中地址转换完再转换端口。
#不配置ip-first参数时,优先选择端口对私网用户进行转换,端口分配完后再更换公网地址进行新一轮的端口转换。


# 扩展:静态映射到接口,这样就不需要单独创建接口地址的地址池
[FW-nat-static]static-mapping 1 inside-ipv4-pool 1 global interface g1/0/0
# 不过我感觉如果是单个地址,用NAT server命令配置映射会更方便。

4、NAT策略中应用静态映射规则(只能绑定源静态映射),也就说明只能实现私网转换成公网,但公网无法转换成私网。

[FW]nat-policy 
[FW-policy-nat]rule name PC1_Internet
[FW-policy-nat-rule-PC1_Internet]action source-nat static-mapping 1
[FW-policy-nat-rule-PC1_Internet]quit
[FW-policy-nat]quit
[FW]

再次测试PC1访问8.8.8.8,此时换成tracert观察:

PC>tracert 8.8.8.8

traceroute to 8.8.8.8, 8 hops max
(ICMP), press Ctrl+C to stop
 1  192.168.10.254   47 ms  47 ms  31 ms
 2    *  *  *
 3  8.8.8.8   47 ms  63 ms  47 ms

防火墙默认无法被tracert所发现(即不会回复ICMP包,在tracert经过防火墙的时候,只会显示*),如果需要让它跟其它网络设备一样正常显示,可以输入该命令:[FW]icmp ttl-exceeded send

PC>tracert 8.8.8.8

traceroute to 8.8.8.8, 8 hops max
(ICMP), press Ctrl+C to stop
 1  192.168.10.254   31 ms  47 ms  47 ms
 2  10.1.0.1   31 ms  47 ms  47 ms
 3  8.8.8.8   62 ms  63 ms  62 ms

5、由于NAT策略中绑定Static-mapping规则只能配置SNAT,无法配置DNAT,故ISP无法通过访问100.0.0.2访问到192.168.10.1。

此时,可以在NAT策略上配置DNAT,配置一个反向映射。

# 添加NAT策略
[FW]nat-policy 
[FW-policy-nat]rule name PC1_Internet2
[FW-policy-nat-rule-PC1_Internet2]source-zone untrust
[FW-policy-nat-rule-PC1_Internet2]destination-address 100.0.0.2 mask 255.255.255.255
[FW-policy-nat-rule-PC1_Internet2]action destination-nat address 192.168.10.1
[FW-policy-nat-rule-PC1_Internet2]quit
[FW-policy-nat]quit

# 添加安全策略放行Untrust-->Trust
[FW]security-policy 
[FW-policy-security]rule name Per_Inter_PC1
[FW-policy-security-rule-Per_Inter_PC1]source-zone untrust
[FW-policy-security-rule-Per_Inter_PC1]destination-zone trust
[FW-policy-security-rule-Per_Inter_PC1]destination-address 192.168.10.1 32
[FW-policy-security-rule-Per_Inter_PC1]action permit

# 为啥目的地址是192.168.10.1呢?实际上ISP访问的是100.0.0.2啊。
# 因为在防火墙中,SNAT是源转换,故会先进行安全策略匹配再进行NAT策略匹配。而DNAT是目的转换,故会先经过NAT策略判断是否具备转换,再进行匹配安全策略。而DNAT经过NAT策略之后,目的地址已经由100.0.0.2转换成了192.168.10.1,故安全策略上放行的目的地址就是192.168.10.1。

Easy-IP

  • 环境准备,删除NAT策略及安全策略。
[FW]nat-policy
[FW-policy-nat]undo rule name PC1_Internet
[FW-policy-nat]undo rule name PC1_Internet2

[FW]security-policy
[FW-policy-security]undo rule name Per_Inter_PC1
[FW-policy-security]undo rule name Per_PC1_Inter

5.0.0 防火墙基础-1(基础知识、NAT配置)_第11张图片

配置流程:

1、配置NAT策略

[FW]nat-policy 
[FW-policy-nat]rule name PC2_Internet_Easy-ip
[FW-policy-nat-rule-PC2_Internet_Easy-ip]source-zone trust 
[FW-policy-nat-rule-PC2_Internet_Easy-ip]destination-zone untrust 
# 指定允许转换的地址 
[FW-policy-nat-rule-PC2_Internet_Easy-ip]source-address 192.168.20.0 24
# 指定出接口,SNAT,easy-ip映射
[FW-policy-nat-rule-PC2_Internet_Easy-ip]egress-interface g1/0/0
[FW-policy-nat-rule-PC2_Internet_Easy-ip]action source-nat easy-ip 

2、配置安全策略

[FW-policy-security]rule name Per_PC2_Inter
[FW-policy-security-rule-Per_PC2_Inter]source-zone trust
[FW-policy-security-rule-Per_PC2_Inter]destination-zone untrust
[FW-policy-security-rule-Per_PC2_Inter]source-address 192.168.20.0 24
[FW-policy-security-rule-Per_PC2_Inter]action permit

3、PC1与PC2进行ping测试

5.0.0 防火墙基础-1(基础知识、NAT配置)_第12张图片

NAT-Server

  • 环境准备,删除easy-ip的NAT策略安全策略。
[FW]nat-policy 
[FW-policy-nat]undo rule name PC2_Internet_Easy-ip

[FW]security-policy 
[FW-policy-security]undo rule name Per_PC2_Inter
  • NAT-Server用于将公私网地址端口进行相互作映射。

5.0.0 防火墙基础-1(基础知识、NAT配置)_第13张图片

配置流程:

方式1:通过NAT策略

1、配置NAT策略,配置DNAT时源区域为外网,目的为外网映射地址。

# 映射80
[FW] nat-policy 
[FW-policy-nat] rule name Server80-80
[FW-policy-nat-rule-Server80-80] source-zone untrust 
[FW-policy-nat-rule-Server80-80] destination-address 100.0.0.2 32
[FW-policy-nat-rule-Server80-80] service http
[FW-policy-nat-rule-Server80-80] action destination-nat static port-to-port address 192.168.20.2 80

# 映射21
[FW-policy-nat]rule name Server21-2222
[FW-policy-nat-rule-Server21-2222] source-zone untrust
[FW-policy-nat-rule-Server21-2222] destination-address 100.0.0.2 32
[FW-policy-nat-rule-Server21-2222] service protocol tcp destination-port 2222
[FW-policy-nat-rule-Server21-2222]action destination-nat static port-to-port  address 192.168.20.2 21

5.0.0 防火墙基础-1(基础知识、NAT配置)_第14张图片

2、配置安全策略,放行访问到私网的80、21端口。

[FW]security-policy 
[FW-policy-security]rule name Server_DNAT
[FW-policy-security-rule-Server_80-80]source-zone untrust
[FW-policy-security-rule-Server_80-80]destination-zone trust 
[FW-policy-security-rule-Server_80-80]destination-address 192.168.20.2 32
[FW-policy-security-rule-Server_80-80]service http ftp
[FW-policy-security-rule-Server_80-80]action permit 

3、于ISP添加一台客户端进行测试结果。

(1)测试服务器80映射外网80端口
5.0.0 防火墙基础-1(基础知识、NAT配置)_第15张图片

(2)测试服务器21映射外网2222端口

5.0.0 防火墙基础-1(基础知识、NAT配置)_第16张图片

方式2:通过NAT Server命令
  • 通过NAT Server命令实现要求,删除NAT策略,安全策略不变。
# 添加NAT规则时出现Error告警(原因是之前配置的nat static-mapping存在垃圾命令)
[FW]nat server protocol tcp global 100.0.0.2 80 inside 192.168.20.2 80
 Error: The NAT server global address is Conflict with the static-mapping global
 IP.

[FW]nat static-mapping
[FW-nat-static]undo static-mapping 1
[FW-nat-static]undo global-pool 1
[FW-nat-static]undo inside-ipv4-pool 1
[FW-nat-static]quit

# 再次配置
[FW]nat server protocol tcp global 100.0.0.2 80 inside 192.168.20.2 80
[FW]nat server protocol tcp global 100.0.0.2 2222 inside 192.168.20.2 21
  • 再次进行测试,发现HTTP与FTP成功。

NAT-NO-PAT

  • 动态NAT地址池,一对一动态地址映射。一个私网对应一个公网地址。

5.0.0 防火墙基础-1(基础知识、NAT配置)_第17张图片

  • 删除NAT Server命令与安全策略,准备环境:
[FW]undo nat server name 0
[FW]undo nat server name 1
[FW]security-policy 
[FW-policy-security]undo rule name Server_DNAT

配置流程:

1、配置NAT地址池

[FW]nat address-group NAT_NO_PAT_POOL
[FW-address-group-NAT_NO_PAT_POOL]mode no-pat global 
[FW-address-group-NAT_NO_PAT_POOL]section 100.0.0.2 100.0.0.4
[FW-address-group-NAT_NO_PAT_POOL]quit

mode no-pat global 
表示全局的No-PAT模式,生成的Server-Map表中“不包含安全区域”参数,不受域间关系限制。
mode no-pat local 
表示本地的No-PAT模式,生成的Server-Map表中“包含安全区域”参数,受域间关系限制。

2、配置NAT策略

[FW-policy-nat]rule name NO_PAT
[FW-policy-nat-rule-NO_PAT]source-zone trust
[FW-policy-nat-rule-NO_PAT]destination-zone untrust
[FW-policy-nat-rule-NO_PAT]source-address 192.168.10.1 192.168.10.3
[FW-policy-nat-rule-NO_PAT]action source-nat address-group NAT_NO_PAT_POOL
[FW-policy-nat-rule-NO_PAT]quit

3、配置安全策略

[FW]security-policy 
[FW-policy-security]rule name NO_PAT
[FW-policy-security-rule-NO_PAT]source-zone trust
[FW-policy-security-rule-NO_PAT]destination-zone untrust
[FW-policy-security-rule-NO_PAT]source-address 192.168.10.1 192.168.10.3
[FW-policy-security-rule-NO_PAT]action permit

4、PC1进行ping测试后,查看会话表

dis firewall session table 
2024-01-25 08:59:04.010 
 Current Total Sessions : 12
 icmp  VPN: public --> public  192.168.10.1:61986[100.0.0.2:61986] --> 8.8.8.8:2048
 icmp  VPN: public --> public  192.168.10.2:291[100.0.0.3:291] --> 8.8.8.8:2048
 icmp  VPN: public --> public  192.168.10.3:547[100.0.0.4:547] --> 8.8.8.8:2048
 
 icmp  VPN: public --> public  192.168.10.1:65058[100.0.0.2:65058] --> 8.8.8.8:2048
 icmp  VPN: public --> public  192.168.10.2:35[100.0.0.3:35] --> 8.8.8.8:2048
 icmp  VPN: public --> public  192.168.10.3:1315[100.0.0.4:1315] --> 8.8.8.8:2048

如果地址池使用的是no-pat local:

(3台设备并看不出什么区别)

dis firewall session table 
2024-01-25 09:00:47.140 
 Current Total Sessions : 13
 icmp  VPN: public --> public  192.168.10.1:26915[100.0.0.2:26915] --> 8.8.8.8:2048
 icmp  VPN: public --> public  192.168.10.2:26915[100.0.0.3:26915] --> 8.8.8.8:2048
 icmp  VPN: public --> public  192.168.10.3:27171[100.0.0.4:27171] --> 8.8.8.8:2048
 
 icmp  VPN: public --> public  192.168.10.1:27427[100.0.0.2:27427] --> 8.8.8.8:2048
 icmp  VPN: public --> public  192.168.10.2:27427[100.0.0.3:27427] --> 8.8.8.8:2048
 icmp  VPN: public --> public  192.168.10.3:27939[100.0.0.4:27939] --> 8.8.8.8:2048

NAPT

  • 动态NAT地址池,一对一动态端口映射。多个私网对应一个公网的多个端口。
  • 配置上与NAT-NO-PAT的区别在于地址池中只需要修改为:mode pat

操作流程:

1、删除之前的NO-PAT配置

[FW]nat-policy 
[FW-policy-nat]undo rule name NO_PAT
[FW-policy-nat]quit
[FW]undo nat address-group NAT_NO_PAT_POOL

2、配置PAT模式的NAT地址池

[FW]nat address-group NAT_PAT 0
[FW-address-group-NAT_PAT]mode pat
[FW-address-group-NAT_PAT]section 100.0.0.2 100.0.0.4

3、绑定NAT策略

[FW-policy-nat]rule name NAT_PAT
[FW-policy-nat-rule-NO_PAT]source-zone trust
[FW-policy-nat-rule-NO_PAT]destination-zone untrust
[FW-policy-nat-rule-NO_PAT]source-address 192.168.10.1 192.168.10.3
[FW-policy-nat-rule-NO_PAT]action source-nat address-group NAT_PAT
[FW-policy-nat-rule-NO_PAT]quit

4、安全策略已经放行,PC1再次ping测试。

  • 虽然乍一看感觉和no-pat差不多,其实差别在于私网与公网的端口映射关系。
  • 私网端口与公网端口映射是不一致的,而no-pat不管是global还是local模式,其私网公网的端口映射都是一样的。
display firewall session table 
2024-01-25 09:21:22.660 
 Current Total Sessions : 9
 icmp  VPN: public --> public  192.168.10.1:16168[100.0.0.3:2048] --> 8.8.8.8:2048
 icmp  VPN: public --> public  192.168.10.2:16936[100.0.0.2:2052] --> 8.8.8.8:2048
 icmp  VPN: public --> public  192.168.10.3:16680[100.0.0.2:2049] --> 8.8.8.8:2048
 
 icmp  VPN: public --> public  192.168.10.1:16936[100.0.0.3:2051] --> 8.8.8.8:2048
 icmp  VPN: public --> public  192.168.10.2:16680[100.0.0.2:2050] --> 8.8.8.8:2048
 icmp  VPN: public --> public  192.168.10.3:16936[100.0.0.2:2051] --> 8.8.8.8:2048

你可能感兴趣的:(HCIE相关知识,网络)