引用:
linux中VSFTP無法從外網訪問問題!
http://blog.csdn.net/zbulrush/article/details/841978
原文:
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無法從外網訪問問題解決如下!
需要防火牆配置文件里配置端口映射
202.100.0.22 -p tcp --dport 21 -j SNAT --to 172.16.0.22
這樣就可以通過外網訪問到內網的21端口了
############################################
用的是filezilla的軟件,看到信息欄里面出來的數據問題PASV,time out, 估計是被動方式,而筆記本是不知道服務器的已經開始的端口了。所以,應該用iptables 命令來做一下修改。
怎么用iptables 來配置 vsftp 呢?????
這里有詳細的鏈接:http://blog.csdn.net/moreorless/article/details/5289147
××××××××××××××××××××××××××××××××××××××××××××××××××××××××××
關於vsftp的工作方式的開啟與否。
這里有詳細介紹,怎么在PORT與PASV之間轉換
http://www.longsays.com/20120309/blog-4.html/comment-page-1
VSFTP如何開啟PASV模式,雖然我不用FTP,但總有人喜歡用,下面我們就來詳細闡述一下VSFTP如何開啟PASV模式吧!
問題:裝好VSFTP后,FTP不能使用,提示PASV模式失敗,嘗試PORT模式。
原因:iptables防火牆擋住了PASV的端口
解決:修改VSFTP配置文件,開放防火牆端口
1.打開VSFTP配置文件
1
|
vi
/etc
/vsftpd
/vsftpd
.conf
|
未尾添加:
1
2 3 4 |
pasv_enable
=YES
pasv_min_port = 40000 pasv_max_port = 40080 pasv_promiscuous =YES |
2.打開iptables文件
1
|
vi
/etc
/sysconfig
/iptables
|
加入:
1
2 |
-A RH
-Firewall
-
1
-INPUT
-m state –state
NEW
-m tcp
-p tcp –dport
21
-j ACCEPT
-A RH -Firewall - 1 -INPUT -m state –state NEW -m tcp -p tcp –dport 40000 : 40080 -j ACCEPT |
重啟iptables與vsftpd,就可以使用pasv模式了。
轉載請注明:龍語視覺 » VSFTP如何開啟PASV模式?