作成日:2001年06月01日、更新日:2003年12月08日 作成:鷹の巣

無料のサブドメイン名(example.hn.org)を取得し、非固定IP(動的IP)アドレスの自宅FTPサーバー動作の確認手順を紹介します。


手順E.FTPサーバー動作の確認

以下の説明では、ルータのプライベートIPアドレス(局所機番)を192.168.1.1とし、 サーバをインストールしたマシンのプライベートIPアドレス(局所機番)を192.168.1.2としています。

動作確認の実施前に是非、過去からの贈り物「FTP~前編」過去からの贈り物「FTP~後編」をご参照願います。

目次

  1. FTPサーバーの起動とテスト用ファイルの設置
  2. FTPサーバー機内のFTPクライアントからの動作試験
  3. LAN内のFTPサーバー機以外のFTPクライアントからの動作試験
  4. 自サイトのグローバルIPアドレスの確認
  5. ブラウザを使用してインターネット側から、グローバルIPアドレスでのアクセス試験
  6. 自宅FTPクライアントから、グローバルIPアドレスでのアクセス試験
  7. 外部のサイトより、自宅FTPサーバーへのアクセス試験
  8. 外部のプロキシサーバーを利用した自宅FTPサーバーへのアクセス試験(省略可)
  9. ホスト名での自宅FTPサーバーへのアクセス試験
  10. おわりに

1.FTPサーバーの起動とテスト用ファイルの設置

