0
点赞
收藏
分享

微信扫一扫

#yyds干货盘点# HCIE-Security Day6:5个实验搞定源NAT

#yyds干货盘点# HCIE-Security Day6:5个实验搞定源NAT_安全策略#yyds干货盘点# HCIE-Security Day6:5个实验搞定源NAT_防火墙_02#yyds干货盘点# HCIE-Security Day6:5个实验搞定源NAT_NAT_03

NAT是一种地址转换技术,可以将ipv4报文头中的地址做转换,通常情况下,利用nat技术将ipv4报文头中的私网地址转换为公网地址,实现了内网设备与公网设备的互访。

从实现上来说,NAT转换设备都维护一张地址转换表。地址转换的机制分为:

内部网络主机的ip地址和端口转换为nat转换设备外部网络地址和端口

外部网络主机的ip地址和端口转换位nat转换设备内部网路地址和端口

即私有地址+端口与共有地址+端口之间互相转换。

常见的nat转化设备由路由器、防火墙等。

NAT分类




#yyds干货盘点# HCIE-Security Day6:5个实验搞定源NAT_抓包_04


SNAT

对报文中的源地址进行转换。通过源nat将私网ip地址转换为公网ip地址,使私网用户可以利用公网地址访问internet。

当私网用户访问公网时,报文到达fw,fw将报文的源ip地址由私网地址转换为公网地址

当回程报文返回fw时,fw再将报文的目的地址由公网地址转换位私网地址。

No-pat

只转换地址,不转换端口,实现私网到公网地址一对一转换,适用于上网人数少,公网地址多的常见使用。

分为local no-pat:生成的server-map表项中包含了安全区域参数,只有此安全区域的server可以访问内网host

global no-pat:生成的server-map表项中不包含安全区域参数,所有安全区域的server可以访问内网host

#yyds干货盘点# HCIE-Security Day6:5个实验搞定源NAT_抓包_05

具体过程


参考报文转发流程

#yyds干货盘点# HCIE-Security Day6:5个实验搞定源NAT_防火墙_06

1、fw收到host发送的报文后,根据目的地址判断报文需要在trust和untrust区域之间流动,通过安全策略检查后继而查找nat策略,发现需要对报文进行地址转换。

2、fw根据轮询算法从nat地址池中选择一个空闲的公网ip地址,替换报文的源地址,并建立server-map表和会话表,然后将报文发送到公网。

正向server-map表项保证了特定私网用户访问公网时,快速地址转换,提高fw处理效率。

反向server-map表项允许公网用户主动访问私网用户,将报文进行地址转换。

3、fw收到公网回包后,匹配会话表中表项,将报文的目的地址替换为host的ip地址,然后将报文发送到私网。

4、如果地址池中地址分配光了,剩余内网主机的外网访问需求将无法满足,直到地址池中有空闲地址。


实验一:私网用户通过NAT NO-PAT访问internet(访问明确的目的server)

需求和拓扑

某工作室在网络边界处部署了FW作为安全网关。为了使私网中10.1.1.0/24网段的用户可以正常访问Internet,需要在FW上配置源NAT策略。由于需要上网的用户少且访问明确的目的Server,FW采用NAT No-PAT的地址转换方式,将匹配上NAT策略的私网地址进行一对一转换。工作室向ISP申请了6个IP地址(1.1.1.10~1.1.1.15)作为私网地址转换后的公网地址。其中Router是ISP提供的接入网关。

#yyds干货盘点# HCIE-Security Day6:5个实验搞定源NAT_安全策略_07

#yyds干货盘点# HCIE-Security Day6:5个实验搞定源NAT_抓包_08

#yyds干货盘点# HCIE-Security Day6:5个实验搞定源NAT_安全策略_09

(扫码回复NAT1获取完整实验拓扑环境及配置)



配置步骤
1、配置终端设备及网络设备接口ip地址、划分安全区域
2、配置路由

fw1上配置

