はじめての自宅サーバ構築 - Fedora/CentOS -
Last Update 2018/05/30
[ 更新履歴 ] [ サイト マップ ] [ 質問掲示板 ] [ 雑談掲示板 ] [ リンク ]
トップ >> 質問掲示板

 このスレッドはクローズされています。記事の閲覧のみとなります。

 FTP接続でエラー
日時: 2005/12/19 20:28
名前: KC

はじめまして。

FC4、vsftpdでFTPサーバを立てているのですが、
WAN側からの接続の際に以下のエラーが出ます。
(ログはFFFTPでのログ)

----------------------------------------
ホスト XXXXXXXXXXXXXX を探しています.
ホスト XXXXXXXXXXXXXX (xx.xxx.xxx.xx (21)) に接続しています.
接続しました.
220 FTP server
>USER xxxxx
331 Please specify the password.
>PASS [xxxxxx]
230 Login successful.
>XPWD
257 "/"
>TYPE A
200 Switching to ASCII mode.
>PORT 10,104,2,143,6,87
200 PORT command successful. Consider using PASV.
>NLST -alL
425 Failed to establish connection.
コマンドが受け付けられません.
ファイル一覧の取得を中止しました.
ファイル一覧の取得に失敗しました.
-----------------------------------------

ユーザ名とパスワード応答は返ってくるのですが、
ファイル一覧の取得ができません。


vfstpd.conf は以下のように設定しています。

-----------------------------------------
anonymous_enable=NO

local_enable=YES

write_enable=YES

local_umask=022

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

xferlog_std_format=YES

idle_session_timeout=600

data_connection_timeout=60

ascii_upload_enable=YES
ascii_download_enable=YES

ftpd_banner=FTP server

chroot_local_user=YES
chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

ls_recurse_enable=YES
use_localtime=YES
pam_service_name=vsftpd
userlist_enable=YES
listen=YES
tcp_wrappers=YES
xferlog_std_format=NO
log_ftp_protocol=YES
pasv_promiscuous=NO
-----------------------------------------

ルータでは20、21をポートマッピングしています。

クライアント側の問題なのか、サーバ側の問題なのか
切り分けができずに困っています。

何かわかる事があれば助言お願いします。
メンテ

Page:  [1] [2] [3] [4]

■ コンテンツ関連情報

 Re: FTP接続でエラー ( No.1 )
日時: 2005/12/19 21:46
名前: 武蔵

passiveモードをオフにしてみたら如何でしょうか?

メンテ
 Re: FTP接続でエラー ( No.2 )
日時: 2005/12/20 08:51
名前: KC

pasv_promiscuous=NO によって
オフになっているかと思うのですが。

これではオフにはならないとの事ですか?
メンテ
 Re: FTP接続でエラー ( No.3 )
日時: 2005/12/20 15:44
名前: KC

>USER xxxxx
331 Please specify the password.
>PASS [xxxxxx]
230 Login successful.


上記より制御コネクションは張れており、データコネクションを
張る段階で失敗している事から判断し、恐らくvsftpdで
PASVをサポートする事によって解決する可能性があるかと
思うのですが、その場合は pasv_promiscuous=YES とするのみで、
FWやルータ側に設定変更の必要はあるでしょうか。
メンテ
 Re: FTP接続でエラー ( No.4 )
日時: 2005/12/20 17:17
名前: 管理者

クライアント側のファイアウォールが問題となっていませんか?
サーバ側で(20・21)をマッピングしてもクライアント側のファイアウォールによって遮断される場合があります。
クライアント側でのポートは(20・21)で通信するものではない事に注意してください。

ではなぜ、USER名とパスワード等が通るかというとクライアントからサーバの21番に向けた制御コネクションで行われています。
この後、NLST -alLの結果はサーバの20番を通してクライアントの任意のポートに返ってきます。
これがネックとなってファイル一覧が表示されない理由です。(もちろん、PUTやGETも同様)
(クライアント側ではサーバからアクセスにきたポートを開ける必要があります。(ポート番号はある範囲らしいですが調べてません))


予断ですがPASVモードとは、セッションを確立する向きが違う事です。
通常(ポートモードまたはアクティブモードと言う)はデータコネクションはサーバからクライアントに向けてですが
PASVはデータコネクションはクライアントからサーバの任意のポート番号(※)に向けて接続します。
(※:PASVは、制御コネクション返却時にサーバが指定した任意のポート番号を返却します)

今度は、PASVにした時の問題はサーバー側のポート番号が限定できない(ある範囲を開けなくてはいけない事です。)

KCさんが今はまっているのは前者の件で、クライアント側のファイアウォールを無効にすればファイルリストが取得できます。
(逆を言えば、クライアント側のファイアウォールのOUTに対して制限がなければPASVモードにしてサーバ側のある範囲のポートを開ければ通信可能になります。)


書いている内にややこしくなってしまいましたが、簡単にいうと以下になります。
  ・PASVを無効にした場合はクライアント側のポート範囲を開ける
  ・PASVを有効にした場合はサーバ側のポート範囲を開ける
メンテ
 Re: FTP接続でエラー ( No.5 )
日時: 2005/12/20 20:19
名前: KC

ご返信ありがとうございます。


できれば、ご指示いただいた後者の

・PASVを有効にした場合はサーバ側のポート範囲を開ける

を検討したいのですが、この場合はFC4のFWと
ルータのポートの両方で共通のポートを開放する
必要があるという事でしょうか。

また、開放すべきポートの範囲などは
どこかWEBに掲載されているものなのでしょうか。
※調べてはみましたが、明確に範囲が記載してある
 ページがなかなか見つからず困っています。

お手数をおかけしますが、数日間この事象から
抜け出せずにいるため、どうぞよろしくお願いします。
メンテ

Page:  [1] [2] [3] [4]

■ その他

ページ先頭へ

Copyright(©)2004-2018 First home server construction. All Right Reserved.