FTPサーバを起動し、FTPサーバの設定をすませ、FTPサーバのルートディレクトリに容量100KB程度の適当な画像ファイル(test.jpg)を 置いておきます。 (Windowsの方は、とりあえずFTPクライアントの設定例FTPサーバーの設定例とログファイル例と同じ設定にして下さい。

2.FTPサーバー機内のFTPクライアントからの動作試験

FTPサーバを起動したマシンのFTPクライアントを起動して、ホストアドレスを127.0.0.1と入力して、test.jpgが ダウンロードできることを確認します。ダウンロード出来ない場合は、以下の囲みの内容を再度ご確認願います。 ダウンロードが確認出来たら、アップロードも確認して下さい。 (ホストアドレスは、localhostでも良いんですが、間違いのもとです。IPアドレスの番号の直打ちでいきましょう。

-表E1- FTPサーバの自己診断(ループバック)テスト失敗時の確認事項

3.LAN内のFTPサーバー機以外のFTPクライアントからの動作試験

FTPサーバを起動したマシン以外のFTPクライアントから、ホストアドレスを192.168.1.2と入力して、 test.jpgがダウンロードできることを確認します。ダウンロード出来ない場合は、以下の囲みの内容を再度ご確認願います。 ダウンロードが確認出来たら、アップロードも確認して下さい。

-表E2- 内側(LAN側)FTPライアント機からのテスト失敗時の確認事項

4.自サイトのグローバルIPアドレスの確認

自分のグローバルIPアドレスを調べます。この確認くんをクリックしてみてください。(プロキシ(代理)サーバーを経由しないで下さい。) ここの上から3番目の項目の「現在接続している場所(現IP)」にあなたのグローバルIPアドレスが表示されています。 このグローバルIPアドレス(vvv.xxx.yyy.zzz)を控えておきます。

5.ブラウザを使用してインターネット側から、グローバルIPアドレスでのアクセス試験

外部のサイトより、TCP21番ポートを通して、自宅FTPサーバーへグローバルIPアドレスにてアクセス試験を行います。

ブラウザのJavaScriptを有効にして、サーバー監視【無料】さんのport接続テスト(外部からのポート応答確認)で、host名に前項のグローバルIPアドレス(vvv.xxx.yyy.zzz)を入力し、 「標準ポート選択」を「FTPテスト (21ポート)」として「ポートチェック」押ボタンを押して検査して下さい。(一定時間内の利用回数制限があります。)FTP接続出来ない場合は、40秒程待つと結果が表示されます。

この検査は、自宅FTPサーバーへの接続確認ですから、自宅FTPサーバーまでのルータやファイヤウォールでのサービスポート21番の通過設定が正しいかどうかを確認出来ます。 この検査では、FTP制御ポート(サービスポート21番)だけの確認ですから、FTPデータポートの検査(サービスポート20番)は、出来ません。

-表E3- 自宅FTPサーバーへの接続試験で、接続出来ない場合の確認事項

6.自宅FTPクライアントから、グローバルIPアドレスでのアクセス試験

自宅FTPクライアントから、ホストアドレスにvvv.xxx.yyy.zzzと入力して、test.jpgがダウンロードできることを確認します。 これは、FTPクライアントがインターネット上のグローバルIPアドレスの自宅FTPサーバーに接続し、自宅FTPサーバーがtest.jpgを インターネット上にデータを送出したことを意味します。ダウンロードが確認出来たら、アップロードも確認して下さい。

最初の接続時、FTPサーバーへは、FTP制御ポート21番で接続されます。接続後にFTPサーバーは、FTPクライアントへ データー一覧を送信して来ますが、この時に使用されるサービスポートは、データ転送時使用される時と同じFTPデータポートです。FTPサーバーのFTPデータポートは、FTPクライアントが指定する転送モードにより異なり、PORTモードでは20番、PASVモードでは、1024番以上で、データー一覧や転送ファイル毎に使用ポートが変化します。詳細は、表E4をご参照願います。

  1. セキュリティ上、自宅FTPサーバーは、ダウンロード専用とし、FTPデータ送受信用のTCPサービスポート20番は、 ルータで、ポートフォワーディングを行わないように設定して下さい。

  2. アップロードを行う場合は、ルータで、TCPサービスポート20番のポートフォワーディングを行なって下さい。 (これは、ルータの外側(WAN側)から内側(LAN側)へデータが入ってくるからです。)

  3. FTPサーバー側とFTPクライアント側のルータの機種によっては、PASVモードに対応していないものがあります。FTPクライアント側の設定は、PORTモードとPASVモードのいずれかで接続を試みて下さい。 クライアント側にルータが入っている場合で、どうしてもデータが転送できない場合は、ちょっと難しいですが、コマンド操作で、FTPサーバーを検証することができます。 その際は、匿名FTPサーバー動作の確認(コマンド操作編)を実施して下さい。

  4. どうしてもFTPクライアント側がPASVモードに出来ない場合のみ、FTPサーバー側で、FTPデータ送受信用のサービスポート20番を開けて、FTPクライアント側をPORTモードにして下さい。

    なぜPASVモードにするのかの詳細は、TIPS:FTPをファイアウォール・フレンドリ・モードに変更する方法をご覧願います。 通常、データは、ルータで折り返されますから、余裕があれば、次項の検証も行ってください。

-表E4- PORTモードとPASVモードのデータの流れとファイルの送受信ポートの違いについて(2003.11.20 データ接続を追記)
PORTモード PASVモード
 FTPクライアント側         FTPサーバー側  FTPクライアント側         FTPサーバー側
1.ポート4001番 制御接続と認証  ポート21番
2.ポート4002データ接続    ポート20番
3.ポート4002ファイル一覧   ポート20番
4.ポート4001番 送受信ファイル要求ポート21番
5.ポート4003ファイルの送受信 ポート20番
1.ポート4001番 制御接続と認証  ポート21番
2.ポート4002データ接続    ポート1024番
3.ポート4002ファイル一覧   ポート1024番
4.ポート4001番 送受信ファイル要求ポート21番
5.ポート4003ファイルの送受信 ポート1025番
PORTモードは、FTPサーバー側のFTPデータ
送受信用の サービスポートが20番で固定です。
PASVモードは、FTPサーバー側のFTPデータ
送受信用のサービスポートが1024番以上で
1つのファイルを送受信する度に変わります。

FTPの転送モードの詳細は、TIPS:FTPをファイアウォール・フレンドリ・モードに変更する方法をご覧願います。要約しますと、

  1. FTP制御番号ポートは、モードに関係なく、FTPサーバー側は、21番で、FTPクライアント側は、任意の始点ポート番号である。
  2. FTPデータポート番号は、ファイル一覧とファイルのデータ送受信のたびに接続と切断が行われ、任意の始点ポート番号から増加する。
  3. FTPデータポートは、ファイル一覧とファイルのデータ送受信にのみ使用され、それ以外は、全てFTP制御ポートが使用される。
  4. FTPサーバー側のルータ等で、バケットフィルタが存在する場合、PORTモードでは、サーバ側(LAN側)からクライアント側(WAN側)に向けて、「ソースポート番号が20番で、宛先ポート番号が任意」というパケットが通過する様にパケットフィルタを開けておく必要がある。

-表E5- 外側(WAN側)FTPクライアント機からのテスト失敗時の確認事項

7.外部のサイトより、自宅FTPサーバーへのアクセス試験

外部のFTPクライアントから、自宅FTPサーバーにアクセスしてみましょう。 まず、ファイル名「test.txt」(10バイト程度)を自宅FTPサーバーのドキュメントルートに設置し、下記のサイトから、チェックして下さい。(PASVにチェックを入れて、PASVモードも試して下さい。)
※ 必ず、FTPサーバーと同じグローバルアドレスのブラウザから、FTP試験を実施して下さい。

もし、自宅FTPサーバーにアクセス出来ない場合は、表示画面内容をコピーした上で、掲示板の方へご投稿して下さい。

自宅サーバー有志によるFTPサーバーの動作試験サイト一覧(募集中!
ホームページ名(敬称略) 設定ページ 制限 備考
パソコンおやじ FTPサーバテスト 30Kbyte以下 FTPサーバーのホスト名の入力不要。(接続元のIPアドレスにFTP接続)「check」ボタンを押して下さい。
- - - -

上記の様に動作試験サービスを提供して頂けるサイトがございましたら、是非リンクさせて下さい。自宅サーバー用CGI(Common Gateway Interface)の質疑応答集もご一読して頂くと嬉しいです。

8.外部のプロキシサーバーを利用した自宅FTPサーバーへのアクセス試験(省略可)

念のために外部のプロキシサーバーを中継して、自宅FTPクライアントから、自宅FTPサーバーに接続し、test.jpgが ダウンロードできることを確認します。ダウンロードが確認出来たら、アップロードも確認して下さい。 この確認は、外部のプロキシサーバーを使用する設定が必要で、ある意味でFTPサーバーの動作確認以上に難しいため、 自宅外のFTPクライアントから確認できない場合にのみ試して下さい。 「WWWサーバー動作の確認」の項10で行ったプロキシサーバーの設定は、ブラウザに設定しましたが、これをFTPクライアントに設定します。 例えば、FTPクライアントのFFFTPであれば、オプションメニューの環境設定のFireWall タブで、設定します。 (詳細は、FTPクライアントのヘルプファイルをご参照願います。)

9.ホスト名での自宅FTPサーバーへのアクセス試験

項5~7の確認において、自分のグローバルIPアドレスを入力したところをサブドメイン名(example.hn.org等)にして、同様に 確認して下さい。FTPクライアントから、ホストアドレスにexample.hn.orgと入力して、test.jpgがダウンロードできることを確認します。 これは、FTPクライアントがホスト名(サブドメイン名)をDNSサーバーにグローバルIPアドレスを問い合わせ、FTPサーバーがtest.jpgを インターネット上にデータを送出し、FTPクライアントがインターネット上よりデータを受信したことを意味します。 (通常、データ自身は、ルータで折り返されます。) ダウンロードが確認出来たら、アップロードも確認して下さい。

-表E6- 外側(WAN側)FTPクライアント機からのテスト失敗時の確認事項

10.おわりに

これで、適当なファイル(test.jpg)が公開されました。世界中のFTPクライアントで、ホストアドレスに自分のサブドメイン名を 入力すれば結果は、同じです。勿論、アップロードも世界中のFTPクライアントで、認証すれば可能になります。

▲頁先頭