ip route-static 1.1.2.2 255.255.255.255 1.1.1.254
3、配置安全策略
security-policy
rule name 1
source-zone trust
destination-zone untrust
source-address 10.1.1.0 mask 255.255.255.0//natnat
destination-address 1.1.2.2 mask 255.255.255.255
service http
service icmp
action permit
4、配置NAT

4.1 配置地址池

nat address-group 1 
mode no-pat global//使global
section 1.1.1.10 1.1.1.15

4.2 配置NAT策略

nat-policy
rule name 1
source-zone trust
destination-zone untrust
source-address 10.1.1.0 mask 255.255.255.0
destination-address 1.1.2.2 mask 255.255.255.255
action source-nat address-group 1
//访server
rule name 2
source-zone trust
destination-zone untrust
source-address 10.1.1.0 mask 255.255.255.0
destination-address any
action no-nat
测试和分析
在client1上ping server
ping 1.1.2.2

#yyds干货盘点# HCIE-Security Day6:5个实验搞定源NAT_NAT_10

在fw的g1/0/0抓包

#yyds干货盘点# HCIE-Security Day6:5个实验搞定源NAT_抓包_11


在fw的g1/0/1抓包

#yyds干货盘点# HCIE-Security Day6:5个实验搞定源NAT_防火墙_12


说明在fw对报文源地址nat前,其源地址是10.1.1.10,目的地址是1.1.2.2,经过fw源nat后,其源地址是1.1.1.10,目的地址是1.1.2.2。而回包的源地址是1.1.2.2,目的地址是1.1.1.10,回包被nat后,其源地址是1.1.2.2,而目的地址是10.1.1.10。

查看fw的会话表和sever-map表项

#yyds干货盘点# HCIE-Security Day6:5个实验搞定源NAT_NAT_13

#yyds干货盘点# HCIE-Security Day6:5个实验搞定源NAT_安全策略_14

在client1上访问server的http服务

#yyds干货盘点# HCIE-Security Day6:5个实验搞定源NAT_抓包_15

在fw的g1/0/0抓包

#yyds干货盘点# HCIE-Security Day6:5个实验搞定源NAT_防火墙_16


在fw的g1/0/1抓包

#yyds干货盘点# HCIE-Security Day6:5个实验搞定源NAT_NAT_17


说明在fw对报文源地址nat前后,http的请求报文的源端口始终是随机端口2049,目的端口始终是http端口80,http的回应报文的源端口始终是http端口80,目的端口始终是随机端口2049。

查看fw的会话表和sever-map表项

#yyds干货盘点# HCIE-Security Day6:5个实验搞定源NAT_安全策略_18

#yyds干货盘点# HCIE-Security Day6:5个实验搞定源NAT_NAT_19

可以看到no-pat默认生成reverse的表项,这在配置了粗糙的安全策略的情况下会造成安全隐患。如果配置了从untrust到trust方向的安全策略放行icmp报文,那么公网的ping包也可以直接被nat地址后被发送到私网并被响应。



NAPT

同时转化地址和端口,实现多个私网地址共用一个或者多个公网地址,适用于公网地址数量少,需要上网的私网用户数量大的场景。


#yyds干货盘点# HCIE-Security Day6:5个实验搞定源NAT_NAT_20


具体过程

1、fw收到私网报文后,根据目的地址判断报文区域流向,通过安全策略检查后继而查找nat策略,发现需要对报文进行地址转换。

2、fw根据源地址 hash算法从nat地址池中选择一个公网地址,替换报文的源地址,同时使用新的端口号替换报文的源端口号,并建立会话表(没有建立server-map表),然后将报文转发到公网。

3、fw收到公网回包后,匹配会话表中表项,转换还原回包目的地址和目的端口,然后将报文转发到私网。

实验二:私网用户通过NAPT访问Internet(限制公网地址对应的私网地址数)


需求和拓扑

