NGFW_源NAT

一,源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所示。

  1. 三元组NAT的端口不能复用,保证了内部PC对外呈现的端口的一致性,不会动态变化,但是公网地址利用率低。
  2. 支持外部设备通过转换后的地址和端口主动访问内部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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值