FTPサーバーを自前で用意する
ファイルのやり取りが必要となった場合、FTPサーバーがあると便利です。LAN内にNAS(LAN接続のHDDなど)を持っているのであれば、簡易FTP機能が用意されている製品もあるのでそれを使うのが簡単だといえます。しかし、あくまでも簡易的なものであるため、自由度が低いというのがデメリットです。そこでPCにFTPサーバーを導入する方法を紹介します。
今回使用するFTPサーバーはNekosogiFtpdです。非常に安定性が優れており、細かい設定ができるのと転送速度も速いのが特徴といえます。自分の場合は、Atom搭載の省スペースPCでFTPサーバーを運用していて、WAN側への送信でも回線側の上限に近い21Mbpsほど出ているので快適です。
設定方法
まずは配布元のNekosogiFtpdに行って、ページ左側にあるMENUのDownloadからソフトウェアをダウンロードしてください。そしてダウンロードしたらファイルを解凍しましょう。インストーラーはありませんが、解凍して出てきたファイルをすべて同一のフォルダに入れておくだけでOKです。
- ftpsrv.exe
- FTPサーバーの本体です。セキュリティソフトを使っている人は、必ずこのファイルに通信許可を与えてください。そうしないとFTPの通信が遮断されてしまいます。
- nekosogiftpd.CHM
- NekosogiFtpdの使い方が細かく記されているヘルプファイルです。FTPサーバーの運用を始める前に一読しておくことをお薦めします。
- nekosogiftpd.exe
- FTPサーバーのGUIです。各種設定はこのファイルから行ないます。
- readme.txt
- 概要と最低限読んでおくべき注意書きなどが記されているテキストファイルです。
システム設定
nekosogiftpd.exeを起動してNekosogiFtpdの設定を行ないましょう。はFTPサーバーの接続と切断をするためのアイコンです。はユーザーリストの編集、はシステム設定のアイコンとなっています。を押して設定を行ないましょう。
システム設定のシステムタブから順に設定を行ないます。ポートはそのまま21で大丈夫です。最大回線数は同時にFTPサーバーに接続できる人数の設定となっていて、0だと制限なしとなります。頻繁にデータの受け渡しがあるのであれば、同時接続数を制限して1人あたりの速度が低下しないようにするとよいかもしれません。通信バッファはPCの処理能力がそれなりにあり、回線が光ファイバーであれば2048にしたほうが効率的です。起動時にサーバー開始と最小化で起動にチェックをつけておくとnekosogiftpd.exeを起動するだけでFTPサーバーも稼働するようになります。
常時FTPサーバーを起動させておくのであれば、Advanceボタンを押して、そこにあるサービスに登録ボタンを押しておきましょう。Windowsの起動と同時にFTPサーバーが稼働するようになります。
メッセージタブは特に設定をいじる必要はありません。必要ならばID未登録時のメッセージにチェックをつけて、メッセージを"$USER$" is not registered.とでもしておくとよいでしょう。
ログタブにある設定は好みで変更してください。IPからHOST名を検索して表示すると、ビューの最大表示行数でnekosogiftpd.exeの下部に表示されるLOGの長さを3000から好みに合わせて変更するぐらいでよいと思います。
未登録IDの接続タブでは、登録していないIDで接続要求をしてきた際の動作を指定します。特殊な使い方をするのであればともかく、通常は拒否する。にチェックをつけて運用します。
拒否IPタブは接続を拒否するIPを指定する部分です。FTPサーバーにしつこくパスワードクラックをしてくるような人がいた場合に、LOGを見て該当IPを登録していきます。1行にはIPを1つ登録し、複数のIPを登録する場合は改行して必要な数だけIPを登録していってください。
仮想フォルダタブでは、物理的に別のところにあるフォルダを仮想的に扱って指定したフォルダ内にあるように処理することが可能です。この機能を利用することでFTPサーバーの運用が楽になります。IDごとに専用のフォルダを用意しておき、追加でその人と共有したいフォルダを仮想フォルダとして登録すればよいからです。
例えば、nekosogiというIDにはD:¥FTP¥nekosogiをホームディレクトリに設定しておきます。ほかに共有したいフォルダがD:¥pictureがあるとしたら追加ボタンを押してD:¥pictureを選び、続いてD:¥FTP¥nekosogiを指定してください。そうするとD:¥FTP¥nekosogi¥pictureと処理されるようになり、nekosogiさんとD:¥pictureフォルダもFTPでファイルを共有できるようになります。
PluginタブはNekosogiFtpdのPluginを追加する際に使用します。Pluginを利用しないのであれば設定は不要です。特定のユーザーがログオンしたときに音を鳴らすものやSSL/TLSを使ってセキュアな接続ができるようになるものが用意されているので必要に応じて追加導入しましょう。
ユーザーリスト
システムの設定が済んだら、次はFTPのユーザー設定を行なってください。を押してユーザーリストの編集を呼び出します。個別に設定をする場合は追加ボタンを押してそこで設定です。サークルでデータの共有が必要な場合など、同一の設定を複数のユーザーに適用したいのならばグループボタンを押してグループの作成と編集となりますが、どちらも設定する項目は同じです。ここではユーザー個別に設定していくことにします。
ユーザータブでは、ユーザー名とパスワードを指定してください。パスワードはクラックされないように強度の高いものを必ず使いましょう。必要でしたらランダムなパスワードを生成するパスワード・ジェネレータをどうぞ。パスワードを要求するは必ずチェックをつけておくこと。ユーザー別ホームディレクトリは設定するユーザーがFTPに接続したときに入るフォルダの指定となります。そのIDの人と共有したいフォルダを指定しましょう。当然ですがWindowsのシステムやNekosogiFtpdのフォルダを共有してはいけません。そのようなことをしたら、万一の際にPCを乗っ取られたり設定を破壊される恐れがあります。D:¥FTPなど、FTPサーバーで転送される可能性があるファイル専用のフォルダを作って、その中でだけ共有するようにしてください。
ディレクトリ操作タブでは共有するフォルダと、共有するフォルダ内で許可する動作を設定していきます。追加ボタンを押すと共有するフォルダを複数登録することが可能です。許可する動作を指定したいフォルダを一覧からクリックして、それぞれのフォルダで許可する動作、禁止する動作を決めていきます。誤操作でのファイル消失を防止するために削除にはチェックをつけないほうがよいかもしれません。削除が必要な場合はFTPサーバーを管理している人が消せばよいのですから。
制限タブでは接続し続けられる最大時間や接続したユーザーの操作が一定時間ないときに切断をするといった設定が行なえます。FTPサーバーに回線の帯域を使いきられると困る場合には、転送速度制限でFTPサーバーに割り当てる帯域を制限することも可能です。
禁止ホストタブではそのIDに対して指定したIPからのアクセスを禁止できます。たぶん一般的な使い方であれば使う必要はないんじゃないかな?
ユーザー別タブはユーザー個別の禁止動作を指定できますが、これも特に設定する必要はありません。
Pluginタブでは使用するPluginの追加と設定を行なえます。Pluginを使わなければ何もしなくても大丈夫です。
FTPサーバーを運用開始
ユーザーの設定を済ませたら、さっそくFTPサーバーを有効にして接続テストを行なってみましょう。まずはLAN内からFTPサーバーにアクセスして共有設定が間違っていないか確かめます。FTPサーバーを起動しているPCで、ftp://127.0.0.1/ にアクセスしてミスがないか確かめてください。それが済んだら、いよいよFTPサーバーの運用開始です。相手に自分側のグローバルIPアドレスとIDとパスワードを教えましょう。Messengerなどよりも転送が高速で、データのやり取りが楽になるはずです。
自分のグローバルIPがわからないという場合は、サーバーに伝わるアクセス情報のページを見て、接続元IPアドレスを相手に教えましょう。
うまく動かないときのチェックポイント
- FTPクライアント側の設定をPASVモードにしてみてください。ffftpならばホストの設定の拡張タブ内にPASVモードを使うがあるのでチェックをつけて試してみましょう。Internet Explorerの場合はインターネットオプションの詳細設定タブ内にある設定で、ブラウズにあるパッシブFTP(ファイアウォールおよびDSLモデム互換用)を使用するにチェックをつけます。
- セキュリティソフトが邪魔をしていませんか? 一時的にセキュリティソフトを無効にして接続と転送ができるかチェックしてみてください。無効にした状態で動作するようならばセキュリティソフトの設定ミスです。
- ルータを使っている場合はルータのポート設定もチェックしてみてください。20と21は開けておかないといけません。うまく行かない場合はシステム設定のAdvanceボタンを押し、NATサポートのPASV使用ポート制限でルータで開けているポートを指定してみましょう。
運用の注意
NekosogiFtpdのフォルダ内にuserフォルダがあります。そこに各ユーザーの設定ファイルとLOGが保存されているので定期的にLOGをチェックするようにしましょう。%user%.flgのテキストファイルはそのユーザーが転送したファイルの一覧が保存されています。%user%.mlgのテキストファイルには、ユーザーIDと接続元IPが保存されているだけでなく、ユーザーがFTPでどのような操作を行なったのかを知ることが可能です。未登録のIDなどでパスワードエラーを繰り返しているようならば、安全性を高めるために拒否IPにLOGに残っているIPを追加するようにしてください。