某公司在网络边界处部署了FW作为安全网关。为了使私网中10.1.1.0/24网段的用户可以正常访问Internet,需要在FW上配置源NAT策略。除了公网接口的IP地址外,公司还向ISP申请了6个IP地址(1.1.1.10~1.1.1.15)作为私网地址转换后的公网地址。当大量的内网用户上网时会导致NAT转换时端口冲突,因此需要限制公网地址对应的私网地址数,保证用户正常上网。其中Router是ISP提供的接入网关。

#yyds干货盘点# HCIE-Security Day6:5个实验搞定源NAT_NAT_21

#yyds干货盘点# HCIE-Security Day6:5个实验搞定源NAT_安全策略_22

#yyds干货盘点# HCIE-Security Day6:5个实验搞定源NAT_安全策略_09

(扫码回复NAT2获取完整实验拓扑环境及配置)

配置步骤
1、配置终端设备及网络设备接口地址
2、配置路由
ip route-static 2.2.2.2 255.255.255.255 1.1.1.254
3、配置安全策略
security-policy
rule name 1
source-zone trust
destination-zone untrust
source-address 10.1.1.0 mask 255.255.255.0
destination-address 2.2.2.0 mask 255.255.255.0
service ftp
service icmp
action permit
4、配置NAT
//nat
nat address-group 1 0
mode pat
section 0 1.1.1.10 1.1.1.15
srcip-car-num 256//2561
//nat
nat-policy
rule name 1
source-zone trust
destination-zone untrust
source-address 10.1.1.0 mask 255.255.255.0
destination-address 2.2.2.0 mask 255.255.255.0
service ftp
service icmp
action source-nat address-group 1
测试和分析
在client1上ping server

#yyds干货盘点# HCIE-Security Day6:5个实验搞定源NAT_抓包_24


在fw的g1/0/0口抓包(trust侧,nat前)

#yyds干货盘点# HCIE-Security Day6:5个实验搞定源NAT_NAT_25

在fw的g1/0/1口抓包(untrust侧,nat后)

#yyds干货盘点# HCIE-Security Day6:5个实验搞定源NAT_安全策略_26

检查fw的会话表和server-map表项

#yyds干货盘点# HCIE-Security Day6:5个实验搞定源NAT_抓包_27

#yyds干货盘点# HCIE-Security Day6:5个实验搞定源NAT_抓包_28


在client1上访问server的ftp服务

#yyds干货盘点# HCIE-Security Day6:5个实验搞定源NAT_防火墙_29


在fw的g1/0/0口抓包(trust侧,nat前)

#yyds干货盘点# HCIE-Security Day6:5个实验搞定源NAT_防火墙_30

在fw的g1/0/1口抓包(untrust侧,nat后)

#yyds干货盘点# HCIE-Security Day6:5个实验搞定源NAT_防火墙_31

检查fw的会话表和server-map表项

#yyds干货盘点# HCIE-Security Day6:5个实验搞定源NAT_抓包_27

#yyds干货盘点# HCIE-Security Day6:5个实验搞定源NAT_抓包_28

发现没有生成server-map表项,并且nat前后的源端口发生了改变。

Smart NAT

no-pat和napt的结合,指定地址池中某个地址预留做napt,其余做no-pat。适用于上网用户突然激增的场景。fw优先采用no-pat的方式转换地址,当可被no-pat方式的公网地址用完时,新的用户连接将使用预留的这个ip地址做napt的转换。

区别于no-pat:如果地址池中地址分配光了,剩余内网主机的外网访问需求将无法满足,直到地址池中有空闲地址。


实验三:私网用户通过Smart NAT访问Internet

需求和拓扑

某公司在网络边界处部署了FW作为安全网关。为了使私网中10.1.1.0/24网段的用户可以正常访问Internet,需要在FW上配置源NAT策略。除了公网接口的IP地址外,公司还向ISP申请了6个IP地址(1.1.1.10~1.1.1.15)作为私网地址转换后的公网地址。网络环境如图,其中Router是ISP提供的接入网关。

