LinuxゲートウェイでFTPにてファイル一覧表示・ファイル取得が行えません

質問

FTP で、接続、及び、ログインはできるが、ファイル一覧表示・ファイル送受信で停止する、又は、拒否される。(FTP プロトコルの LIST, NLST, RETR, STOR, STOU コマンドが実行できない)
他のプロトコル (HTTP, SMTP, POP) では問題なく動作する。

回答

[原因と対応]
FTP プロトコルでは、接続・ログイン時は一つの TCP 接続 (コントロールセッション)
のみを利用します。

しかし、ログイン後、ファイル一覧表示・ファイル送受信 (FTP プロトコル のLIST, NLST, RETR, STOR, STOU コマンド実行時) は、別のセッション (データセッション) を利用します。

そのため、ファイル一覧表示・ファイル送受信を行うには、コントロールセッションとデータセッションの両方について、クライアント => Linux ゲートウェイ => サーバ の間で通信ができる必要があります。


ファイアウォールの設定でこのような通信を拒否していないかご確認ください。
特に、ファイアウォール等で Passive モードでの通信のみ許可している場合、Active モードでの通信ができないことがあります。

この場合、ファイアウォールの設定を確認するか、Passive モードでご利用ください。

 

また、透過型でご利用の場合、FTP クライアントからのコントロールセッションの接続先は FTP サーバに、FTP サーバから見たコントロールセッションの接続元 IP アドレスは FTP クライアントになります。

しかし、通常、FTP のデータセッションについては、Passive モードではクライアントからの接続先アドレスと Linux ゲートウェイからサーバへの接続元アドレス、Active モードではサーバからの接続先アドレスと Linux ゲートウェイからクライアントへの接続元アドレスが Linux ゲートウェイのアドレスになります。

FTP の通信ができない場合、このような場合にファイアウォールが拒否していないかご確認ください。

 

Linux ゲートウェイからサーバへの接続時、および、FTP のデータセッションで IP アドレスを保持する必要がある場合、tproxy パッチ適用済みカーネルが必要になります。

Sign In or Register to comment.