VineLinux3.2 で使用しています。
デフォルトでインストールされているProFTPDを使用していますが、
アップロードできるファイルとできないファイルがあって困っています。
環境は・・・
●サーバ側
VineLinux 3.2
proftpd 1.2.10
●クライアント側
WindowsXP Professional SP2
FFFTP ver 1.92a
●症状
・ファイルのアップロードができるものとできないものがある。
・アップロードできないものは、アップロードを実行すると、
しばらくしてタイムアウトが出て切断されてしまう。
・再接続すると、ファイルサイズ0のファイルができている。
・アップロードができないファイルよりも大きいファイルサイズのファイルでも
アップロードできるものがあり、容量制限は考えにくい・・・。
・WindowsのコマンドラインからのFTPによるアップロードでも
同様の現象が発生
・同じファイルを、VineLinux2.6r3 + ProFTPD 1.2.9rc3 で動いている環境では
アップロード可能(ProFTPD 1.2.9rc3はソースからコンパイルしてインストール)
以下にproftpd.confの内容と、FFFTPDの出力するログを示します。
おかしい部分がありましたら、ご指摘いただけると幸いです。
●proftpd.conf の内容
--proftpd.conf start-------------------------------------------------------------------------
# This is a basic ProFTPD configuration file (rename it to
# 'proftpd.conf' for actual use. It establishes a single server
# and a single anonymous login. It assumes that you have a user/group
# "nobody" and "ftp" for normal operation and anon.
ServerName "ProFTPD Default Installation"
#ServerType standalone
ServerType inetd
DefaultServer on
# Port 21 is the standard FTP port.
Port 21
# Umask 022 is a good standard umask to prevent new dirs and files
# from being group and world writable.
Umask 022
# Use localtime
TimesGMT FALSE
# To prevent DoS attacks, set the maximum number of child processes
# to 30. If you need to allow more than 30 concurrent connections
# at once, simply increase this value. Note that this ONLY works
# in standalone mode, in inetd mode you should use an inetd server
# that allows you to limit maximum number of processes per service
# (such as xinetd).
MaxInstances 30
UseReverseDNS off
IdentLookups off
# Allow clients to resume downloads (default on)
AllowRetrieveRestart on
# Allow clients to resume uploads (default off)
AllowStoreRestart on
# Enable automatic deletion of partially uploaded files (default off)
DeleteAbortedStores on
MaxStoreFileSize *
# Set the user and group under which the server will run.
User nobody
Group nobody
#DefaultRoot ~
# Normally, we want files to be overwriteable.
<Directory />
AllowOverwrite on
</Directory>
# A basic anonymous configuration, no upload directories.
#<Anonymous ~ftp>
#
# User ftp
# Group ftp
#
# # We want clients to be able to login with "anonymous" as well as "ftp"
# UserAlias anonymous ftp
#
# # Limit the maximum number of anonymous logins
# MaxClients 10
#
# # do not require shells listed in /etc/shells (user ftp do not have
# # shell...)
# RequireValidShell no
#
# # We want 'welcome.msg' displayed at login, and '.message' displayed
# # in each newly chdired directory.
# DisplayLogin welcome.msg
# DisplayFirstChdir .message
#
# # Limit WRITE everywhere in the anonymous chroot
# <Limit WRITE>
# DenyAll
# </Limit>
#
#</Anonymous>
--proftpd.conf end---------------------------------------------------------------------------
●FFFTPの出力するログ
--FFFTP log start-------------------------------------------------------------------------
FFFTP Ver.1.92a Copyright(C) 1997-2003 Sota.
----------------------------
ホスト 192.168.0.12 (21) に接続しています.
接続しました.
220 ProFTPD 1.2.10 Server (ProFTPD Default Installation) [192.168.0.12]
>USER tachikawa_ss
331 Password required for tachikawa_ss.
>PASS [xxxxxx]
230 User tachikawa_ss logged in.
>XPWD
257 "/home/tachikawa_ss" is current directory.
>TYPE A
200 Type set to A
>PASV
227 Entering Passive Mode (192,168,0,12,4,14).
ダウンロードのためにホスト 192.168.0.12 (1038) に接続しています.
接続しました.
>LIST
150 Opening ASCII mode data connection for file list
226 Transfer complete.
ファイル一覧の取得は正常終了しました. (200 Bytes)
>CWD public_html
250 CWD command successful
>XPWD
257 "/home/tachikawa_ss/public_html" is current directory.
>TYPE A
200 Type set to A
>PASV
227 Entering Passive Mode (192,168,0,12,4,15).
ダウンロードのためにホスト 192.168.0.12 (1039) に接続しています.
接続しました.
>LIST
150 Opening ASCII mode data connection for file list
226 Transfer complete.
ファイル一覧の取得は正常終了しました. (921 Bytes)
>>CD ..
>>CD ..
>>CD hp_data
>>CD tachikawa_ss
>>CD picture
>TYPE I
200 Type set to I
>PASV
227 Entering Passive Mode (192,168,0,12,4,16).
アップロードのためにホスト 192.168.0.12 (1040) に接続しています.
接続しました.
>STOR ibaraki_ssk.jpg
150 Opening BINARY mode data connection for ibaraki_ssk.jpg ←この状態でしばらく反応なし
受信はタイムアウトで失敗しました.
接続が切断されました.
アップロードを中止しました. (1 Sec. 8237 B/S).
--FFFTP log end---------------------------------------------------------------------------
書いていただいた説明の理解に間違いがなければ、かなり難問のような気がします。
論理的に考えると、2つのサーバ側のconfigが全く同じで、クライアントから同じファイルをアップロードしたときに、あるファイルは問題ないが、あるファイルはうまくいくサーバと0バイトファイルを作成して中断してしまうサーバというように結果が違うとしたら、ProFTPdのバージョンの違いによる問題かコンパイル条件の違いによる違いぐらいしかないと思うのですが?(普通、こういうこともあまりないので、バージョン以外の何かが2つのサーバで違うはず)
もしそうなら、テストできるほうのサーバで、もう一方のサーバと同じ環境を作って見れば、切り分けができるのではないでしょうか?
その前に、本当に両方のサーバの設定が同じか確かめたほうがいいと思います。
ログを見る限り、コネクション関係の問題はなく、データコネクションを設定したが、そこでの通信ができないように見えます。特定のファイルということならパーミッションやフィルタ等が原因ではないです。
configでアップロード関係で追加してデフォルトから触っているディレクティブ(AllowStoreRestartとDeleteAbortedStores)があるのが気になりますが、設定に問題はあるようには見えないので・・・。ただ、切り分けのために外して見る価値はあるかも。
困ったときはデフォルトに戻すのが原則とおやじは思ってます。そこを出発点に、問題点のあぶり出しを始めるようにすれば少なくても設定でおかしくしているなら問題点が見えてくるので。
詳細なレス有難うございます。
A)VineLinux2.6r3 + ProFTPD 1.2.9rc3
B)VineLinux3.2 + ProFTPD 1.2.10
A)はOK、B)はNG
うまく行っている機械とうまくいっていない機械の差は、
A)はソースからコンパイル、B)はインストール時に入っている
A)は100BASE-TのLAN、B)は1000BASE-TのLAN
(ハブは1000BASE-T、FFFTPを使っているクライアントも1000BASE-T)
実はB)の構成はメインとサブと2つをまったく同じ構成に
したのですが、2台とも今回の現象が出ています。
ソースからコンパイルして試してみようと思います。
すみません。自己レスです。
> A)はソースからコンパイル、B)はインストール時に入っている
を訂正します。
A)はソースからコンパイルしたProFTPD、B)はインストール時に入っているProFTPD
わかりづらい表記ですみませんでした。
proftpd 1.2.10 をアンインストールして 1.2.9 を入れたのですが
同様の状態でした・・・。
何が原因なのやら・・・ とほほ。
ProFTPD 1.3.2rc2 でもダメでした。
また、転送できないファイルをアスキーモードで転送すると
問題なく転送できます。バイナリーモードだと現象が発生します。
ただし、転送できないファイルが画像ファイルなので、
アスキーでは使い物にならないのですが・・・。
> ProFTPD 1.3.2rc2 でもダメでした。
>
> また、転送できないファイルをアスキーモードで転送すると
> 問題なく転送できます。バイナリーモードだと現象が発生します。
>
> ただし、転送できないファイルが画像ファイルなので、
> アスキーでは使い物にならないのですが・・・。
一応、Vine3.2でテストしてみましたが、vine3.2標準のproftpd-1.2.10-0vl1.1.i386.rpmでも、1.3.0rc2でも問題ないですね。
inetd経由に起動変更するだけで、configは最初のスレあったものを使用してバイナリもテキストも問題なく動作します。
従って、想定されるのはクライアント側がおかしくないかですが、どうでしょうか?
因みに、テスト時に作成した1.3.0rc2のRPMを下記においておきます。
ftp://ftp.aconus.com/vine3.2/proftpd/proftpd-1.3.0rc2-0vl1.1.i386.rpm
アドバイス有難うございます。
別クライアントから接続しても、同じ現象が発生しました。
うーん、何なんでしょうね・・・。
ギガビットLANでジャンボフレーム使っているのが
悪さをしていたりとか、そういうのは考えられそうですかね???
> 別クライアントから接続しても、同じ現象が発生しました。
> うーん、何なんでしょうね・・・。
>
> ギガビットLANでジャンボフレーム使っているのが
> 悪さをしていたりとか、そういうのは考えられそうですかね???
他のJPGファイルがOKなら、その線はないのでは?
FTPは中身には関与するはずもないので、後はファイル名かサイズぐらいしか思いつきません。
アドバイス有難うございます。
・ファイル名を変えてもダメ
・おやじさんが用意してくださったproftpd 1.3.0rc2 でもダメ
・LANカードのドライバを変えてみたがダメ
という状況です。いったいなんなのでしょうね・・・。
あとは、サブのサーバに Vine Linux 2.6r4 あたりを入れて
同一現象が出るかどうか試すくらいしか・・・。
> ・ファイル名を変えてもダメ
> ・おやじさんが用意してくださったproftpd 1.3.0rc2 でもダメ
> ・LANカードのドライバを変えてみたがダメ
>
> という状況です。いったいなんなのでしょうね・・・。
> あとは、サブのサーバに Vine Linux 2.6r4 あたりを入れて
> 同一現象が出るかどうか試すくらいしか・・・。
ファイルサイズの変更はテストされたのですか? 名前とサイズを変えてもうまくいかないなら、他のJPGファイルがうまくいく理由が見つかりません。切り分け上は他の件より優先すると思うのですが・・・。JPGならペイントでも変えられるのでほんの少しサイズを変更してみては?
これで駄目だとすると、他のJPGがうまくいっている理由が成立しません。
逆にうまくいくようだと、ギガイーサがらみの可能性もなきにしもあらずですかね。サーバが二台あるようですから正常なサーバをクライアントとして試験してみる価値はないですかね?
上記でダメというのは、転送が止まってしまうという現象なんですよね。単に、表示上の問題(最新情報に更新で直ってしまう。)ではなく、あくまでサーバ上にファイルが作成されない、あるいはあってもファイルサイズが0になってる。ということですよね。
サイズを変えてもうまくいかないのであれば、うまくいくJPGファイルとうまくいかないJPGファイルの違いがないので、説明がつかないですね。そうであれば、何か、確認方法上の問題があるような気がするのですが? etherealでパケットキャプチャすると、どこで止まっているのかが見えるのですが、無理ですよね。
ファイルサイズについては、当初、別サイズのJPGファイルがアップロードできたので
大丈夫との認識でテストしておりませんでした。
アップロードできないファイルの名前を変えてもやはりダメでした。
ファイルそのものの問題なのか・・・。
> ファイルサイズについては、当初、別サイズのJPGファイルがアップロードできたので
> 大丈夫との認識でテストしておりませんでした。
> > アップロードできないファイルの名前を変えてもやはりダメでした。
名前ではなくファイルサイズの誤りですよね。
> ファイルそのものの問題なのか・・・。
ファイルサイズを変えたら、ファイルはまったく違うものになるので、うまくいかないわけがないと思うのですが。また、おやじの環境でうまくいくことや、ほかのJPGファイルが問題ないことと矛盾すると思うのですが?。
ダメとどうやって判断してますか? という答えは? サーバ側で確認したのでしょうか? 一端、サーバ側でファイルを消して、クライアントを立ち上げ直してテストしてみては? もう一台のサーバからは?
ファイルサイズを変えて、名前を変えてもうまくいかないが、他のJPGファイルならうまくいくという仕組みは思い付きません。テスト/確認ミスとしか思えないのですが。
今までのやり取り見てて、ちょっと思ったんですが、
ホスト名を違うものにしてませんか??
aaa.bbb.comとccc.bbb.comが同じサーバーに接続されている場合
サーバー機ホスト名 aaa.bbb.com だとして、
クライアントソフトで ccc.bbb.com として接続すると、
ファイルアップ・パーミッション変更などできません。
でもアップロードできてるものもあるんですよね・・・。
ちょっと横槍入れてみました。
削除キーは1111です。不要であれば消してください。
出張で3日ほど不在にしておりまして、ご連絡が遅れました。
可能性の試験ということで、ギガビットのイーサネットワークカードをはずして、
100BASEのカードに交換したところ、あっさりアップロードできてしまいました・・・。
理由はわからないのですが、しばらくは100BASEで運用しようと思います。
せっかく皆様からアドバイスを頂いたのですが、本質的な解決に至らず申し訳ありません。
ハブやクライアントは1000BASEなので、いずれまた機会をみて挑戦したいと思います。
参考までに、今回不具合の出た機械の構成をかいておきます。
いろいろと有難うございました。
・マザー VIA EPIA-533
・LAN PLANEX GN-1200TC
※ビデオ・CPUがオンボードなので両者については割愛
※VineLinux3.2についていたr8169.o、サイトより取得した
ソースでコンパイルしたr8169.o のいずれもダメだった
※ProFTPD 1.2.9 1.2.10 1.3.2 いずれもダメ
> 可能性の試験ということで、ギガビットのイーサネットワークカードをはずして、
> 100BASEのカードに交換したところ、あっさりアップロードできてしまいました・・・。
> 理由はわからないのですが、しばらくは100BASEで運用しようと思います。
>
> せっかく皆様からアドバイスを頂いたのですが、本質的な解決に至らず申し訳ありません。
> ハブやクライアントは1000BASEなので、いずれまた機会をみて挑戦したいと思います。
>
> 参考までに、今回不具合の出た機械の構成をかいておきます。
> いろいろと有難うございました。
>
>
> ・マザー VIA EPIA-533
> ・LAN PLANEX GN-1200TC
>
> ※ビデオ・CPUがオンボードなので両者については割愛
> ※VineLinux3.2についていたr8169.o、サイトより取得した
> ソースでコンパイルしたr8169.o のいずれもダメだった
> ※ProFTPD 1.2.9 1.2.10 1.3.2 いずれもダメ
ギガでしたか?
おやじがかかわった件で、以前、やはりギガだとうまくいかない件があり実は少し疑っていたのです。おやじのBBSか鷹の巣さんのところかどこかがわからなくなって、いろいろ検索してみたのですが見つからなかったので、2つ前に歯切れが悪い形でギガかも?と書かせてもらいました。実は、そのときも状況証拠的には今回のようにつじつまが会わない状況で最後にギガをやめたらすんなり動いてしまったと記憶してます。
おやじもサーバ環境を変えたのでギガになっており、クライアントはもともとギガだったので家庭内でのファイル転送を早くしようと、ギガHUBを買おうかと思っていたのですが、止めることにしました。現用サーバなので止められないため試験できませんので、バックアップに切り替えたときにでも、クロスで直結して確認してからにしようと思います。
何だか実験台みたいになってしまい、お疲れ様でした。
> > ・マザー VIA EPIA-533
> > ・LAN PLANEX GN-1200TC
実は別のマザーにこのLANカードで組み合わせたところ、
アップロードできてしまいました・・・(泣)
マザーとカードの相性問題のようですね・・・。
しかし、ファンレスでサーバを組上げる以上は、マザーを
交換することはできないので、しばらく様子を見てみます。
ようは、実験しなかった私に問題があったようですね(笑)