OpenStackまたはAmazonEC2VMにVSFTPをインストールし、「パッシブモードに入る…接続に失敗しました」などのエラーが発生しましたか? 「?はいの場合、あなたは正しいページに着陸しました。このチュートリアルは、OpenStackクラウドミドルウェアおよびAmazonEC2で開始されたVMでのFTPパッシブモードの問題を修正するのに役立ちます。
このエラーは、FTPクライアント( WinSCP など)でよく見られます。 またはFileZilla )パッシブモードを使用します。たとえば、FTPコマンドラインツールは問題なく動作するはずです。
このエラーを修正するには、以下の手順に従ってください。
VMのFTPパッシブモードの問題を修正する方法
ステップ1 :まず、vsftpd設定ファイルを編集し、パッシブモードを有効にする必要があります。パッシブモードを機能させるには、ポート範囲を設定する必要もあります。
# vim /etc/vsftpd.conf
以下の行を追加します。
pasv_enable=YES
pasv_min_port=64000
pasv_max_port=64321
port_enable=YES
ステップ2 :FTPサーバーは、パブリックにアクセス可能なIPアドレス(OpenStackではFloatingIPおよびAmazonEC2ではElasticIPと呼ばれます)が関連付けられているにもかかわらず、VMのプライベートIPアドレスをリッスンします。したがって、公的にアクセス可能なIPアドレスを解決するには、以下の行を追加する必要がある場合があります。
pasv_address=<publicly-accessible-ip-or-floating-ip-or-elastic-ip>
pasv_addr_resolve=NO
ステップ3: OpenStackまたはEC2インスタンスのセキュリティグループ構成でFTPポートとパッシブモードのポート範囲を許可します。
例:
- OpenStackダッシュボードにログイン
- 「アクセスとセキュリティ」をクリックします 」COMPUTE セクション。
- 「ルールの管理」をクリックします 対応するセキュリティグループにある「」ボタン。
- 次のページで、新しいルールを追加して([ルールの追加]ボタン)、ポート21およびパッシブモードのポート範囲のインバウンドTCPルールを許可できます。
Amazon EC2では、管理コンソールを詳しく調べて、以下に示すようにポート21とパッシブモードのポート範囲を認証する必要があります。
ec2-authorize default -p 21 ec2-authorize default -p 64000-64321
ステップ4 :VSFTPサービスを再起動します。
# service vsftpd start
ステップ5 :最後に、FTPクライアントを使用して、VMで実行されているサーバーに接続してみてください。問題なく動作するはずです。