admin管理员组文章数量:1648972
一,源NAT简介
源NAT是指将报文的源地址进行转换。如图所示,当私网地址用户访问Internet时,FW将报文的源地址由私网地址转换为公网地址。当响应报文返回到FW时,FW再将报文的目的地址转换为私网地址。
根据原地址转换是否转换端口,源NAT分为仅源地址转换的NAT(NAT No-PAT),源地址和源端口同时转换的NAT(NAPT,Smart NAT,Easy IP,三元组NAT)。
二,源NAT分类
2.1NAT NO-PAT
NAT NO-PAT是一种NAT转换时只转换地址,不转换端口,实现死亡地址到公网地址一对一的地址转换方式。
如图,当PC1访问Web Server时,FW处理流程如下:
1.FW收到PC发送报文,根据源目IP和源目安全区域通过安全南侧路也后匹配NAT策略,发现需要对报文进行地址转换。
2.FW根据轮询从地址池中选择一个空闲的公网IP,替换报文的源IP,并建立server-map表和会话表。
3.FW收到Web Server响应的Host报文后,通过查找会话表匹配到表项,将目的地址转换为PC的IP并转发给PC。
关于Server-map表项:
正向Server-map表项保证私网用户访问Internet时快速转换地址,提高处理效率。
反向Server-map表项允许Internet用户主动访问私网用户。
关于NAT NO-PAT的local/global参数:
本地local:NO-PAT生成的Server-map表中包含安全区域参数,只有此安全区域可以访问内网PC。
全局global:NO-PAT生成的Server-map中不包含安全区域参数,一旦建立,所有安全区域的都可以访问内网PC。
2.2 NAPT
NAPT是一种同时转换地址和端口,实现多个私网地址共用一个或多个公网地址的地址转换方式。适用于公网地址数量少,需要上网的私网用户数量大的场景。
当PC访问Web_Server时,FW的处理过程如下:
1.FW收到PC请求报文后,通过安全策略后匹配NAT策略,发现需要对报文进行地址转换。
2.FW根据IP 哈希算法从NAT地址池中选择要给公网地址,替换报文的源IP地址,同时使用新的端口号替换报文的源端口号,并建立会话转发报文。
3.FW收到响应报文后,通过查找会话匹配表项,将报文的目的地址替换为PC的IP地址和端口号并转发给PC。
2.3Smart NAT
Smart NAT是NO-PAT的一种补充,Smart NAT可以在NO-PAT模式下,指定某个IP地址预留做NAPT方式的地址转换方式。适用于平时上网的用户数量少,公网IP数量与同时上网用户数基本相同,但个别时间上网用户数量激增的场景。
使用NO-PAT方式,进行地址池一对一转换。随着内部用户数量不断增加,地址池中的地址数可能不再满足用户上网需求,部分用户将通过预留的IP地址进行NAPT地址转换访问Internet。
2.4 Easy IP
Easy IP是一种利用出接口的公网IP地址作为NAT转换后的地址,同时转换地址和端口号的地址转换方式。对于接口IP是动态获取的场景,Easy-IP也同样支持。
PC访问Web Server时,FW处理过程如下:
1.FW收到PC发送的报文后,通过安全策略,查找NAT策略,发现需要对报文进行地址转换。
2.FW使用与Internet连接的接口的公网IP地址转换报文的源IP地址,并使用新的端口号替换报文的源端口号,并建立会话。
3.FW收到响应报文后,通过会话表匹配到表项,将报文的目的地址替换PC的IP地址并转换端口号。
2.5 三元组NAT
三元组NAT是一种转换时同时转换地址和端口,实现多个私网地址共用一个或多个公网地址的地址转换方式。它允许Internet上的用户主动访问私网用户,与基于P2P技术的文件共享、语音通信、视频传输等业务可以很好地共存。
当内网PC访问Internet时,如果FW采用五元组NAT(NAPT)方式进行地址转换,外部设备无法通过转换后的地址和端口主动访问内部PC。
三元组NAT方式可以很好的解决上述问题,因为三元组NAT方式在进行转换时有以下两个特点。工作原理如图1所示。
- 三元组NAT的端口不能复用,保证了内部PC对外呈现的端口的一致性,不会动态变化,但是公网地址利用率低。
- 支持外部设备通过转换后的地址和端口主动访问内部PC。FW即使没有配置相应的安全策略,也允许此类访问报文通过。
三,源NAT的问题
3.1路由环路
情况一:NAT地址池与防火墙接口属于不同网段
这种情况当恶意用户访问该网段如果找不到会话表项,防火墙会通过默认路由返回数据包到Internet中造成环路直到TTL变为0。
情况二:NAT地址和防火墙接口属于同一网段
这种情况不会产生路由环路,但是会增加一个ARP请求。
3.2路由环路解决方案
产生黑洞路由:
方法1:静态路由指向NULL 0
ip route-static x.x.x.x x.x.x.x NULL0
方法2:在地址池中使能
nat address-group xxxx
route enable
四,源NAT实验
4.1NAT NO-PAT
1.拓扑
2.需求介绍
PC通过NAT NO-PAT的方式在防火墙进行源地址转换,运营商提供的公网地址池为1.1.1.1~1.1.1.14,并配置黑洞路由防止路由环路。
3.配置过程
①IP地址安全区域如图所示配置略。
②地址池配置
[FW1]nat address-group nopat_1 # 创建源NAT地址池
[FW1-address-group-nopat_1]section 1.1.1.1 1.1.1.14 # 指定地址范围
[FW1-address-group-nopat_1]mode no-pat local #指定源NAT为nopat模式,限制安全区域访问
[FW1-address-group-nopat_1]route enable # 产生黑洞路由
③配置NAT策略
[FW1]nat-policy # 进入NAT策略视图
[FW1-policy-nat]rule name NO_PAT # 创建NAT策略
[FW1-policy-nat-rule-NO_PAT]source-zone trust # 自指定源安全区域
[FW1-policy-nat-rule-NO_PAT]destination-zone untrust # 指定目的安全区域
[FW1-policy-nat-rule-NO_PAT]source-address 10.1.1.0 24 # 指定源地址网段
[FW1-policy-nat-rule-NO_PAT]action source-nat address-group nopat_1 # 指定源NAT绑定地址组
④配置路由
# FW1:
[FW1]ip route-static 0.0.0.0 0 202.100.1.254
# ISP:
[ISP]ip route-static 1.1.1.0 28 202.100.1.10
⑤安全策略
[FW1]security-policy
[FW1-policy-security]rule name PC_Internet
[FW1-policy-security-rule-PC_Internet]source-zone trust
[FW1-policy-security-rule-PC_Internet]destination-zone untrust
[FW1-policy-security-rule-PC_Internet]source-address 10.1.1.0 24
[FW1-policy-security-rule-PC_Internet]action permit
4.检查
①PC访问Web Server,产生会话表如下
http VPN: public --> public ID: c387fb10122022068963e98ae6
Zone: trust --> untrust TTL: 00:20:00 Left: 00:19:54
Recv Interface: GigabitEthernet1/0/0
Interface: GigabitEthernet1/0/1 NextHop: 202.100.1.254 MAC: 00e0-fcc8-48f4
<--packets: 3 bytes: 732 --> packets: 6 bytes: 1,044
10.1.1.1:52014[1.1.1.1:52014] --> 3.3.3.3:80 PolicyName: PC_Internet
TCP State: established
②查看server-map,区域为untrust,只有untrust区域可以通过反向记录访问。如果配置为global就不限制区域。
[FW1]display firewall server-map
2023-02-13 00:59:02.640
Current Total Server-map : 2
Type: No-Pat Reverse, ANY -> 1.1.1.1[10.1.1.1], Zone: untrust
Protocol: ANY, TTL:---, Left-Time:---, Pool: 0, Section: 0
Vpn: public
Type: No-Pat, 10.1.1.1[1.1.1.1] -> ANY, Zone: untrust
Protocol: ANY, TTL:360, Left-Time:360, Pool: 0, Section: 0
Vpn: public
③产生的黑洞路由
1.1.1.1/32 Unr 61 0 D 127.0.0.1 InLoopBack0
1.1.1.2/31 Unr 61 0 D 127.0.0.1 InLoopBack0
1.1.1.4/30 Unr 61 0 D 127.0.0.1 InLoopBack0
1.1.1.8/30 Unr 61 0 D 127.0.0.1 InLoopBack0
1.1.1.12/31 Unr 61 0 D 127.0.0.1 InLoopBack0
1.1.1.14/32 Unr 61 0 D 127.0.0.1 InLoopBack0
4.2 NAPT
1.拓扑
2.需求介绍
PC通过NAPT的方式在防火墙进行源地址转换,运营商提供的公网地址池为1.1.1.1~1.1.1.14,并配置黑洞路由防止路由环路。
3.配置
将4.1的地址池的模式改为NAPT即可
①地址池
[FW1]nat address-group napt_1
[FW1-address-group-napt_1]section 1.1.1.1 1.1.1.14
[FW1-address-group-napt_1]mode pat
[FW1-address-group-napt_1]route enable
②NAT策略
[FW1]nat-policy
[FW1-policy-nat]rule name NAPT_1
[FW1-policy-nat-rule-NAPT_1]source-zone trust
[FW1-policy-nat-rule-NAPT_1]destination-zone untrust
[FW1-policy-nat-rule-NAPT_1]source-address 10.1.1.0 24
[FW1-policy-nat-rule-NAPT_1]action source-nat address-group napt_1
4.检查
①PC访问Web Server查看会话表
http VPN: public --> public ID: c487fb10121fed0128563e98f01
Zone: trust --> untrust TTL: 00:20:00 Left: 00:19:53
Recv Interface: GigabitEthernet1/0/0
Interface: GigabitEthernet1/0/1 NextHop: 202.100.1.254 MAC: 00e0-fcc8-48f4
<--packets: 1 bytes: 44 --> packets: 2 bytes: 92
10.1.1.1:52957[1.1.1.14:2049] --> 3.3.3.3:80 PolicyName: PC_Internet
TCP State: established
②不会产生server-map
③产生黑洞路由
1.1.1.1/32 Unr 61 0 D 127.0.0.1 InLoopBack0
1.1.1.2/31 Unr 61 0 D 127.0.0.1 InLoopBack0
1.1.1.4/30 Unr 61 0 D 127.0.0.1 InLoopBack0
1.1.1.8/30 Unr 61 0 D 127.0.0.1 InLoopBack0
1.1.1.12/31 Unr 61 0 D 127.0.0.1 InLoopBack0
1.1.1.14/32 Unr 61 0 D 127.0.0.1 InLoopBack0
4.3 Smart NAT
1.拓扑
2.实验需求
配置Smart NAT,1.1.1.1~1.1.1.2为内网PC提供内网地址公网地址1对1转换,1.1.1.3为内网PC当内网PC访问外网数量激增时使用1.1.1.3通过NAPT方式进行地址转换。
3.配置过程
删除前面源NAT配置
①地址池
[FW1]nat address-group Smart_Nat
[FW1-address-group-Smart_Nat]mode no-pat global
[FW1-address-group-Smart_Nat]section 1.1.1.1 1.1.1.2
[FW1-address-group-Smart_Nat]smart-nopat 1.1.1.3
②NAT策略
[FW1]nat-policy
[FW1-policy-nat]rule name Smart_NAT
[FW1-policy-nat-rule-Smart_NAT]source-zone trust
[FW1-policy-nat-rule-Smart_NAT]destination-zone untrust
[FW1-policy-nat-rule-Smart_NAT]source-address 10.1.1.0 24
[FW1-policy-nat-rule-Smart_NAT]action source-nat address-group Smart_Nat
4.检查
icmp VPN: public --> public 10.1.1.1:1[1.1.1.1:1] --> 3.3.3.3:2048
icmp VPN: public --> public 10.1.1.2:51859[1.1.1.2:51859] --> 3.3.3.3:2048
icmp VPN: public --> public 10.1.1.2:53395[1.1.1.2:53395] --> 3.3.3.3:2048
icmp VPN: public --> public 10.1.1.4:53139[1.1.1.3:2910] --> 3.3.3.3:2048
icmp VPN: public --> public 10.1.1.3:50067[1.1.1.3:2887] --> 3.3.3.3:2048
当地址池中提供用来进行NO-PAT地址转换的地址池用尽时,使用Smart NAT地址进行NAPT进行源NAT转换。
4.4 Easy-IP
1.拓扑
2.实验需求
配置Easy-IP实现内网PC通过FW出接口地址进行NAPT源NAT转换访问外网。
3.配置过程
删除前面的源NAT配置并配置NAT策略
[FW1]nat-policy
[FW1-policy-nat]rule name Easy-ip
[FW1-policy-nat-rule-Easy-ip]source-zone trust
[FW1-policy-nat-rule-Easy-ip]destination-zone untrust
[FW1-policy-nat-rule-Easy-ip]source-address 10.1.1.0 24
[FW1-policy-nat-rule-Easy-ip]action source-nat easy-ip
4.检查
查看会话表,通过出接口进行地址端口转换
http VPN: public --> public ID: c487fb0fee42790176363e99594
Zone: trust --> untrust TTL: 00:20:00 Left: 00:19:53
Recv Interface: GigabitEthernet1/0/0
Interface: GigabitEthernet1/0/1 NextHop: 202.100.1.254 MAC: 00e0-fcc8-48f4
<--packets: 8 bytes: 2,473 --> packets: 12 bytes: 3,670
10.1.1.1:53809[202.100.1.10:2050] --> 3.3.3.3:80 PolicyName: PC_Internet
TCP State: established
4.5 三元组NAT
1.拓扑
2.实验需求
在FW配置三元组NAT并验证现象。
3.配置过程
①配置地址池
[FW1]nat address-group SNAT
[FW1-address-group-SNAT]mode full-cone global
[FW1-address-group-SNAT]section 1.1.1.1 1.1.1.10
②配置NAT策略
[FW1]nat-policy
[FW1-policy-nat]rule name SNAT
[FW1-policy-nat-rule-SNAT]source-zone trust
[FW1-policy-nat-rule-SNAT]destination-zone untrust
[FW1-policy-nat-rule-SNAT]source-address 10.1.1.0 24
[FW1-policy-nat-rule-SNAT]action source-nat address-group SNAT
4.测试
①使用PC访问Web_Server查看会话
http VPN: public --> public ID: c487fb0fee21a48291863e99a7b
Zone: trust --> untrust TTL: 00:20:00 Left: 00:05:53
Recv Interface: GigabitEthernet1/0/0
Interface: GigabitEthernet1/0/1 NextHop: 202.100.1.254 MAC: 00e0-fcc8-48f4
<--packets: 11 bytes: 751 --> packets: 12 bytes: 954
10.1.1.1:54758[1.1.1.4:36864] --> 3.3.3.3:80 PolicyName: PC_Internet
TCP State: established
②同时产生了老化时间为60s的server-map
Type: FullCone Dst, ANY -> 1.1.1.4:36864[10.1.1.1:54371], Zone: ---
Protocol: udp(Appro: ---), TTL: 60, Left-Time: 60, Pool: 0, Section: 0
Vpn: public -> public, Hotversion: 1
Type: FullCone Src, 10.1.1.1:54371[1.1.1.4:36864] -> ANY, Zone: ---
Protocol: udp(Appro: ---), TTL: 60, Left-Time: 60, Pool: 0, Section: 0
Vpn: public -> public, Hotversion: 1
本文标签: nat
版权声明:本文标题:NGFW_源NAT 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/xitong/1729506525a1203636.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论