HTTP、FTPで前提にある構成を検討しています。

HTTPについては、Squid、Apacheのmod_proxy等を使い実現できそうなんですが、
FTPについては、実現方法が見つかりません。実現方法を教えて下さい。
前提 (例)
サーバー①
 ホスト名:ftp1.test.com ⇒IPアドレス:1.2.3.4 (グローバルIP)
サーバー②
 ホスト名:ftp2.test.com ⇒IPアドレス:1.2.3.4 (グローバルIP)
 FTPサーバーが複数台あり、インターネット上では、同じグローバルIP(1.2.3.4)
 が割当てられている。

 ローカルネットワーク内では、下記のようにサーバーのような構成になっている。 
サーバー①
 ホスト名:ftp1.test.com ⇒IPアドレス:192.168.0.1 (ローカルIP)
サーバー②
 ホスト名:ftp2.test.com ⇒IPアドレス:192.168.0.2 (ローカルIP)

要件
 インターネットからFTPホスト名(FFFTP等)でFTP接続できること。
 例:FFFTPでホスト名:ftp1.test.com、ftp2.test.comに設定し接続した
   とき、それぞれで問題なく動作すること。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2007/10/31 16:04:12
  • 終了:2007/11/07 16:07:27

回答(1件)

id:y-kawaz No.1

y-kawaz回答回数1420ベストアンサー獲得回数2252007/10/31 16:46:08

ポイント60pt

HTTPの場合はHostヘッダがあるので1IPでマルチドメインが利用できますが、FTPには追加ヘッダのようなものは無いので同じ考え方では不可能です。


FTPで1IPでマルチドメインのバーチャルサーバが必要になったときに、良くやる手はFTPのユーザ名にドメインを付けて管理することです。

ユーザには、user1@ftp1、user2@ftp1、user1@ftp2、user3@ftp2 といったユーザ名でFTPにログインして貰うようにします。

そしてFTPサーバはグローバルIPで一つだけ立てて、そのサーバには実は NFS により ftp1 と ftp2 の /home ディレクトリをそれぞれ /home/ftp1 と /home/ftp2 にマウントされているという構成が考えられます。

ローバルIPに立っているFTPサーバではユーザ名が user1@ftp1 なら HOME が /home/ftp1/user1 になるようにマッピングしてやることで辻褄が合うというわけです。


僕が知る限りvsftpでもproftpdでもこのような構成は可能です。

個人的には proftpd の方が柔軟な設定がしやすいので好きです。

http://q.hatena.ne.jp/answer

id:hiro48

なるほど・・不可能なんですね。

ご提案いただいた内容だと下記のような問題がでてきますけど、何とかできそうな気がしてきました。

ちなみに無料レンタルサーバー(http://jmj.at)のサービスを提供しています。

FTPアカウント名は、アカウント名@ドメイン名のような形にしてます。(サンプル:ftp@sample.jmj.at)

アカウント名の箇所はユーザーが自由に設定可能です。

問題

NFSサーバーへのマウントは手動でやるにしても

サーバー①、サーバー②にはWEB上でFTPアカウントを作成する機能が実装されています。

サーバー①、サーバー②で作成された際、NFSサーバーの方にもアカウントが、自動で作成されるような機能が必要になります。

Proftpdを使ってて認証にはMySQLの認証(SQLAuthenticate)を使っているので

NFSサーバーで、サーバー①、サーバー②の認証用データを常に同期できれば何とかいけそうかなと思います。

何か同期させる(サーバー①+サーバー②のデータをNSFサーバーに同期)のにいい方法ありますかね?

回答ありがとうございました。

2007/10/31 19:42:53

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません