Virtual Boxにcentos 6.5をインストールしました。プライマリFTPサーバーを構成しようとしています。詳細は次のとおりです。
DVD/Yumからvsftpdをインストールする:ステータス - >成功
テスト目的でファイアウォールを無効にします。
chkconfig iptables off : successful service iptables stop : successful
また、selinuxを無効モードに設定します。成功
VirtualBoxでNATを介したポート転送ルールを追加しました。
Rule Protocol Host Port Guest Port Ftp tcp. 2121. 21
これで、ローカルユーザーまたは匿名ユーザーに接続しようとすると、毎回他のエラーがたくさん発生します。
また、私のホストコンピュータにFilezilaが表示するログメッセージを追加しました。
-> LocalUserLogFromClient
Status: Disconnected from server
Status: Resolving address of localhost
Status: Connecting to [::1]:2121...
Status: Connection attempt failed with "ECONNREFUSED - Connection refused by
server", trying next address.
Status: Connecting to 127.0.0.1:2121...
Status: Connection established, waiting for welcome message...
Response: 220 Welcome to C6G FTP service.
Command: AUTH TLS
Response: 530 Please login with USER and PASS.
Command: AUTH SSL
Response: 530 Please login with USER and PASS.
Status: Insecure server, it does not support FTP over TLS.
Command: USER FUser1
Response: 331 Please specify the password.
Command: PASS *****
Error: Connection timed out after 20 seconds of inactivity
Error: Could not connect to server
->匿名ユーザーログ
Status: Resolving address of localhost
Status: Connecting to [::1]:2121...
Status: Connection attempt failed with "ECONNREFUSED - Connection refused by
server", trying next address.
Status: Connecting to 127.0.0.1:2121...
Status: Connection established, waiting for welcome message...
Status: Insecure server, it does not support FTP over TLS.
Status: Connected
Status: Retrieving directory listing...
Command: PWD
Response: 257 "/"
Command: TYPE I
Response: 200 Switching to Binary mode.
Command: PASV
Response: 227 Entering Passive Mode (10,0,2,15,88,204).
Command: LIST
Error: The data connection could not be established: 10065
Error: Connection timed out after 20 seconds of inactivity
Error: Failed to retrieve directory listing
答え1
ログには2つの異なる問題が表示されます。
匿名ユーザーでない場合は、ログインがタイムアウトします。ログインが完了するまで20秒待ってからFTPクライアントが放棄します。これは、特に仮想ユーザーなどを設定しようとすると、サーバーの認証構成が機能しないことを意味します。これに加えて、サーバーでログを作成するのに時間がかかるか、DNS解決を実行できます。
匿名ユーザーログにNATの問題がある可能性があります。
227 Entering Passive Mode (10,0,2,15,88,204).
これは、クライアントが10.0.2.15:22732/tcpに接続し、タイムアウトを報告する必要があることを意味します。 FTP接続自体がlocalhostであるため、必ず接続する必要がある奇妙なアドレスです。
(注:最後の2つの数字は、ネットワークバイト順のポート番号の2バイトです。したがって、88×256 + 204 = 22732です。)
答え2
ポートフォワーダの背後にあるFTPサーバーは、使用されているソフトウェアが次の場合を除き、手動モードでサービスすることはできません。特別なデザインFTPデータ接続を転送します。ケースは次のとおりです。
- NAT ソフトウェアは、
227 Entering Passive Mode
FTP 制御接続をスニッフィングし、それに応じてポート転送を実行し、FTP 制御データを一部変更することができます。 - FTPサーバーは手動モードで送信された可視(NAT)IPアドレスを使用し、NATは指定されたポート範囲を転送します。
私の初期推論の欠陥を指摘した@derobertに感謝します。
LinuxカーネルNATは(オプション)FTPサポートを提供します。しかし、Linuxならゲスト、NATは問題とは関係ありません。実際、ホストシステムのNATはゲストシステムに対してNATを実行する必要があります。 Windows NATソフトウェアにそのような機能がありますか?わかりません。とにかくLinuxの問題ではありません。推奨回避策:仮想マシンのNATをブリッジと交換します。