该内容只是以默写总结一些知识点而已,顺便分享出来和方便翻阅。无他。有错误的地方麻烦批评指正。十分感谢。


防火墙NAT

  • 私网用户访问internet
  • 源NAT
  • NO-PAT
  • NAPT
  • 公网用户访问内网服务器


私网用户访问internet

源NAT

源NAT就是只对报文的源地址进行地址转换。

NO-PAT

其实学过NAT的时候我们就知道了动态NAT和NAPT了。所谓的动态NAT就是指NO-PAT,就是不转换端口,只转换地址。一个内网地址就对应地址池中的一个外网地址。当内网用户访问internet时,报文到达防火墙时处理如下:

①报文到达防火墙会先进行安全策略检查,通过检查后查找NAT策略。

②防火墙从地址池中找一个IP地址替换掉报文的源IP地址,然后建立会话表和Server-map表,然后将报文发送给目的地址。

③回包到达防火墙时,防火墙会查找会话表(状态检测和会话机制)进行匹配,确定是同一连接,然后将报文的目的地址替换为内网的用户IP地址。

openstack防火墙纳管 防火墙nat命令_openstack防火墙纳管

NAPT

NAPT就是不仅转换IP地址,还会转换端口号。地址池中包含一个到多个IP地址,一个公网地址可以给多个内网地址共用。当内网用户访问internet时,报文到达防火墙时处理如下:

①报文到达防火墙时会进行安全策略检查,检查通过后查找NAT策略。

②防火墙从地址池中找一个IP地址替换报文的源IP地址,同时使用新的端口号代替源端口号,然后建立会话表。

③回包到达防火墙时会查找会话表,确定为同一连接后将报文的目的地址转换为内网的用户IP地址,将目的端口号替换为原来的端口号。

openstack防火墙纳管 防火墙nat命令_网络_02

值得注意的是,NO-PAT可以产生Server-map,但需要流量的触发。NAPT为什么不会产生Server-map?因为如果产生,需要大量表现,消耗资源,影响性能。

公网用户访问内网服务器

NAT Server也称静态映射,是将外网发来的目的地址转换为内网的服务器地址。外网用户访问内网服务器时,外网的IP地址和端口号是不确定的。所以防火墙在配置好NAT Server后会自动创建Server-map表项,来存储Globle地址和inside地址的映射关系。每个生效的NAT Server都会产生正反方向两个静态Server-map表项,表项会一直存在除非NAT Server配置被删除。

防火墙处理过程:

①外网访问内网服务器的报文到达防火墙时会查找匹配Server-map表项,将目的地址替换为内网服务器的IP地址。

②防火墙根据替换后的IP地址判断报文需要在区域间流动,所以需要进行安全策略检查后建立会话表。

③服务器回包到达防火墙时会根据会话表进行匹配,然后替换IP地址。

④后续的报文交互直接根据会话表进行转发即可,不用查找Server-map表。

openstack防火墙纳管 防火墙nat命令_NAT_03

注:以上图片来源华为文档。