IP : 网络地址转换 (NAT)

使用有NAT的非标准FTP端口号

2016 年 10 月 27 日 - 机器翻译
其他版本: PDFpdf | 英语 (2015 年 8 月 22 日) | 反馈


目录


简介

Cisco IOSï ¿  ½软件版本11.2(13)和11.3(3)介绍网络地址转换(NAT)的功能能支持非标准文件传输协议(FTP)端口号。在早期的Cisco IOS软件发布中,当支持NAT的路由器收到NAT转换IP地址的信息包,并且标准的TCP端口号提供给FTP控制连接(21)时,路由器将把信息包当作FTP信息包,并且在信息包有效载荷(数据部分)中进行必要的转换。然而,如果FTP服务器正在使用非标准的FTP端口号,那么NAT可以忽略信息包的有效载荷。这可以防止FTP数据连接设立。

要支持使用非标准 FTP 端口号,必须使用 ip nat 服务命令。此表描述选项可用在此命令:

选项 定义
列表 指定描述全局地址的访问列表。
名称 访问列表名称对于服务器本地地址。
号码 全局地址的访问列表编号。
ftp FTP协议。
tcp TCP协议。
端口 特殊非标准端口。
端口号 特殊非标准端口编号。

以下是一个示例语法:

router-6(config)#ip nat service list 10 ftp tcp port 2021

注释的一些重要事情:

  • 上述命令中的访问控制列表地址必须匹配供FTP服务器(带非标准的FTP控制端口)使用的内部本地IP地址。

  • 如果已为FTP服务器配置非标准的FTP控制端口,NAT则停止检查使用端口21(供FTP服务器使用)的FTP控制连接。其他FTP服务器继续通常作用。

  • 一台带由使用非标准控制端口FTP服务器的主机还可以拥有一个使用标准FTP控制端口(21)的FTP客户端。

  • 如果FTP服务器同时使用端口21和非标准端口,那么您需要使用ip nat service list <acl> ftp tcp <port> 命令配置这两个端口。例如:

    ip nat service list 10 ftp tcp port 2021
    ip nat service list 10 ftp tcp port 21

    然而,您不能配置相同端口和同样的多个访问列表服务。例如:

    router-6(config)#ip nat service list 17 ftp tcp port 2021 
    router-6(config)#ip nat service list 10 ftp tcp port 2021
    % service "ftp tcp port 2021" is already configured for access-list 17 

先决条件

要求

本文档没有任何特定的要求。

使用的组件

本文档中的信息基于以下软件和硬件版本:

  • Cisco IOS软件版本11.2(13), 11.3(3)和以后

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。

规则

有关文档规则的详细信息,请参阅 Cisco 技术提示规则

示例配置

在下面的每一示例中,NAT当作FTP控制连接处理的数据流在这些配置后面的表中有所描述。在每张表中,“任何本地地址”指那些不等于10.1.1.1 的所有地址。

配置示例1

假设,这些FTP服务器在您的本地网络运行:

  • 与IP地址10.1.1.1运行的一个FTP服务器在TCP端口号2021。

  • 另外的FTP服务器用IP地址“其中任一个” (除10.1.1.1之外)在TCP端口号21。

    ip nat service list 10 ftp tcp port 2021 
    access-list 10 permit 10.1.1.1 
源地址 源 TCP 端口 目的地址 目的 TCP 端口
任何本地地址 任何端口 10.1.1.1 2021
任何本地地址 任何端口 任何本地地址(请参阅注意) 21
10.1.1.1 任何端口 任何本地地址(请参阅注意) 21

注意: 任何本地地址不等于10.1.1.1。

此列表描述在之前的表里被选派的NAT进程:

  • 第一条线路:当信息包带任意源地址,且端口编号指定到带目的TCP端口2021的FTP服务器(10.1.1.1)时,它需要对NAT有效载荷进行必要的转换。

  • 第二条线路:当信息包带任意源地址,且端口编号指定到带目的TCP端口21(通常时FTP控制端口)的本地地址(10.1.1.1除外)时,它需要对NAT有效载荷进行必要的转换。所以启用(除10.1.1.1之外)运行在典型的端口21的所有FTP服务器有有效负载的必要的NAT转换。

  • 第三行:当信息包来源于10.1.1.1,且其端口编号指定到带目的TCP端口21的任何本地地址(10.1.1.1除外)时,它需要进行必要的NAT有效载荷转换。

