首页 > 其他分享 >华为防火墙双向NAT实验与思考

华为防火墙双向NAT实验与思考

时间:2022-10-13 14:38:58浏览次数:52  
标签:10.1 1.2 23 -- 200.1 防火墙 192.168 华为 NAT

[toc]

一、 实验目的:

内网PC 192.168.10.2,由于工作需要,要使用公网地址200.1.1.2来访问处于内网的服务器192.168.10.1

二、 拓扑:

华为防火墙双向NAT实验与思考_内网

三、 防火墙配置

1. 端口映射
nat server 0 protocol tcp global 200.1.1.2 telnet inside 192.168.10.1 telnet


2. 源NAT转换
#再次重申,在内网通过公网地址200.1.1.2:23来访问内网服务器192.168.10.1:23时,做源NAT转换,将源地址转换成地址组1
#这里不好理解的是,在TRUST区域到TRUST区域的源NAT时,指定的目的地址是服务器的内网IP地址
#为什么是内网IP地址,因为Server-map处理在前,在经过Server-map处理后,数据包的目的地址变成了192.168.10.1
#查找路由表、经过安全策略处理以后,会查询源NAT策略,到第三阶段再进行源NAT地址转换
#在进行源NAT地址转换之前,这个数据包格式是 192.168.10.2:XXXX ---> 192.168.10.1:23
#经过源地址转换以后,数据包格式变成了200.1.1.3:XXXX ---> 192.168.10.1:23

nat address-group 1 0
mode pat
section 0 200.1.1.2 200.1.1.5

nat-policy
rule name shuangxiang
source-zone trust
destination-zone trust
destination-address 192.168.10.1 mask 255.255.255.255
service telnet
action source-nat address-group 1

rule name source-nat
source-zone trust
destination-zone untrust
source-address 192.168.10.0 mask 255.255.255.0
action source-nat address-group 1

四、 数据抓包

华为防火墙双向NAT实验与思考_内网_02

华为防火墙双向NAT实验与思考_服务器_03

华为防火墙双向NAT实验与思考_服务器_04

华为防火墙双向NAT实验与思考_服务器_05

数据包通讯过程:
发送包: 192.168.10.2:38400 --> 200.1.1.2: 23 转换成 200.1.1.3:2048 --> 192.168.10.1:23

回包: 192.168.10.1:23 --> 200.1.1.3:2048 转换成 200.1.1.2:23 --> 192.168.10.2

五、 查看会话表与Server-MAP

<GW>dis firewall session table 
Telnet VPN: public --> public 192.168.10.2:38400[200.1.1.3:2048] --> 200.1.1.2:23[192.168.10.1:23]

<GW>disp firewall server-map #请注意,这里的Server-map是说,任意地地访问200.1.1.2:23都转换成192.168.10.1:23
2022-10-13 00:39:31.670
Current Total Server-map : 2
Type: Nat Server, ANY -> 200.1.1.2:23[192.168.10.1:23], Zone:---, protocol:tcp
Vpn: public -> public

六、安全策略分析

华为防火墙双向NAT实验与思考_安全策略_06

1. 在防火墙的公网接口抓包,没有数据包,说明数据没有到达公网接口这边
2. 能过在防火墙上查看流量日志,发现流量日志显示为 trust: 192.168.10.2 --> trust 200.1.1.2 TCP:23
3. 这个属于区域内的流量,华为防火墙对区域内的流量不进行限制,所以不需要放行安全策略

七、通讯过程分析与思考

1 数据包通讯过程: 发送包: 192.168.10.2:38400 --> 200.1.1.2: 23 转换成 200.1.1.3:2048 --> 192.168.10.1:23 回包: 192.168.10.1:23 --> 200.1.1.3:2048 转换成 200.1.1.2:23 --> 192.168.10.2:38400

2 防火墙会话表:

dis firewall session table Telnet VPN: public --> public 192.168.10.2:38400[200.1.1.3:2048] --> 200.1.1.2:23[192.168.10.1:23]

3 防火墙Server-map

Type: Nat Server, ANY -> 200.1.1.2:23[192.168.10.1:23], Zone:---, protocol:tcp Vpn: public -> public

4 一次telnet的通信过程分析

  • 内网用户192.168.10.2,访问200.1.1.2:23,数据包到达防火墙
  • 防火墙根据转发流程,进行状态检测,查找发现是首包,先匹配了Server-map,所以将目的地址转换成了:192.168.10.1:23
  • 防火墙继续转发,查找路由表,发现192.168.10.1是Trust区域,所以数据包将发送给Trust区域
  • 接着检查安全策略,由于数据源是Trust区域,目的也是Trust区域,不受安全策略控制
  • 再检查源NAT策略,源NAT策略中:源是Trust区域,目的是Trust区域的192.168.10.1:23,需要进行源NAT转换
  • 防火墙创建会话
  • 在转发的第三个阶段,进行源地址转换,数据包被转换成:200.1.1.3:2048 --> 192.168.10.1: 23
  • 防火墙将数据包,送往trust区域的g1/0/0接口
  • Telnet服务器(192.168.10.1)收到这个数据包,进行回应,回应的地址为: 192.168.10.1:23 --> 200.1.1.3:2048
  • 防火墙根据会话表,还原数据包为 200.1.1.2:23 --> 192.168.10.2:38400 (这一步,是猜测的,因为数据包的交换是在Trust区域到Trust区域的同一个接口,如果将它想像成,Trust--untrust之间的通信,就好理解了。虽然抓包显示一次通信过程有4个包,其实只是防火墙将数据进行了源目地址的重新封装,每两个包里面的内容是一样的。)

