NAT ALG配置实验

7 阅读2分钟

网络拓扑

image.png

NAT ALG(应用层网关)的主要作用,是解决特定应用协议在穿越NAT后无法正常通信的问题,FTP 便是典型例子。

FTP 传输数据时,会根据主动模式或被动模式建立数据通道:

  • 主动模式:客户端通过控制通道发送 PORT 命令,命令中携带客户端自身开放的 TCP 端口。服务器收到后,向该端口发起数据通道连接。
    由于 PORT 命令中的 IP 地址和端口位于应用层,普通 NAT 无法感知,需由 NAT ALG 解析并替换为对应的公网地址和映射端口,确保服务器能正确连接。

    主动模式一般配置 nat alg ftp 即可

  • 被动模式:客户端先通过控制通道发送 PASV 命令,服务器返回响应报文,其中包含服务器开放的用于数据传输的 TCP 端口(若为非标准端口,需配置port-mapping)。随后客户端主动向该端口建立数据通道。
    在该模式下,NAT ALG 主要负责解析 PASV 响应中的服务器端地址和端口信息,并进行必要的地址转换,保证客户端能够通过公网地址正常访问。

    被动模式非标准FTP端口配置 nat alg ftp 还需要配置 port-mapping

R1关键配置

# 开启应用层修改的能力
 nat alg ftp

#
interface GigabitEthernet0/0
 ip address 200.1.2.1 255.255.255.0
 nat outbound
 # 映射内网FTP 20 21端口
 nat server protocol tcp global current-interface 2121 inside 10.10.10.2 21
 nat server protocol udp global current-interface 2120 inside 10.10.10.2 20

# 配置 port-mapping 应对FTP非标准端口的情况
 port-mapping application ftp port 2121 protocol TCP host ip 10.10.10.2 
 port-mapping application ftp-data port 2120 protocol UDP host ip 10.10.10.2

正常效果

image.png

没有配置ALG效果

undo port-mapping application ftp port 2121 protocol TCP host ip 10.10.10.2 
undo port-mapping application ftp-data port 2120 protocol UDP host ip 10.10.10.2

能连接到FTP服务器 但是远程文件夹无法显示 image.png