1. 程式人生 > >linux中VSFTP無法從外網訪問問題!

linux中VSFTP無法從外網訪問問題!

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

Port模式:

ftp server:tcp 21 <------client:dynamic

ftp server:tcp 20 ------>client:dynamic

Pasv模式:

ftp server:tcp 21 <----client:dynamic

ftp server:tcp dynamic <----client:dynamic

PORT(主動)方式的連線過程是:客戶端向伺服器的FTP埠(預設是21)傳送連線請求,伺服器接受連線,建立一條命令鏈路。當需要傳送資料時,客戶端在命令鏈路上用PORT命令告訴伺服器:“我打開了XXXX埠,你過來連線我”。於是伺服器從20埠向客戶端的XXXX埠傳送連線請求,建立一條資料鏈路來傳送資料。

PASV(被動)方式的連線過程是:客戶端向伺服器的FTP埠(預設是21)傳送連線請求,伺服器接受連線,建立一條命令鏈路。當需要傳送資料時,伺服器在命令鏈路上用PASV命令告訴客戶端:“我打開了XXXX埠,你過來連線我”。於是客戶端向伺服器的XXXX埠傳送連線請求,建立一條資料鏈路來傳送資料。

linux中VSFTP無法從外網訪問問題解決如下!

需要防火牆配置檔案裡配置埠對映

iptables -t nat -A POSTROUTING -d 202.100.0.22 -p tcp --dport 21 -j SNAT --to 172.16.0.22 

這樣就可以通過外網訪問到內網的21埠了