No.9964 投稿時間:2003年05月06日(Tue) 00:46 投稿者名:春の小川 URL:
初歩的な質問で申し訳ないですが、FTP転送でパッシブモードを
使用出来るFTPサーバーを構築しようとした場合、
Tcp:20 , Tcp:21 , (Tcp4000~4030)と言う具合にルーターの方も
4000~4030と言う具合にサーバー側から、グローバル方向へ向け
てポートを貫通させた方が都合が良いのでしょうか、何方か簡単
な説明で良いのでご教授お願い致します。
No.9965 投稿時間:2003年05月06日(Tue) 01:36 投稿者名:通行人 URL:
LAN→WAN 向けの設定は不要ですが、逆方向は「使用するルータに依る」というのが解答になるでしょうか。
ルータ配下で PASV モード対応の FTP サーバを設置しようとする場合、次の 2 点を実現する必要があります。
1) PASV に対する応答の内容
クライアントから PASV コマンドが送られるとサーバは「227 Entering Passive Mode (xxx,xxx,xxx,xxx,yyy,yyy).」という応答を返しますが、この x、y はそれぞれルータの WAN 側の IP アドレスとポート番号が伝わるようにする必要があります。
通常、FTP サーバはここに自身の IP アドレスとポート番号を入れて応答してしまいます。
2) ポートの転送
上記 1) の応答を受け取った後、クライアントはここで示されたアドレス/ポートへ向けてデータセッションを張ろうとするわけですが、ルータはこれを FTP サーバが実際に待ち受けているアドレス/ポートへ転送する必要があります。
ルータの中には、LAN 内の 21 番ポートへの転送を設定するだけで PASV 対応 FTP サーバが開設できてしまう製品があります。
FTP サーバが返す応答 (= プライベート IP を含んでいる) を、ルータが WAN 側 のアドレス/ポートに書き換えた上で、WAN 側へ流してくれるわけです。また、その内容に応じ、WAN→LAN へのポート転送も自動で行ってくれます。
その他、何かスイッチにより上記モードへ移行できる機種があるかもしれません。
このような「FTP プロトコルを解釈してくれるルータ」で無い場合は、設定は面倒です。
データ用ポートの WAN→LAN 向けの転送設定は必須ですが、その他に
a) PASV モードのデータセッションは、必ずその範囲のポート番号を使用させる。
b) PASV コマンドの応答には自身のプライベート IP では無く、ルータ WAN 側の IP アドレスを (何らかの方法で与えておき) 使用させる。
という FTP サーバへの設定が必要になります。
古い (と言うか、最近メンテナンスされていない) サーバソフトでなければ、大抵は設定方法が用意されているはずです。
# 「簡単な説明」では無くなってしまいました。
No.9974 投稿時間:2003年05月06日(Tue) 13:50 投稿者名:春の小川 URL:
> LAN→WAN 向けの設定は不要ですが、逆方向は「使用するルータに依る」というのが解答になるでしょうか。
>
> ルータ配下で PASV モード対応の FTP サーバを設置しようとする場合、次の 2 点を実現する必要があります。
>
> 1) PASV に対する応答の内容
> クライアントから PASV コマンドが送られるとサーバは「227 Entering Passive Mode (xxx,xxx,xxx,xxx,yyy,yyy).」という応答を返しますが、この x、y はそれぞれルータの WAN 側の IP アドレスとポート番号が伝わるようにする必要があります。
> 通常、FTP サーバはここに自身の IP アドレスとポート番号を入れて応答してしまいます。
>
> 2) ポートの転送
> 上記 1) の応答を受け取った後、クライアントはここで示されたアドレス/ポートへ向けてデータセッションを張ろうとするわけですが、ルータはこれを FTP サーバが実際に待ち受けているアドレス/ポートへ転送する必要があります。
>
> ルータの中には、LAN 内の 21 番ポートへの転送を設定するだけで PASV 対応 FTP サーバが開設できてしまう製品があります。
> FTP サーバが返す応答 (= プライベート IP を含んでいる) を、ルータが WAN 側 のアドレス/ポートに書き換えた上で、WAN 側へ流してくれるわけです。また、その内容に応じ、WAN→LAN へのポート転送も自動で行ってくれます。
> その他、何かスイッチにより上記モードへ移行できる機種があるかもしれません。
>
> このような「FTP プロトコルを解釈してくれるルータ」で無い場合は、設定は面倒です。
> データ用ポートの WAN→LAN 向けの転送設定は必須ですが、その他に
>
> a) PASV モードのデータセッションは、必ずその範囲のポート番号を使用させる。
> b) PASV コマンドの応答には自身のプライベート IP では無く、ルータ WAN 側の IP アドレスを (何らかの方法で与えておき) 使用させる。
>
> という FTP サーバへの設定が必要になります。
> 古い (と言うか、最近メンテナンスされていない) サーバソフトでなければ、大抵は設定方法が用意されているはずです。
>
> # 「簡単な説明」では無くなってしまいました。
なるほど、大体のところは理解出来たような感じです、つまり外部
(グローバル)ヘはTcp:21,20で使用する内部で使用するポートは
4000~4030とか言う具合になると考えて良いのでしょうか?
No.9998 投稿時間:2003年05月07日(Wed) 14:26 投稿者名:通行人 URL:
書いた自分が言うのも何ですが、No.9965 はいまいち論点がはっきりしませんね。
話題をルータの設定のみに絞って、書き直してみます。
ズバリ、FTP の通信で発生する接続は、次の 3 種のみです。
a. WAN 上のクライアント → サーバの 21 番ポート
b. サーバの 20 番ポート → WAN 上のクライアント (PORT モードのデータ転送時)
c. WAN 上のクライアント → サーバの 4000~4030 番ポート (PASV モードのデータ転送時、ポート番号は設定例です)
従って、PORT/PASV 両対応のサーバを立てたいのであれば、
1. 21 番ポートと 4000~4030 番ポートの、サーバ機への転送処理
2. もし LAN → WAN 方向の制限をかけているのであれば、サーバの 20 番ポート発の接続要求の通過許可
をルータに設定すれば良いことになります。
これ以外は不要です。
補足:
ルータが No.9965 で挙げた「FTP を解釈できるタイプ」であれば、1. の転送設定は 21 番ポートだけで済みます。
使用するサーバソフトの種類や設定状態によっては、2. で使用するポートが「20 番」ではないことがあります。
……と、こういう感じになります。いかがでしょうか。