通常情况下,同一时刻需要访问Internet的私网用户数量很少,使用No-PAT方式即可;为了解决突发性私网用户数量增多的情况,预留一个公网IP地址进行NAPT方式的地址转换。

#yyds干货盘点# HCIE-Security Day6:5个实验搞定源NAT_防火墙_34

#yyds干货盘点# HCIE-Security Day6:5个实验搞定源NAT_安全策略_35

#yyds干货盘点# HCIE-Security Day6:5个实验搞定源NAT_安全策略_09

(扫码回复NAT3获取完整实验拓扑环境及配置)

配置步骤
1、配置终端设备及网络设备接口地址
2、配置路由
ip route-static 2.2.2.2 255.255.255.255 1.1.1.254
3、配置安全策略
security-policy
rule name 1
source-zone trust
destination-zone untrust
source-address 10.1.1.0 mask 255.255.255.0
destination-address 2.2.2.0 mask 255.255.255.0
service ftp
service icmp
action permit
4、配置NAT
//nat
nat address-group 1 0
mode no-pat global
section 0 1.1.1.10 1.1.1.14
smart-nopat 1.1.1.15
//nat
nat-policy
rule name 1
source-zone trust
destination-zone untrust
source-address 10.1.1.0 mask 255.255.255.0
destination-address 2.2.2.0 mask 255.255.255.0
service ftp
service icmp
action source-nat address-group 1
测试和分析

使用client1-7同时登录ftp server,观察fw的server-map表和session table。

[f1]dis fire session table 
2022-02-09 14:19:54.940
Current Total Sessions : 12
ftp VPN: public --> public 10.1.1.10:2057[1.1.1.10:2057] +-> 2.2.2.2:21
ftp VPN: public --> public 10.1.1.20:2053[1.1.1.11:2053] +-> 2.2.2.2:21
ftp VPN: public --> public 10.1.1.30:2055[1.1.1.12:2055] +-> 2.2.2.2:21
ftp VPN: public --> public 10.1.1.40:2055[1.1.1.13:2055] +-> 2.2.2.2:21
ftp VPN: public --> public 10.1.1.50:2055[1.1.1.14:2055] +-> 2.2.2.2:21
ftp VPN: public --> public 10.1.1.60:2055[1.1.1.15:2051] +-> 2.2.2.2:21
ftp VPN: public --> public 10.1.1.70:2050[1.1.1.15:2052] +-> 2.2.2.2:21
ftp-data VPN: public --> public 10.1.1.10:2058[1.1.1.10:2058] --> 2.2.2.2:2072
ftp-data VPN: public --> public 10.1.1.20:2054[1.1.1.11:2054] --> 2.2.2.2:2071
ftp-data VPN: public --> public 10.1.1.30:2056[1.1.1.12:2056] --> 2.2.2.2:2070
ftp-data VPN: public --> public 10.1.1.40:2056[1.1.1.13:2056] --> 2.2.2.2:2069
ftp-data VPN: public --> public 10.1.1.50:2056[1.1.1.14:2056] --> 2.2.2.2:2068
ftp-data VPN: public --> public 10.1.1.60:2051[1.1.1.15:2051] --> 2.2.2.2:2073
ftp-data VPN: public --> public 10.1.1.70:2054[1.1.1.15:2052] --> 2.2.2.2:2074
[f1]dis fire server-map 
2022-02-09 14:21:02.510
Current Total Server-map : 10
Type: No-Pat Reverse, ANY -> 1.1.1.12[10.1.1.30], Zone:---
Protocol: ANY, TTL:---, Left-Time:---, Pool: 0, Section: 0
Vpn: public

Type: No-Pat Reverse, ANY -> 1.1.1.14[10.1.1.50], Zone:---
Protocol: ANY, TTL:---, Left-Time:---, Pool: 0, Section: 0
Vpn: public

Type: No-Pat Reverse, ANY -> 1.1.1.11[10.1.1.20], Zone:---
Protocol: ANY, TTL:---, Left-Time:---, Pool: 0, Section: 0
Vpn: public

