linux中VSFTP無法從外網訪問問題!
阿新 • • 發佈:2019-01-06
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埠了