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に掲載されているものなのでしょうか。 ※調べてはみましたが、明確に範囲が記載してある ページがなかなか見つからず困っています。
お手数をおかけしますが、数日間この事象から 抜け出せずにいるため、どうぞよろしくお願いします。
|
Re: FTP接続でエラー ( No.6 ) |
|
- ????????? 2005/12/20 20:34
- ????????? 管理者
-
>>・PASVを有効にした場合はサーバ側のポート範囲を開ける
> を検討したいのですが、この場合はFC4のFWと > ルータのポートの両方で共通のポートを開放する > 必要があるという事でしょうか。
FC4のFWも設定していると言うことですね? この場合は、当然FC4も開放しなければなりません。 (内部ではiptablesによってポートのINPUTがREJECTされる為です)
> また、開放すべきポートの範囲などは > どこかWEBに掲載されているものなのでしょうか。
ググって見たのですが、具体的なポート範囲の記述が見つからなかったのです。 当方でも調べてみますね。
|
Re: FTP接続でエラー ( No.7 ) |
|
- ????????? 2005/12/20 20:50
- ????????? 管理者
-
vsftpd.confに以下の設定でポート範囲を指定出来るみたいです。
pasv_min_port=30000 ← ポート最小(設定値+1から使用) pasv_max_port=30500 ← データ最大
|
Re: FTP接続でエラー ( No.8 ) |
|
- ????????? 2005/12/20 20:54
- ????????? KC
-
お手数おかけします。
調べてみたのですが、vsftpdにはPASVモード時のポート指定をする 設定が可能なようでした。
そこで、ポート40000から40030の範囲に限定しました。 また、同時にFC側のFWにて、上記範囲を開放しました。
試しにローカルからPASVモードで接続すると、上記で設定した 範囲のポートでレスポンスが返ってきました。
---------------------------- ホスト xxx.xxx.xxx.xxx (21) に接続しています. 接続しました. 220 Unknown >USER xxxxx 331 Please specify the password. >PASS [xxxxxx] 230 Login successful. >>CD C:\Document\ >XPWD 257 "/home/xxxxx" >TYPE A 200 Switching to ASCII mode. >PASV 227 Entering Passive Mode (xxx.xxx.xxx.xxx,156,77) ダウンロードのためにホスト xxx.xxx.xxx.xxx (40013) に接続しています. 接続しました. >LIST 150 Here comes the directory listing. 226 Directory send OK. ファイル一覧の取得は正常終了しました. (259 Bytes) ----------------------------
そこで、今度はWAN側からの接続要求を許可するように 設定する必要があると思うのですが、この場合 どうポートマッピングするべきか悩んでおります。
機器によって表記の違いはあると思いますが、
・変換対象プロトコル:TCP ・変換対象ポート:40000-40030 ・宛先アドレス:ローカルIP
で良いものでしょうか。
|
Re: FTP接続でエラー ( No.9 ) |
|
- ????????? 2005/12/20 20:55
- ????????? KC
-
すみません。
>調べてみたのですが、vsftpdにはPASVモード時のポート指定をする >設定が可能なようでした。
上記は先に管理者様がおっしゃっている通りです。 重複しました。
|
Re: FTP接続でエラー ( No.10 ) |
|
- ????????? 2005/12/20 21:02
- ????????? 管理者
-
> そこで、今度はWAN側からの接続要求を許可するように
> 設定する必要があると思うのですが、この場合 > どうポートマッピングするべきか悩んでおります。
TCP Wrapperは如何でしょうか? 参照「http://kajuhome.com/tips/tips_02_002.shtml」
|
Re: FTP接続でエラー ( No.11 ) |
|
- ????????? 2005/12/20 21:08
- ????????? KC
-
>TCP Wrapperは如何でしょうか?
> 参照「http://kajuhome.com/tips/tips_02_002.shtml」
すみません。
基本的に外部へ公開しているFTPサーバなので、 デーモンアクセス制限は行わないつもりです。
とりあえず、ルータで40000〜40030を受け入れるようにし、 PASVでの接続を可能としたいのです。
|
Re: FTP接続でエラー ( No.12 ) |
|
- ????????? 2005/12/20 21:14
- ????????? 管理者
-
失礼しました。
> そこで、今度はWAN側からの接続要求を許可するように > 設定する必要があると思うのですが、この場合 > どうポートマッピングするべきか悩んでおります。 > > 機器によって表記の違いはあると思いますが、 > > ・変換対象プロトコル:TCP > ・変換対象ポート:40000-40030 > ・宛先アドレス:ローカルIP > > で良いものでしょうか。
マッピングの話でしたね。 上記で指定で良いと思われます・・・。
|
Re: FTP接続でエラー ( No.13 ) |
|
- ????????? 2005/12/20 21:16
- ????????? KC
-
どうも長々とすみませんでした。
とりあえずルータ設定を行い、 様子を見る事にします。
事が上手く運んだら報告させていただきます。
お手数をおかけいたしました。
|
Re: FTP接続でエラー ( No.14 ) |
|
- ????????? 2005/12/20 21:19
- ????????? 管理者
-
事後報告、お待ちしております。
|
Re: FTP接続でエラー ( No.15 ) |
|
- ????????? 2005/12/21 09:21
- ????????? KC
-
お世話になります。
昨日、ローカルでのPASVモードでの接続時には、 vsftpd.confで指定したポート「40000-40030」で データコネクションを張っているのに、WAN側から PASVでアクセスすると、上記以外の全く異なる ポートでコネクションを張ろうとしてしまいます。
・FFFTPログより ----------------------------------------- 230-230 Login successful. 230 >>CD F:\ >XPWD 257 "/" >TYPE A 200 Switching to ASCII mode. >PASV 227 Entering Passive Mode (xxx.xxx.xxx.xxx,234,116) ダウンロードのためにホスト xxx.xxx.xxx.xxx (60020) に接続しています. 接続しました. >LIST 150 Here comes the directory listing. 226 Directory send OK. ファイル一覧の取得は正常終了しました. (195 Bytes) >CWD public_html 250 Directory successfully changed. >XPWD 257 "/public_html" >TYPE A 200 Switching to ASCII mode. >PASV 227 Entering Passive Mode (xxx.xxx.xxx.xxx,234,117) ダウンロードのためにホスト xxx.xxx.xxx.xxx (60021) に接続しています. 接続しました. >LIST 150 Here comes the directory listing. 226 Directory send OK. ファイル一覧の取得は正常終了しました. (0 Bytes) >CDUP 250 Directory successfully changed. >XPWD 257 "/" >CWD public_html 250 Directory successfully changed. >XPWD >CWD public_html 257 "/public_html" >XPWD 550 Failed to change directory. >PWD >CWD public_html 257 "/public_html" >PWD 257 "/public_html" 550 Failed to change directory. >TYPE A 257 "/public_html" >PASV 200 Switching to ASCII mode. アドレスが取得できません. ファイル一覧の取得を中止しました. ファイル一覧の取得に失敗しました. 227 Entering Passive Mode (xxx.xxx.xxx.xxx,234,119) >PWD 257 "/public_html" >TYPE A 200 Switching to ASCII mode. >PASV 227 Entering Passive Mode (xxx.xxx.xxx.xxx,234,120) アップロードのためにホスト xxx.xxx.xxx.xxx (60024) に接続しています. 接続しました. >STOR /public_html/index2.htm 150 Ok to send data. 226 File receive OK. アップロードは正常終了しました. (1 Sec. 18 B/S). >TYPE A 200 Switching to ASCII mode. >PASV 227 Entering Passive Mode (xxx.xxx.xxx.xxx,234,121) ダウンロードのためにホスト xxx.xxx.xxx.xxx (60025) に接続しています. 接続しました. -----------------------------------------
なぜか、60000番台のポートでコネクションが 張られようとしています。
vsftpd.confに pasv_min_port=40000 pasv_max_port=40030 と追加してvsftpdを再起動し、
ルータに ・変換対象プロトコル:TCP ・変換対象ポート:40000-40030 ・宛先アドレス:サーバのローカルIP
としているのですがどこかに誤りがあるのでしょうか?
また、60000番台を任意に開放した覚えはない(FCのFW、ルータ共に) のに、なぜ60000番台でコネクションが張れてしまう場合があるのか、 全くわかりません。 (60021とか60106ぐらいまでは成功するように見え、60108などは失敗します)
根本的な解決は難しいのでしょうか。
|
Re: FTP接続でエラー ( No.16 ) |
|
- ????????? 2005/12/21 11:54
- ????????? 管理者
-
おかしいですね・・・
私の場合は指定したポート範囲内で通信を行っています。 下記FFFTPログを参照下さい。
---------- ここから ---------- FFFTP Ver.1.92 Copyright(C) 1997-2003 Sota. ---------------------------- ホスト xxx.xxx.xxx.xxx (21) に接続しています. 接続しました. 220 (vsFTPd 2.0.3) >USER linux 331 Please specify the password. >PASS [xxxxxx] 230 Login successful. >XPWD 257 "/home/linux" >TYPE A 200 Switching to ASCII mode. >PASV 227 Entering Passive Mode (xxx,xxx,xxx,xxx,156,92) ダウンロードのためにホスト xxx.xxx.xxx.xxx (40028) に接続しています. 接続しました. >NLST -alL 150 Here comes the directory listing. 226 Directory send OK. ファイル一覧の取得は正常終了しました. (785 Bytes) >>CD D:\Temp >CWD public_html 250 Directory successfully changed. >XPWD 257 "/home/linux/public_html" >TYPE A 200 Switching to ASCII mode. >PASV 227 Entering Passive Mode (xxx,xxx,xxx,xxx,156,66) ダウンロードのためにホスト xxx.xxx.xxx.xxx (40002) に接続しています. 接続しました. >NLST -alL 150 Here comes the directory listing. 226 Directory send OK. ファイル一覧の取得は正常終了しました. (255 Bytes) >TYPE I 200 Switching to Binary mode. >PASV 227 Entering Passive Mode (xxx,xxx,xxx,xxx,156,91) アップロードのためにホスト xxx.xxx.xxx.xxx (40027) に接続しています. 接続しました. >STOR /home/linux/public_html/top.shtml 150 Ok to send data. 226 File receive OK. アップロードは正常終了しました. (1 Sec. 9684 B/S). >TYPE A 200 Switching to ASCII mode. >PASV 227 Entering Passive Mode (xxx,xxx,xxx,xxx,156,86) ダウンロードのためにホスト xxx.xxx.xxx.xxx (40022) に接続しています. 接続しました. >NLST -alL 150 Here comes the directory listing. 226 Directory send OK. ファイル一覧の取得は正常終了しました. (255 Bytes) >TYPE I 200 Switching to Binary mode. >PASV 227 Entering Passive Mode (xxx,xxx,xxx,xxx,156,70) ダウンロードのためにホスト xxx.xxx.xxx.xxx (40006) に接続しています. 接続しました. >RETR /home/linux/public_html/index.shtml 150 Opening BINARY mode data connection for /home/linux/public_html/index.shtml (9684 bytes). 226 File send OK. ダウンロードは正常終了しました. (1 Sec. 9684 B/S). 切断しました ---------- ここまで ----------
いづれも、40000番台の範囲内で行っています。 ちなみに、vsftpの設定ファイルを以下に明記します。 「/etc/vsftpd/vsftpd.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 ascii_upload_enable=YES ascii_download_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=YES pasv_min_port=40000 pasv_max_port=40030
また、FFFTPの「ホストの設定」内の「拡張」タブで「PASVモードを使う(V)」はONです。
|
Re: FTP接続でエラー ( No.17 ) |
|
- ????????? 2005/12/21 12:00
- ????????? KC
-
お手数かけます。
原因は全くわからないです。 最も不可解なのが、やはりPASVを有効にすると 60000番台でアクセスするという点です。 必ず60000番台の下3桁の任意の番号を 指定されているようです。
そもそもルータ側で60000番台のポートが開いていなければ 通信できないはずですよね。 もう一度ルータの設定を確認してみます。
ちなみに、無関係かもしれませんが PORTモードでのログに表示される以下の一文 「200 PORT command successful. Consider using PASV.」は どういった意味合いなのでしょう。
PORTモードなのにPASVを使用しているんですか?
|
Re: FTP接続でエラー ( No.18 ) |
|
- ????????? 2005/12/21 12:13
- ????????? 管理者
-
すみません。今気づいたのですが、当方の紹介ページで「パッシブモードが有効になっている」と明記してありますね。
(そもそも、WindowsのFTPはPASVに対応していなかった気が・・・・「FFFTP」でのログに切り替えます)
さて本題の「Consider using PASV.」ですが、和訳すると「PASVを使うことを考えてください」ですので、PASVにはなっていません。
|
Re: FTP接続でエラー ( No.19 ) |
|
- ????????? 2005/12/21 12:52
- ????????? KC
-
PASVの推奨という意味なのですね。理解しました。
>(そもそも、WindowsのFTPはPASVに対応していなかった気が・・・・
Windows のコマンドプロンプトではPASVはサポートされていないですね。 別途ツールをインストールせずにPASVで接続する場合は IEを用いると良いでしょう。(IEオプションで設定)
本題のほうですが、このままだと挫折するしかなさそうです。
|
Re: FTP接続でエラー ( No.20 ) |
|
- ????????? 2005/12/22 10:02
- ????????? KC
-
お世話になります。
>なぜ60000番台でコネクションが張れてしまう場合があるのか、全くわかりません。
どうも、NEC製ルータの場合に、勝手にサーバのIPとポート番号を書き換えて クライアントに通知する仕様らしいです。
実際にどう対応する事になるかは今のところ未定ですが、 ひとまずクローズとして下さい。 何か進捗があれば報告します。
|