web-dev-qa-db-ja.com

Linux上のFTP「ディレクトリリストの取得に失敗しました」ファイアウォールの問題ではありません

ドイツでDebianX64を実行しているVPSを持っています。私は非常に奇妙な問題を抱えています。

Proftpdを使用してISPConfigCPをインストールしていますが、FTPに接続できません。

数時間前、CentOSの同じVPSと同じ問題にDirectAdminをインストールしました。

FTPサーバーに接続すると、次のようになります。

 Status:    Resolving address of web02.defikon.com
Status: Connecting to 130.255.190.71:21...
Status: Connection established, waiting for welcome message...
Response:   220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
Response:   220-You are user number 1 of 50 allowed.
Response:   220-Local time is now 12:15. Server port: 21.
Response:   220-This is a private system - No anonymous login
Response:   220-IPv6 connections are also welcome on this server.
Response:   220 You will be disconnected after 15 minutes of inactivity.
Command:    USER default1
Response:   331 User default1 OK. Password required
Command:    PASS ******
Response:   230-User default1 has group access to:  client0    sshusers  
Response:   230 OK. Current restricted directory is /
Command:    OPTS UTF8 ON
Response:   200 OK, UTF-8 enabled
Status: Connected
Status: Retrieving directory listing...
Command:    PWD
Response:   257 "/" is your current location
Command:    TYPE I
Response:   200 TYPE is now 8-bit binary
Command:    PASV
Error:  Connection timed out
Error:  Failed to retrieve directory listing

私もtelnetlocalhost 21を試しましたが、同じことが起こりました。コマンド「LIST」を発行すると、タイムアウトになります。私はすべてを試しましたが、これを機能させることができません=(

助けてください !

追伸:iptablesはオフになっています。

2
Jacky Prahec

FTPは複数のポートを使用します。 TCP 21はコマンドチャネル専用です。ディレクトリリストを作成すると、データチャネルを介して結果が転送されます。

パッシブモードを使用しているため、サーバーはデータチャネル用にランダムなハイポート(> 1024)を開き、クライアントはそのポートへの2番目のTCP接続を開く必要があります。

通常、PASVコマンドの直後に、サーバーは次のように応答する必要があります。

227 Entering Passive Mode (130,255,190,71, 4, 128)

これにより、サーバー130.255.190.71がポート(4 * 256 + 128)= 1152であなたをリッスンしていることがクライアントに通知されます。

したがって:-サーバーからの応答(PASVコマンドへの応答)を含む生のメッセージを取得してみてください-ファイアウォールルールをもう一度確認してください

5
Stephane

あなたとあなたのftpサーバーが両方ともファイアウォールの後ろにある場合、FTPは機能しません。それは機能させることができますが、それはもろく、生きているハトとブードゥーパウダーを含みます。

暗号化された接続を使用して接続し、デュアルファイアウォールで非常にうまく機能するSFTPを使用できるかどうかを確認できます(私はシステムで使用しています)。

マシンにsshで接続できる場合は、rsync、sftp、scpを使用して、サブディレクトリツリー全体でさえもファイルを前後に移動できます。 sftpはほとんどftpであり、ssh/sslリンクのすぐ上にあります。

あなたがVPNを使用していることは承知していますが、暗号化が問題になることはなく、FTPはすべてを平文でブロードキャストします。 (stunnelが役立つと思いますが、それでも... ftpは古く、ファイアウォールではうまく機能しません。)

1
lornix

問題は昨日修正されました。 FTPの問題はSolusVMのバグが原因でした。問題が修正され、FTPが正常に機能するようになりました。

すべての回答をありがとう。

0
Jacky Prahec