天天看點

NAT後的vsftp通路

NAT後的vsftp通路

    • ftp下載下傳提示ftp: bind: Address already in use
    • 正确解決辦法

ftp下載下傳提示ftp: bind: Address already in use

生成環境中遇到的問題,由于vsftp伺服器為内網伺服器,通過端口映射對外暴露端口。在映射出ftp的連接配接端口和資料傳輸端口後,ftp可以正常登陸,但擷取資料時報錯“500 Illegal PORT command. ftp: bind: Address already in use”

按網上的解決辦法仍然不行,根據提示懷疑是因為NAT後,用戶端回源時查找的是服務端内網位址導緻無法連接配接:

ftp> quote pasv

227 Entering Passive Mode (192,168,0,112,164,248).

ftp> passive

Passive mode on.

正确解決辦法

最後在google找到解決方案,直接在ftp中更改pasv_address配置,配置為公網位址即可,但如此配置後,将無法直接使用内網位址連接配接ftp

pasv_enable=YES
listen_port=***
pasv_min_port=***    (Default: 0 (use any port) ) pasv使用的最小端口
pasv_max_port=***   (Default: 0 (use any port) ) pasv使用的最大端口
pasv_address=公網位址  (Default: (none - the address is taken from the incoming connected socket) ) pasv模式中伺服器傳回的ip位址