ftp: connect: 沒有到主機的路由

tonykorn97發表於2019-04-26

FTP協議有兩種工作方式:PORT方式和PASV方式,中文意思為主動式和被動式。


PORT(主動)方式的連線過程是:客戶端向伺服器的FTP埠(預設是21)傳送連線請求,伺服器接受連線,

建立一條命令鏈路。當需要傳送資料時,客戶端在命令鏈路上用PORT命令告訴伺服器:“我開啟了XXXX埠,

你過來連線我”。於是伺服器從20埠向客戶端的XXXX埠傳送連線請求,建立一條資料鏈路來傳送資料。 


PASV(被動)方式的連線過程是:客戶端向伺服器的FTP埠(預設是21)傳送連線請求,伺服器接受連線,

建立一條命令鏈路。當需要傳送資料時,伺服器在命令鏈路上用PASV命令告訴客戶端:“我開啟了XXXX埠,

你過來連線我”。於是客戶端向伺服器的XXXX埠傳送連線請求,建立一條資料鏈路來傳送資料。 


作業系統:centos7.3


客戶端登入

[root@test ~]# ftp 113.142.57.158

Connected to 113.142.57.158 (113.142.57.158).

220 (vsFTPd 3.0.2)

Name (113.142.57.158:root): posftp

331 Please specify the password.

Password:

230 Login successful.

Remote system type is UNIX.

Using binary mode to transfer files.

ftp> ls

227 Entering Passive Mode (192,168,1,84,128,204).

ftp: connect: 沒有到主機的路由

ftp> passive

Passive mode off.

ftp> ls

200 PORT command successful. Consider using PASV.

150 Here comes the directory listing.

drwxr-xr-x    2 1001     100          4096 Nov 28 13:12 letposexe

-rw-r--r--    1 1007     100      15523840 Apr 26 13:53 letposexe.tar

226 Directory send OK.

ftp> 



伺服器修改:

設定被動模式埠

echo '

pasv_enable=YES

pasv_min_port=41000

pasv_max_port=42000

' >>/etc/profile



--重啟服務

systemctl  restart  vsftpd.service       


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/312079/viewspace-2642634/,如需轉載,請註明出處,否則將追究法律責任。

相關文章