|目次|手順 0|1|2|3|A|B|C|D|E|F|G|H| I |J|K|L|M|N|O|P|Q|
作成日:2001年06月01日、更新日:2003年12月08日 作成:鷹の巣無料のサブドメイン名(example.hn.org)を取得し、非固定IP(動的IP)アドレスの自宅FTPサーバー動作の確認手順を紹介します。
以下の説明では、ルータのプライベートIPアドレス(局所機番)を192.168.1.1とし、 サーバをインストールしたマシンのプライベートIPアドレス(局所機番)を192.168.1.2としています。
動作確認の実施前に是非、過去からの贈り物「FTP~前編」と過去からの贈り物「FTP~後編」をご参照願います。
目次
FTPサーバを起動し、FTPサーバの設定をすませ、FTPサーバのルートディレクトリに容量100KB程度の適当な画像ファイル(test.jpg)を 置いておきます。 (Windowsの方は、とりあえずFTPクライアントの設定例とFTPサーバーの設定例とログファイル例と同じ設定にして下さい。)
FTPサーバを起動したマシンのFTPクライアントを起動して、ホストアドレスを127.0.0.1と入力して、test.jpgが ダウンロードできることを確認します。ダウンロード出来ない場合は、以下の囲みの内容を再度ご確認願います。 ダウンロードが確認出来たら、アップロードも確認して下さい。 (ホストアドレスは、localhostでも良いんですが、間違いのもとです。IPアドレスの番号の直打ちでいきましょう。)
-表E1- FTPサーバの自己診断(ループバック)テスト失敗時の確認事項
FTPサーバを起動したマシン以外のFTPクライアントから、ホストアドレスを192.168.1.2と入力して、 test.jpgがダウンロードできることを確認します。ダウンロード出来ない場合は、以下の囲みの内容を再度ご確認願います。 ダウンロードが確認出来たら、アップロードも確認して下さい。
-表E2- 内側(LAN側)FTPライアント機からのテスト失敗時の確認事項
自分のグローバルIPアドレスを調べます。この確認くんをクリックしてみてください。(プロキシ(代理)サーバーを経由しないで下さい。) ここの上から3番目の項目の「現在接続している場所(現IP)」にあなたのグローバルIPアドレスが表示されています。 このグローバルIPアドレス(vvv.xxx.yyy.zzz)を控えておきます。
外部のサイトより、TCP21番ポートを通して、自宅FTPサーバーへグローバルIPアドレスにてアクセス試験を行います。
ブラウザのJavaScriptを有効にして、サーバー監視【無料】さんのport接続テスト(外部からのポート応答確認)で、host名に前項のグローバルIPアドレス(vvv.xxx.yyy.zzz)を入力し、 「標準ポート選択」を「FTPテスト (21ポート)」として「ポートチェック」押ボタンを押して検査して下さい。(一定時間内の利用回数制限があります。)FTP接続出来ない場合は、40秒程待つと結果が表示されます。
この検査は、自宅FTPサーバーへの接続確認ですから、自宅FTPサーバーまでのルータやファイヤウォールでのサービスポート21番の通過設定が正しいかどうかを確認出来ます。 この検査では、FTP制御ポート(サービスポート21番)だけの確認ですから、FTPデータポートの検査(サービスポート20番)は、出来ません。
-表E3- 自宅FTPサーバーへの接続試験で、接続出来ない場合の確認事項
自宅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をご参照願います。
セキュリティ上、自宅FTPサーバーは、ダウンロード専用とし、FTPデータ送受信用のTCPサービスポート20番は、 ルータで、ポートフォワーディングを行わないように設定して下さい。
アップロードを行う場合は、ルータで、TCPサービスポート20番のポートフォワーディングを行なって下さい。 (これは、ルータの外側(WAN側)から内側(LAN側)へデータが入ってくるからです。)
FTPサーバー側とFTPクライアント側のルータの機種によっては、PASVモードに対応していないものがあります。FTPクライアント側の設定は、PORTモードとPASVモードのいずれかで接続を試みて下さい。 クライアント側にルータが入っている場合で、どうしてもデータが転送できない場合は、ちょっと難しいですが、コマンド操作で、FTPサーバーを検証することができます。 その際は、匿名FTPサーバー動作の確認(コマンド操作編)を実施して下さい。
どうしてもFTPクライアント側がPASVモードに出来ない場合のみ、FTPサーバー側で、FTPデータ送受信用のサービスポート20番を開けて、FTPクライアント側をPORTモードにして下さい。
なぜPASVモードにするのかの詳細は、TIPS:FTPをファイアウォール・フレンドリ・モードに変更する方法をご覧願います。 通常、データは、ルータで折り返されますから、余裕があれば、次項の検証も行ってください。
| 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をファイアウォール・フレンドリ・モードに変更する方法をご覧願います。要約しますと、
-表E5- 外側(WAN側)FTPクライアント機からのテスト失敗時の確認事項
外部のFTPクライアントから、自宅FTPサーバーにアクセスしてみましょう。
まず、ファイル名「test.txt」(10バイト程度)を自宅FTPサーバーのドキュメントルートに設置し、下記のサイトから、チェックして下さい。(PASVにチェックを入れて、PASVモードも試して下さい。)
※ 必ず、FTPサーバーと同じグローバルアドレスのブラウザから、FTP試験を実施して下さい。
もし、自宅FTPサーバーにアクセス出来ない場合は、表示画面内容をコピーした上で、掲示板の方へご投稿して下さい。
| ホームページ名(敬称略) | 設定ページ | 制限 | 備考 |
|---|---|---|---|
| パソコンおやじ | FTPサーバテスト | 30Kbyte以下 | FTPサーバーのホスト名の入力不要。(接続元のIPアドレスにFTP接続)「check」ボタンを押して下さい。 |
| - | - | - | - |
上記の様に動作試験サービスを提供して頂けるサイトがございましたら、是非リンクさせて下さい。自宅サーバー用CGI(Common Gateway Interface)の質疑応答集もご一読して頂くと嬉しいです。
念のために外部のプロキシサーバーを中継して、自宅FTPクライアントから、自宅FTPサーバーに接続し、test.jpgが ダウンロードできることを確認します。ダウンロードが確認出来たら、アップロードも確認して下さい。 この確認は、外部のプロキシサーバーを使用する設定が必要で、ある意味でFTPサーバーの動作確認以上に難しいため、 自宅外のFTPクライアントから確認できない場合にのみ試して下さい。 「WWWサーバー動作の確認」の項10で行ったプロキシサーバーの設定は、ブラウザに設定しましたが、これをFTPクライアントに設定します。 例えば、FTPクライアントのFFFTPであれば、オプションメニューの環境設定のFireWall タブで、設定します。 (詳細は、FTPクライアントのヘルプファイルをご参照願います。)
項5~7の確認において、自分のグローバルIPアドレスを入力したところをサブドメイン名(example.hn.org等)にして、同様に 確認して下さい。FTPクライアントから、ホストアドレスにexample.hn.orgと入力して、test.jpgがダウンロードできることを確認します。 これは、FTPクライアントがホスト名(サブドメイン名)をDNSサーバーにグローバルIPアドレスを問い合わせ、FTPサーバーがtest.jpgを インターネット上にデータを送出し、FTPクライアントがインターネット上よりデータを受信したことを意味します。 (通常、データ自身は、ルータで折り返されます。) ダウンロードが確認出来たら、アップロードも確認して下さい。
-表E6- 外側(WAN側)FTPクライアント機からのテスト失敗時の確認事項
これで、適当なファイル(test.jpg)が公開されました。世界中のFTPクライアントで、ホストアドレスに自分のサブドメイン名を 入力すれば結果は、同じです。勿論、アップロードも世界中のFTPクライアントで、認証すれば可能になります。
|▲頁先頭|