配置示例2

假设,这些FTP服务器在您的本地网络运行:

  • 与IP地址10.1.1.1运行的一个FTP服务器在TCP端口号21和2021。

  • 一些FTP服务器用IP地址“中的任一个” (除10.1.1.1之外)在TCP端口号21。

    ip nat service list 10 ftp tcp port 21 
    ip nat service list 10 ftp tcp port 2021 
    access-list 10 permit 10.1.1.1 
源地址 源 TCP 端口 目的地址 目的 TCP 端口
任何本地地址 任何端口 10.1.1.1 2021
任何本地地址 任何端口 10.1.1.1 21
任何本地地址 任何端口 任何本地地址 21
任何本地地址 任何端口 任何本地地址 21

此列表描述在之前的表里被选派的NAT进程:

  • 第一条线路:当信息包带任意源地址,且端口编号指定到带目的TCP端口2021的FTP服务器(10.1.1.1)时,它需要对NAT有效载荷进行必要的转换。

  • 第二条线路:当信息包带任意源地址,且端口编号指定到带目的TCP端口21的FTP服务器(10.1.1.1)时,它需要对NAT有效载荷进行必要的转换。

  • 第三行:当信息包带任意源地址,且端口编号指定到带目的TCP端口21(通常为FTP控制端口)的本地地址时,它需要对NAT有效载荷进行必要的转换。所以启用运行在典型的端口21的所有FTP服务器有有效负载的必要的NAT转换。

  • 第四行:当信息包来源于10.1.1.1,且其端口编号指定到带目的TCP端口21的任何本地地址时,它需要对NAT有效载荷进行必要的转换。

配置示例3

假设,这些FTP服务器在您的本地网络运行:

  • 与IP地址10.1.1.1运行的一个FTP服务器在TCP端口号21。

  • FTP服务器用在TCP端口号2021的IP地址10.1.1.0/24 (除10.1.1.1之外)。

    ip nat service list 10 ftp tcp port 2021 
    access-list 10 deny 10.1.1.1 
    access-list 10 permit 10.1.1.0 0.0.0.255 
源地址 源 TCP 端口 目的地址 目的 TCP 端口
任何本地地址 任何端口 10.1.1.1 21
任何本地地址 任何端口 10.1.1.x (请参阅注意) 2021
10.1.1.x (请参阅注意) 任何端口 除10.1.1.x之外的任何地址(请参阅注意) 21

注意: 10.1.1.x不等于10.1.1.1。

此列表描述在之前的表里被选派的NAT进程:

  • 第一条线路:当信息包带任意源地址,且端口编号指定到带目的TCP端口21的FTP服务器(10.1.1.1)时,它需要对NAT有效载荷进行必要的转换。

    注意: 由于access-list拒绝10.1.1.1语句,指定到带端口2021的10.1.1.1的信息包不进行NAT有效载荷转换。

  • 第二条线路:当信息包带任意源地址,且端口编号指定到带目的TCP端口2021的本地地址(10.1.1.1除外)时,它需要对NAT有效载荷进行必要的转换。

  • 第三行:从所有10.1.1.x发出的数据包(参考注意在以上的表之下) (除10.1.1.1之外)用任何端口号被注定对所有地址(除10.1.1.x之外)用目的地TCP端口21需要有有效负载的必要的NAT转换。

切记在为FTP服务器配置非标准FTP控制端口时,NAT终止为服务器提供端口21的FTP控制会话。如果FTP服务器同时使用标准和非标准端口,那么您需要使用ip nat service命令配置这两个端口。

示例情景和配置

在TCP端口号2021的FTP服务器10.1.1.1在网络内部运行。配置NAT路由器的目的是:使FTP数据流能够进行网络地址转换(NAT),以控制端口2021上的连接。

网络图

6.gif

配置:

interface Ethernet0
 ip address 10.1.1.2 255.255.255.0
 ip nat inside
!
interface Serial0
 ip address 192.168.10.1 255.255.255.252
 ip nat outside
!
ip nat service list 10 ftp tcp port 2021
ip nat inside source static 10.1.1.1 20.20.20.1

!--- Static NAT translation for inside local address 10.1.1.1
!--- to inside global address 20.20.20.1.

!
access-list 10 permit 10.1.1.1

相关信息


Document ID: 13776