Home > Windows にまつわる e.t.c.

同一 IP アドレス上に複数の ftp Server を作る


従来の IIS では、複数の ftp Server を立てた場合には、複数の IP アドレス割り当てが必要でしたが、Windows Server 2008 R2 では、Web Server と同様に、同一 IP アドレスに複数の ftp Server を割り当てることができます。

Server 側はそんなに難しくなく「仮想ホスト名」で分離することが出ます。厄介なのが ftp クライアント側で、ログインユーザー名に「仮想ホスト名|ログインアカウント」と、ログインユーザー名の中で明示的に仮想ホスト名を指定する必要があります。

FTPs を使う場合は、物理サーバーの証明書を使用します。この解説では、アイソレーションコントロール(ログインユーザーの分離アクセス)には触れていませんので、アイソレーション コントロールについては、拙著の Windows Server 2008 本を見て頂くか、Helpか、インターネットで検索してください。

 

ftp Server をインストールする

ほとんどの方には解説不要だと思いますが、Windows Server 2008 R2 への ftp の役割追加から解説しましょう。

サーバーマネージャーの役割の追加から、FTP サーバーをインストールします。デフォルトでは、Web Server も選択されていますが、不要であれば、そちらのチェックは外してかまいません。

普通に役割の追加をするだけなので、難しいことはありませんね。

 

FTPS の証明書をセットする

Windows Server 2008 R2 の FTP では、FTPS がサポートされているので、平文でパスワードが送信される ftp を嫌うのでしたら、FTPS 用の証明書をセットします。

証明書の申請ファイル作成と、証明書の取り込みは、Web Server の手順と全く同じです。

3

証明書の要求ファイル作成

「一般名」に 物理 ftp server の FQDN をセット

要求ファイルが出来たら、CA に Web サーバーの SSL 用証明書を申請します。
証明書が届いたら、これまた Web Server と同様に、証明書を取り込みます。

証明書要求の完了

フレンドリ名にはわかりやすい名前を指定します

 

ftp に証明書を割り当てる

複数の ftp Server を作る場合でも、最初の接続は物理 ftp Server に接続するので、最上位の FTPホームで証明書の割り当てをします。

 

セキュリティを最高レベルにするのであれば「SSL 接続が必要」にすれば良いのですが、まずはコマンドラインの ftp.exe で動作確認をしたいので、「SSL 接続を許可する」にしておきます。

 

同一 IP に複数の ftp Server を作る

ここからが本題(と言うほどの事はありませんが)の ftp Server の作成です。

事前に、ftp が使用するフォルダーとユーザーアカウントを作成しておいて、フォルダーに適当な ACL 割り当てをしておいてから、FTP サイトを作成します。

FTP サイト名は、あくまで IIS マネージャー上での表示名なので、わかりやすい名前であれば何でも構いません。

ここがキモで、「仮想ホスト名を有効にする」にチェックを入れて、ftp の識別子をセットします。例では FQDN になっていますが、「abc」といったような短いキーワードで問題なく動作するようです。
ログインユーザー ID に、この仮想ホスト名を含めなくてはならないので、短いキーワードの方が良いでしょう。

このあたりは適当にw

これで1つ目の FTP サイトが出来ましたので、もう1つ FTP サイトを作ってみましょう。

違う仮想ホスト名を指定

 

Windows ファイアウォールで ftp を許可する

ftp Server を作ったら、Windows ファイアウォールで FTP 通信の許可ルールを作成します。

受信規則の追加

TCP/21を指定

接続を許可

インターネット公開をするのであれば、全てにチェック

ルールに名前を付ける

 

ftp に接続する

ftp Server が出来たら、ftp.exe で接続確認をします。

1IP上に複数の ftp Server が存在している場合には、接続そのものは物理 ftp Server に接続し、ユーザー ID で「仮想ホスト名|ログインユーザー名」と仮想ホストを指定します。

 

FTPS で接続する

ftp.exe では FTPS 通信ができないので、FTPS が使える ftp クライアントソフトを使用して FTPS 通信をします。

フリーソフトでは、WinSCP が FTPS をサポートしているので、WinSCP での接続方法を紹介しましょう。

「セッション」では ftp.exe と同様に、ホスト名には物理 ftp Server の FQDN を指定し、ユーザー名に「仮想ホスト名|ログインユーザー名」を指定します。
プロトコルは、FTP の TLS か SSL を選択します。

接続で「パッシブモード」のチェックを外します。このまま接続しても良いのですが、一度保存しておいた方が良いでしょう。
もう1つの ftp 分を作成し、FTPS で接続してみます

接続先を指定して、パスワード入力すると FTPS で接続を開始します。

このように、同一 IP 上に複数の ftp Server が稼働しています。

 

back.gif (1980 バイト)

home.gif (1907 バイト)

Copyright © MURA All rights reserved.