八、 不做双向NAT,只做了NAT-Server,内网用户用公网地址200.1.1.2:23访问处于内网的服务器会发生什么情况?

  • 192.168.10.2:38048 --> 200.1.1.2:23
  • 防火墙收到数据包,根据会话表
    telnet VPN: public --> public 192.168.10.2:38408 --> 200.1.1.2:23[192.168.10.1:23]
  • 将数据包转换为: 192.168.10.2:38048 --> 192.168.10.1:23 ,并从Trust端口g1/0/0发送出去 【SYN包】
  • Telnet服务器收到数据包后,回应: 192.168.10.1:23 --> 192.168.10.2:38048 【SYN+ACK】
  • 发起访问的客户端192.168.10.2收到这个数据包,会回应一个【RST】,从而三次握手失败。 在这一步,因为客户端没有发起一个到达192.168.10.1:23的访问,所以它拒绝了192.168.10.2:23的连接请求,会将TCP三次握手中断,从而导致通讯失败。
  • 接着开始新一轮的数据包重传。

九、 不做Nat-Server, 只做了去往192.168.10.1:23,做源地址转换。内网用户用公网地址访问200.1.1.2:23,会是什么情况

  • 客户端192.168.10.2:38049 --> 200.1.1.2:23
  • 在防火墙上的流量日志显示: trust: 192.168.10.2 --> untrust 200.1.1.2 :23,但防火墙没有将这个数据包从公网地址转发出去,也没有进行回应。
  • 客户端由于收不到回应,进行TCP重传


十、应用场景

  • 公司网络中的内网服务器,因为接口等原因只支持公网地址访问


标签:10.1,1.2,23,--,200.1,防火墙,192.168,华为,NAT
From: https://blog.51cto.com/liu008qing/5753369

相关文章

  • Linux 防火墙相关命令
    一、防火墙的开启、关闭、禁用命令(1)设置开机启用防火墙:systemctlenablefirewalld.service(2)设置开机禁用防火墙:systemctldisablefirewalld.service(3)启动防火墙:system......
  • Spring JPA 查询的时候提示错 org.hibernate.TransientObjectException
    错误的信息为:Causedby:java.lang.IllegalStateException:org.hibernate.TransientObjectException:objectreferencesanunsavedtransientinstance-savethetra......
  • Native SQL 整理
    目录1一、静态调用连接数据库创建数据库更新数据库数据查询-到字段查询-到结构:(结构跟搜索字段完全对应)查询-到内表删除数据库数据...9删除数据库...9二、动......
  • HDLBits-Verilog Practice-1-Getting started -> Circuits.Combinational Logic
    注:建议使用Ctrl+F利用关键词、题号、题目名称查阅本文内容笔记内容本文范围Gettingstarted->Circuits.CombinationalLogic网页本身给出的语法点,和一些语法......
  • OOM unable to create new native thread 解决办法
    java.lang.OutOfMemoryError共有8种类型,其中java.lang.OutOfMemoryError:unabletocreatenew native thread是很常见的一种,这类错误通常发生在应用试图创建新线程时......
  • 产品发布会神助攻:华为云会议网络研讨会
    一场大型产品发布会的核心,在于向所有受众群体准确且全面地传达产品信息,尤其是向投资方和各媒体组织传达产品信息。对于现如今的大型产品发布会来说,主流的线上推介方式是直播......
  • 台达DVP系列PLC如何通过RS485连接到华为云平台
    台达PLC是国产PLC品牌中的优质厂家,以高速、稳定、可靠而赢得消费者的喜爱,广泛应用于各种工业自动化设备,与旗下其他产品一样,都是具备扩展模块的功能,可以为不同企业的不同需求......
  • 华为云WeLink智慧考勤系统——为企业高效运行保驾护航
    华为云WeLink智慧考勤系统是华为云为广大企业推出的数字化考勤管理系统,致力于为企业提供便捷的数字化考勤管理解决方案。它打破了时间和空间上的壁垒,让企业和员工不再为打卡......
  • 华为云会议,企业合作好帮手
    随着社会的发展和网络技术的进步,以及公司内外部的业务沟通需求,很多公司都在使用视频会议。尤其是最近两年,由于其诸多的优点,华为云会议已经得到了很多公司的青睐,有人预言,它将......
  • 华为云会议3个层面保障:远程会议要安全高效
    随着互联网的发展并伴随新冠疫情爆发,人们越来越多地在线上办公,同时线上会议也逐渐发展起来。多数人越来越依赖线上会议、线上办公,因为它们使得部分人的工作得到了极大的便利......