Type: No-Pat Reverse, ANY -> 1.1.1.13[10.1.1.40], Zone:---
Protocol: ANY, TTL:---, Left-Time:---, Pool: 0, Section: 0
Vpn: public

Type: No-Pat Reverse, ANY -> 1.1.1.10[10.1.1.10], Zone:---
Protocol: ANY, TTL:---, Left-Time:---, Pool: 0, Section: 0
Vpn: public

Type: No-Pat, 10.1.1.40[1.1.1.13] -> ANY, Zone:---
Protocol: ANY, TTL:360, Left-Time:359, Pool: 0, Section: 0
Vpn: public

Type: No-Pat, 10.1.1.50[1.1.1.14] -> ANY, Zone:---
Protocol: ANY, TTL:360, Left-Time:356, Pool: 0, Section: 0
Vpn: public

Type: No-Pat, 10.1.1.10[1.1.1.10] -> ANY, Zone:---
Protocol: ANY, TTL:360, Left-Time:357, Pool: 0, Section: 0
Vpn: public

Type: No-Pat, 10.1.1.30[1.1.1.12] -> ANY, Zone:---
Protocol: ANY, TTL:360, Left-Time:358, Pool: 0, Section: 0
Vpn: public

Type: No-Pat, 10.1.1.20[1.1.1.11] -> ANY, Zone:---
Protocol: ANY, TTL:360, Left-Time:359, Pool: 0, Section: 0
Vpn: public

可见使用no-pat的1.1.1.10-14存在server-map表而使用napt的1.1.1.15没有server-map表。


Easy IP

利用出接口的公网ip作为NAT地址,进行napt转换。适用于企业没有公网地址池,甚至公网出接口都不固定的情况(如pppoe方式获得的公网地址)。


#yyds干货盘点# HCIE-Security Day6:5个实验搞定源NAT_抓包_37


实验四:私网用户通过NAPT访问Internet(限制公网地址对应的私网地址数)


需求和拓扑

某公司在网络边界处部署了FW作为安全网关。公司只向ISP申请了一个公网IP地址用于FW公网接口和ISP的Router互联。为了使公司私网中10.1.1.0/24网段的用户可以正常访问Internet,需要在FW上配置出接口地址方式的源NAT策略,使用私网用户直接借用FW公网接口的IP地址来访问Internet。网络环境如图,其中Router是ISP提供的接入网关。

#yyds干货盘点# HCIE-Security Day6:5个实验搞定源NAT_抓包_38

#yyds干货盘点# HCIE-Security Day6:5个实验搞定源NAT_NAT_39

#yyds干货盘点# HCIE-Security Day6:5个实验搞定源NAT_安全策略_09

(扫码回复NAT4获取完整实验拓扑环境及配置)

配置步骤
1、配置终端设备及网络设备接口地址
2、配置路由
ip route-static 2.2.2.2 255.255.255.255 1.1.1.254
3、配置安全策略
security-policy
rule name 1
source-zone trust
destination-zone untrust
source-address 10.1.1.0 mask 255.255.255.0
destination-address 2.2.2.0 mask 255.255.255.0
service ftp
service icmp
action permit
4、配置NAT
//nat

//nat
nat-policy
rule name 1
source-zone trust
destination-zone untrust
source-address 10.1.1.0 mask 255.255.255.0
destination-address 2.2.2.0 mask 255.255.255.0
service ftp
service icmp
action source-nat address-group 1
测试和分析
在client1上ping server

#yyds干货盘点# HCIE-Security Day6:5个实验搞定源NAT_抓包_24


在fw的g1/0/0口抓包(trust侧,nat前)

#yyds干货盘点# HCIE-Security Day6:5个实验搞定源NAT_NAT_25

在fw的g1/0/1口抓包(untrust侧,nat后)

#yyds干货盘点# HCIE-Security Day6:5个实验搞定源NAT_安全策略_26

