[*unix] 解決 IP 分享器架設 VSFTP 的連線逾時(Timeout)情形

如果 FTP Server 在 IP 分享器後面,在本地端的網域不會出問題,但是外面的 FTP Client 連進來非常容易出現 Connection Timeout 的狀況。


這時有二種選擇,一種是強迫 FTP Client 使用 PORT 連線,也就是關閉 PASV。

這時就必須設定 FTP Server 了。若是 Proftp 在 PASV 無法連線時會自己轉成 PORT 模式,所以比較不會有問題。vsftp 則必須設定 vsftpd.conf 的 pasv_enable=NO 。

如果只是消極的關閉 PASV ,那大概也不用這篇文章了。^^

所以我們走第二種選擇開啟 PASV 的話,vsftpd.conf 也必須做設定。

pasv_enable=YES
pasv_min_port=65400
pasv_max_port=65410

以上範例是開啟 65400~65410 Port 給 PASV 使用。

需要注意的是 pasv_min_port 跟 pasv_max_port 這二個必須在有設定 pasv_enable=YES 的情況下才會生效。也就是在 vsftpd.conf 內沒有 pasv_enable=YES 這一行的話,會出現 OOPS 的參數無效錯誤。

如果還是一直 Timeout ,就必須要確定以下三項

1.分享器跟Server的對應是不是用 DMZ? 如果不是的話,必須把 65400~65410 轉到 vsftp 的那台機器上。

2.分享器上防火牆是不是有開啟? 是不是擋住了 65400~65410 ?

3.Linux 上的防火牆是不是有開啟? 若有的話用以下的指令:

iptables -I INPUT -p tcp --dport  65400:65410 -j accept

總之,如果 vsftp 是架設在 IP 分享器後面,不論用不用 PASV 都必需作設定,不然 Timeout 的狀況就會一直發生,相信上面的設定可以解決大多數人的困擾。

[相關連結]

鳥哥的 VSFTP 設定教學:
http://linux.vbird.org/linux_server/0410vsftpd.php

vsftp 官方網站:
http://vsftpd.beasts.org/

(Mar. 2005 – vsftpd-2.0.3 released 最近終於出新版了,今天早上看到馬上就裝了)

Leave a reply:

Your email address will not be published.

Site Footer

Sliding Sidebar