NAT alg 和 ASPF

参考:https://handbye.cn/719.html

来源:https://www.jianshu.com/p/8a8eb36eef7d

NAT的部署已经在企业网中必不可少,当防火墙作为网络的出口或者在网络中充当安全网关时,内网用户访问外网或者外网用户访问内网的服务器都要经过NAT穿越。

由于防火墙的特殊性,出于安全的考虑,需要建立相应的安全策略。当防火墙检测到这个数据包是一个首包时,就会根据相应的安全策略进行检查,符合安全策略就给通过并生成对应的会话表项。后续数据包到达是就无须在进行安全策略的检查,直接匹配会话表进行转发,这样就大大提高了转发效率。

先上一张防火墙转发数据的流程图:

可以看到在生成会话表之前是先查NAT策略的,也就是查找玩NAT策略以后,再根据NAT生成会话表。

比如下方的会话表:


SIP  VPN: public --> public 192.168.2.5:5060[1.1.1.1:2327] +-> 221.181.108.137:5060 

[] 中的就是NAT过后的IP地址

通常情况下,NAT只对报文中IP头部的地址信息和TCP/UDP头部的端口信息进行转换,不关注报文载荷的信息。但是对于一些特殊的协议(如FTP协议),其报文载荷中也携带了地址或端口信息,而报文载荷中的地址或端口信息往往是由通信的双方动态协商生产的,管理员并不能为其提前配置好相应的NAT规则。如果提供NAT功能的设备不能识别并转换这些信息,将会影响到这些协议的正常使用。


下面以FTP报文为例说下为什么要启用NAT alg 或者 ASPF

FTP控制层面的连接报文,使用TCP端口号21

控制层面的TCP连接端口号是携带在头部的,是可以被NAT转换的。控制层面在有NAT的环境下是可以进行连接的。

控制层面连接完成之后,进行文件传送之前要建立数据层面的连接,这时会由client侧向server侧发送port消息,携带自己开放的数据层面连接端口号(主动模式下是这样的,FTP还有被动模式,这里就以主动模式来说)。报文如下:

问题来了,数据层面的端口号是携带在报文载荷部分的,NAT只能转换头部信息,无法转换载荷信息。在存在NAT穿越的场景下,数据连接就无法建立,这时看到的情况就是能够登陆成功,但是无法显示服务器文件列表也不能上传和下载文件。

这时就需要用到NAT alg功能来识别载荷部分的端口信息,来做对应的NAT转换。


FTP协议包括两种工作模式:主动模式和被动模式。主动模式中,FTP Server主动向FTP Client发起数据连接;被动模式中,FTP Server被动接收FTP Client发起的数据连接。无论是主动模式还是被动模式,在控制连接交互报文的载荷中,都包含用于建立数据连接的IP地址和端口号信息。

如果在FTP Client和FTP Server之间部署了NAT设备,这就要求NAT设备必须能够识别出控制连接中包含的IP地址和端口号并进行处理,否则数据连接无法成功建立,FTP协议不能正常工作。

下面以FTP协议工作在主动模式为例,介绍NAT ALG功能对FTP协议的处理过程。

如图1所示,FTP Client位于私有网络,FTP Server位于公共网络。NGFW对FTP协议的报文处理过程如下:

1.FTP Client通过源NAT地址转换后可以访问FTP Server,与FTP Server完成FTP控制连接的TCP三次握手,并交付用户名和密码信息。

2.NGFW收到FTP Client发送的PORT命令报文后,将报文载荷字段中携带的私网地址和端口替换为公网地址和新的端口,然后发送至FTP Server。

3.NGFW收到FTP Server请求建立数据连接的报文后,替换报文的目的地址和目的端口为原始的地址和端口,然后发送至FTP Client。由此保证数据连接可以成功建立,FTP协议正常工作。

NAT ALG与ASPF的关系

差异点:

开启ASPF功能的目的是识别多通道协议,并自动为其开放相应的安全策略。

开启NAT ALG功能的目的是识别多通道协议,并自动转换报文载荷中的IP地址和端口信息。

共同点:

二者使用相同的配置。开启其中一个功能,另一功能同时生效。

其实在防火墙上二者的配置命令是同一个,对于防火墙来说对二者是没区别的。因为NAT alg自动转换报文载荷中的ip地址和端口信息后,防火墙没有将其对应的安全策略放行,数据也是不能转发的。这一安全策略是基于防火墙的server-map表实现的。

关于server-map表的详解可以百度搜索serve-map表来了解一下。

=============== End

