华为双向NAT中的数据包源目地址的转换流程

概述

如图所示,PC1是untrust区域的主机,server1是trust区域的主机,我在防火墙上配置了双向NAT,一方面使用nat server开放了内网的DNS服务以及ICMP服务,另一方面在防火墙开启了untrust-->trust区域的源NAT,转换地址池与server1同网段。

 

 如图所示,配置了nat server后会在防火墙上生成两个server-map表用于对DNS服务以及ICMP服务的开放

测试方式

在PC1上使用ping命令,ping一个在server1上存在的DNS记录,并进行安全策略的修改与测试

分析结果

当我开放了所有的安全策略之后,然后使用上述的测试方式进行测试,会生成下图的会话表:

 可以清楚的看见源地址以及目的地址都进行了转换,虽然看起来双向NAT好像很简单,那么数据包到了防火墙之后整个包的流动到底是什么样的?我们在设置安全策略的时候,如果要进行精细化的安全策略的设计的时候要怎么写?

我们来展开这个会话信息:

 这是其中一个会话,因为无论是UDP的dns包还是ICMP包都是一去一回的数据交互,所以会话信息都差不多,就不拿全部的会话进行讲解了。可以看见,针对这条数据流,源区域是untrust,目的区域是trust,那么看到这里我们就应该知道如果要设置针对本例中的数据流,首先应该开放untrust区域到trust区域的其服务是DNS或者ICMP的数据流动,但是如果我们要将数据流的限制精细化到IP地址,那么此时困难就来了,因为从会话信息中我们虽然可以直观地看见源目IP地址都进行了转换,但是我们不知道在双向NAT的过程中是nat server先还是源nat先,而且我们还要考虑到安全策略的作用时间点是在nat server前还是后等等。那我们用几个测试来看一下nat server,源NAT,安全策略和路由查询这三者的先后顺序。

1、安全策略1

如果只有nat server存在的情况下,那么我们如果要创建安全策略的话,那么我们就需要放行的是针对私网的服务器地址,所以即便是这种双向NAT的场景下,安全策略针对的目的地址还是私网的服务器地址。其主要原因是因为untrust区域的流量到达防火墙后会命中server-map表然后直接进行nat server的目的地址转换,经过目的地址转换之后才进行安全策略的匹配,所以此时我们的我安全策略放行的目的地址是内网的私网地址10.0.0.1.

2、安全策略2

 

 因为我的双向NAT的源NAT的地址池是与服务器私网地址同网段的,所以在这里我们将安全策略的限制更加细化,不仅指明了目的地址,而且也指明了源地址是NAT地址池里面的地址。在这个安全策略下,流量将会被直接拒绝,不会执行双向NAT操作,其主要原因是流量到达防火墙后,首先还是一样匹配上server-map表并执行目的地址的转换,然后就会进行路由查表,发现目的地址是私网的服务器地址,然后就会进行安全策略的匹配,但是此时还是没有进行源NAT的操作的,也就是说此时数据包的源IP还是1.1.1.1而不是源NAT地址池中的地址,所以安全策略不匹配并被默认的安全策略阻挡下。

3、安全策略3

 我们针对上面的安全策略进行修改,将安全策略中的source-address修改为1.1.1.1之后就可以整除通信了。

总结

经过上面的几个安全策略的设置,我们可以总结在此场景中双向NAT的数据包处理流程:

1、匹配server-map表,进行目的地址的转换

2、根据目的地址进行路由查表

3、查看是否匹配安全策略

4、查看源NAT策略,若匹配则进行源NAT转换

 上图是防火墙的大致包处理流程,其实和我说的也匹配上了。其实根据我们的经验也可以很好的判断出双向NAT中安全策略的配置。当我们在创建针对源NAT的安全策略时候,我们放行的是不是地址转换后的地址,而是未经过地址转换后的私网主机地址,当我们在创建针对nat server的安全策略的时候,我们放行的服务器的私网地址,而不是nat server中的公网地址,通过将这两者结合其实也可以得出这个结论

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mllllk

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值