「NAT」- 应用层网关,ALG,Application Level Gateway

  CREATED BY JENKINSBOT

问题描述

应用层服务虽然使用应用层协议,但是在其应用层载荷中包含下层协议的信息。当数据包通过网关设备时,数据包的底层协议的信息发生变化,而应用层所包含的信息未发生变化,导致应用层协议依旧使用原始信息,而无法正常工作。

例如 FTP 协议属于应用层协议,但是:在被动模式下,Server 的响应报文包含网络层地址的信息(用于 Client 发起连接)。当 FTP 报文经过 NAT 网关时,网络层和传输层信息会发生变化,而应用层却依旧是原始的信息,导致 Client 连接 Server 失败。

解决方案

NAT ALG,应用层网关,用于处理应用层信息。

原理简述

根据 NAT 配置,将数据包的应用层信息进行处理,转换成其所对应的公网信息。

协议特性

应用层信息转化,使其对外部表现为公网服务(而不是内网信息)

应用场景

NAT ALG/FTP:通过 NAT ALG 技术,我们便能够在内网使用 FTP 主动模式。

NAT ALG/DNS:DNS Server in LAN 返回的某个 Server 地址,会被 NAT ALG/DNS 转换为其映射到公网的地址。
NAT ALG (Application Level Gateway)

配置使用

Huawei VRP (NAT ALG)

[Huawei]display nat alg 

NAT Application Level Gateway Information:
----------------------------------
  Application            Status
----------------------------------
  dns                    Disabled
  ftp                    Disabled
  rtsp                   Disabled
  sip                    Disabled
----------------------------------

[Huawei]nat alg ftp enable

通过 NAT ALG 技术,我们便能够在内网使用 FTP 主动模式。