Cisco IOS®軟體版本11.2(13)和11.3(3)引入了網路位址轉譯(NAT)功能,支援非標準檔案傳輸通訊協定(FTP)連線埠號碼。在較早的Cisco IOS軟體版本中,當啟用NAT的路由器收到含有IP位址且需要NAT轉換的封包,且標準TCP連線埠號碼用於FTP控制連線(21)時,路由器會將封包識別為FTP封包,並在封包的負載(資料部分)中執行任何必要的轉換。但是,如果FTP伺服器使用非標準FTP埠號,NAT將忽略資料包的負載。這可防止建立FTP資料連線。
為了支援使用非標準FTP埠號,必須使用ip nat service命令。下表說明此命令上的可用選項:
選項 | 定義 |
---|---|
清單 | 指定描述全域性地址的訪問清單。 |
名稱 | 伺服器本地地址的訪問清單名稱。 |
編號 | 全域性地址的訪問清單編號。 |
ftp | FTP通訊協定。 |
tcp | TCP協定。 |
連接埠 | 特殊的非標準埠。 |
埠號 | 特殊非標準埠的數量。 |
以下是語法範例:
router-6(config)#ip nat service list 10 ftp tcp port 2021
需要注意的重要事項:
上述命令中的存取清單位址必須與具有非標準FTP控制連線埠的FTP伺服器的內部本地IP位址相符。
如果為FTP伺服器配置了非標準FTP控制埠,NAT將停止檢查使用該FTP伺服器埠21的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)及更高版本
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路正在作用,請確保您已瞭解任何指令可能造成的影響。
如需文件慣例的詳細資訊,請參閱思科技術提示慣例。
在下面的每個示例中,NAT作為FTP控制連線處理的流在配置後面的表中進行了說明。在每個表中,「任何本地地址」是指不等於10.1.1.1的任何地址。
假設這些FTP伺服器在本地網路中運行:
IP地址為10.1.1.1的FTP伺服器運行在TCP埠號2021上。
TCP連線埠號碼為21的IP位址為「任意」(10.1.1.1除外)的其他FTP伺服器。
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過程:
第一行:目的地為FTP伺服器(10.1.1.1)且目的地TCP連線埠號碼為2021的封包需要負載進行必要的NAT轉譯。
第二行:具有任意源地址以及目的地為任何本地地址(10.1.1.1除外)且目標TCP埠號21(典型的FTP控制埠)的資料包需要對負載進行必要的NAT轉換。因此,啟用在典型埠21上運行的所有FTP伺服器(10.1.1.1除外)對負載進行必要的NAT轉換。
第三行:源自10.1.1.1且任何埠號都發往具有目標TCP埠21的任何本地地址(10.1.1.1除外)的資料包需要負載的必要NAT轉換。
假設這些FTP伺服器在本地網路中運行:
IP地址為10.1.1.1的FTP伺服器在TCP埠號21和2021上運行。
TCP連線埠號碼為21的IP位址為「any」(10.1.1.1除外)的一些FTP伺服器。
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過程:
第一行:目的地為FTP伺服器(10.1.1.1)且目的地TCP連線埠號碼為2021的封包需要負載進行必要的NAT轉譯。
第二行:目的地為FTP伺服器(10.1.1.1)且目的地TCP連線埠號碼為21的封包需要具有負載的必要NAT轉譯。
第三行:具有任意源地址且任何埠號發往目標TCP埠號為21的任何本地地址(典型的FTP控制埠)的資料包需要對負載進行必要的NAT轉換。因此,使在典型埠21上運行的所有FTP伺服器都能進行負載所需的NAT轉換。
第四行:源自10.1.1.1且任何埠號都發往任何本地地址且目標TCP埠21的資料包需要負載進行必要的NAT轉換。
假設這些FTP伺服器在本地網路中運行:
IP地址為10.1.1.1的FTP伺服器運行在TCP埠號21上。
TCP埠號2021上IP地址為10.1.1.0/24(10.1.1.1除外)的FTP伺服器。
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過程:
第一行:目的地為FTP伺服器(10.1.1.1)且目的地TCP連線埠號碼為21的封包需要具有負載的必要NAT轉譯。
註:由於access-list中的deny 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除外)且任何埠號都發往具有目標TCP埠21的任何地址(10.1.1.x除外)的資料包需要負載進行必要的NAT轉換。
請務必記住,為FTP伺服器配置非標準FTP控制埠時,NAT會停止對該特定伺服器使用埠21的FTP控制會話。如果FTP伺服器同時使用標準埠和非標準埠,則需要使用ip nat service命令配置兩個埠。
TCP埠號2021的FTP伺服器10.1.1.1正在內部網路上運行。NAT路由器配置為允許對埠2021處的控制連線進行FTP流量的NAT。
網路圖表
組態:
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
修訂 | 發佈日期 | 意見 |
---|---|---|
1.0 |
10-Aug-2005 |
初始版本 |