检查fw的会话表和server-map表项

#yyds干货盘点# HCIE-Security Day6:5个实验搞定源NAT_抓包_27

#yyds干货盘点# HCIE-Security Day6:5个实验搞定源NAT_抓包_28


在client1上访问server的ftp服务

#yyds干货盘点# HCIE-Security Day6:5个实验搞定源NAT_防火墙_29


在fw的g1/0/0口抓包(trust侧,nat前)

#yyds干货盘点# HCIE-Security Day6:5个实验搞定源NAT_防火墙_30

在fw的g1/0/1口抓包(untrust侧,nat后)

#yyds干货盘点# HCIE-Security Day6:5个实验搞定源NAT_防火墙_31

检查fw的会话表和server-map表项

#yyds干货盘点# HCIE-Security Day6:5个实验搞定源NAT_抓包_27

#yyds干货盘点# HCIE-Security Day6:5个实验搞定源NAT_抓包_28

发现没有生成server-map表项,并且nat前后的源端口发生了改变。


三元组NAT

允许公网用户主动连接私网的源NAT式的NAPT。适用于基于P2P的文件共享、语音通信、视频传输等。

三元组NAT的端口不能复用,保证了内部PC对外呈现的端口的一致性,不会动态变化,但是公网地址利用率低。

支持外部设备通过转换后的地址和端口主动访问内部PC,FW即使没有配置相应的安全策略,也允许此类访问报文通过。

同时维护会话表和sever-map 表。


实验五:私网用户通过三元组NAT访问Internet

需求和拓扑

某公司在网络边界处部署了FW作为安全网关。为了使私网中10.1.1.0/24网段的用户可以正常访问Internet,需要在FW上配置源NAT策略。除了公网接口的IP地址外,公司还向ISP申请了6个IP地址(1.1.1.10~1.1.1.15)作为私网地址转换后的公网地址。网络环境如图,其中Router是ISP提供的接入网关。

同时,要求私网用户与Internet上的主机之间能进行P2P业务交流,如文件共享、语音通信、视频传输等,Internet上的主机也能主动访问私网用户。

#yyds干货盘点# HCIE-Security Day6:5个实验搞定源NAT_抓包_51

配置步骤
1、配置终端设备及网络设备接口地址
2、配置路由
ip route-static 2.2.2.2 255.255.255.255 1.1.1.254
3、配置安全策略
security-policy
rule name 1
source-zone trust
destination-zone untrust
source-address 10.1.1.0 mask 255.255.255.0
destination-address 2.2.2.0 mask 255.255.255.0
service ftp
service icmp
action permit
4、配置NAT
//nat
nat address-group 1 0
mode full-cone global
section 0 1.1.1.10 1.1.1.14
//nat
nat-policy
rule name 1
source-zone trust
destination-zone untrust
source-address 10.1.1.0 mask 255.255.255.0
destination-address 2.2.2.0 mask 255.255.255.0
service ftp
service icmp
action source-nat address-group 1
5、开启端点无关过滤功能
firewall endpoint-independent filter
测试和分析
[f1]dis firewall session table 
2022-02-09 15:31:27.140
Current Total Sessions : 1
ftp VPN: public --> public 10.1.1.30:2059[1.1.1.12:4096] +-> 2.2.2.2:21
[f1]dis firewall server-map 
2022-02-09 15:31:35.090
Current Total Server-map : 2
Type: FullCone Dst, ANY -> 1.1.1.12:4096[10.1.1.30:2059], Zone: ---
Protocol: tcp(Appro: ---), TTL: 60, Left-Time: 58, Pool: 0, Section: 0
Vpn: public -> public, Hotversion: 1

Type: FullCone Src, 10.1.1.30:2059[1.1.1.12:4096] -> ANY, Zone: ---
Protocol: tcp(Appro: ---), TTL: 60, Left-Time: 58, Pool: 0, Section: 0
Vpn: public -> public, Hotversion: 1
举报

相关推荐

0 条评论