NAT alg 和 ASPF相关推荐

  1. NAT ALG与ASPF

    一,NAT ALG NAT ALG(Application Level Gateway)应用级网关,支持对应用层信息进行相应转换.通常情况下,NAT只对报文的IP头部的地址信息喝TCP/UDP头部的端 ...

  2. NAT 网络地址转换技术(一)NAT原理介绍:静态NAT、动态NAT、NAPT、Easy IP、NAT ALG、NAT服务器、双向NAT技术

    文章目录 出现原因 基本概念 NAT技术基本原理 源NAT技术 静态NAT 动态NAT NAPT Easy IP NAT ALG NAT服务器 双向NAT技术 域间双向NAT(NAT Server+源 ...

  3. NAT ALG DNS — DNS在外部,内网通过域名访问内部服务器

    NAT ALG DNS-DNS在外部,内网通过域名访问内部服务器 应用场景: R2.R3.R4为企业内部,DNS部署在公网,R2上设置NAT是的R1能够telnet到R4. 如在R2上启用NAT AL ...

  4. NAT ALG DNS — DNS在内部,外网通过域名访问内部服务器

    应用场景: R2.R3.R4为企业内部,DNS也部署在内网,R2上设置NAT使得R1能够telnet到R4. 如在R2上启用NAT ALG DNS功能后,R1通过域名butcherroom.com访问 ...

  5. NAT ALG和STUN技术

    目录 NAT ALG 应用层网关讲解 Client1使用FTP主动模式建立FTP Client1使用FTP被动模式建立FTP STUN讲解 NAT ALG 应用层网关讲解 ALG主要用来替换应用层信息 ...

  6. 通过NAT ALG实现FTP服务器的访问【实例】

    [注:本实验和相关理解限于本人知识水平,难免有错误,如有前辈发现,谢谢批评指正] 本实例拓扑的实现是在华为eNSP模拟器上进行的,使用了一台客户端.一台FTP服务器和两台华为AR2240路由器.相关的 ...

  7. NAT ALG技术白皮书

    ALG技术白皮书 关键 摘要:ALG是一种对应用层进行处理的技术,它通过与NAT.ASPF等技术的组合应用,实现对应用层的处理和检测.本文详细介绍了ALG技术的工作机制以及典型组网应用. 缩略 缩略语 ...

  8. vsb asc_vsb电力线故障检测kaggle竞争

    vsb asc 案例研究概述: (Overview of the case study:) Step 1: Explanation of the problem which includes deta ...

  9. STM32学习笔记(超详细)

    查看全文 http://www.taodudu.cc/news/show-6770803.html 相关文章: STM32单片机学习笔记(超详细整理143个问题,学习必看) vsb asc_vsb电力 ...

  10. 安全防御 --- 防火墙-- ASPF、NAT

    ASPF.NAT 1.FTP技术 (1)简介: 主机之间传输文件是IP网络的一个重要功能,如今人们可以方便地使用网页.邮箱进行文件传输. 然而在互联网早期,Web(World Wide Web,万维网 ...

最新文章

  1. 跟我做CVS版本管理试验
  2. 面试题总结(21-40)
  3. Yii2.0实现微信公众号后台开发
  4. X86汇编——字符串逆序输出
  5. c#中 uint_C#中的uint关键字
  6. 怎样用c语言定义高幂整数,位操作运算的奇技淫巧!(附源码)
  7. 简单介绍,基于ldirectord的高可用lvs-dr调度器
  8. 《中國姓氏大全》【带拼音】
  9. 用python做产出数据分析案例_利用python进行数据分析——医院销售额案例
  10. texlive2021
  11. 前端开发 20 年变迁史
  12. 打造敏捷的自组织团队
  13. MATLAB中使用plotyy绘制双纵坐标图及坐标轴设置
  14. 车载syu一android密码,教务系统找回密码
  15. [附案例]如何运营私域流量,提升用户终身价值,降低整体获客成本?
  16. jenkins 403 No valid crumb was included in the request 解决方案
  17. STM32F103模拟IIC总线驱动四个VL53L0
  18. RaspberryPi 3 B下的64位 uboot linux编译更新
  19. 英国《金融时报》:3G迟来的商机
  20. oss图片合成模糊问题

热门文章

  1. 分享一些网站有免费的pdf书籍
  2. 新版TCGA的突变数据SNP下载和整理
  3. 渐进式Express源码学习6-独孤求败
  4. 详解怎么申请注册一个自己的电子邮箱邮件?怎么注册邮箱账号?
  5. 谷歌生物医学专用翻译_需要外文文献翻译助攻?收下这几个神器!
  6. 实验二 分析1996~2015年人口数据各个特征的分布与分散状况
  7. fbx模型压缩成gltf格式
  8. r 语言计算欧氏距离_R语言-KNN算法
  9. python爬虫-国家企业_国家企业信用公示系统的爬取
  10. 维护设备的库存信息-SERIAL_EQBS_POST