最近Linuxを独学で始めた者です。
書籍やホームページを見ながらですが、Webサーバー、SSHサーバー(見た目問題なく動いています)とまではできました。
ですがProftpでFTPサーバーを設定して、LAN内では問題なく動いたので、いざインターネット経由で接続してみたのですが、ユーザーの認証後ファイルが表示されず、ルーターにも接続できない状態になりました。またFTPテストサイトからも接続してみたのですが同じ状態になってしまいました。
バージョン:Proftpd-1.2.9
OS:FedraCore3
FTPクライアント:FFFTP、IE
<Proftpd設定ファイル>
ServerType inetd
MaxInstances 30
MaxLoginAttempts 3
DefaultRoot ~
UseReverseDNS off
IdentLookups off
AllowForeignAddress on
MasqueradeAddress グローバルIP
#MasqueradeAddress 取得したドメイン名
PassivePorts 4000 4001
<Limit SITE_CHMOD>
AllowGroup admin
DenyAll
</Limit>
<Limit LOGIN>
AllowGroup admin
AllowGroup ftpuser
Deny from all
#Allow from all
</Limit>
<ルーターの設定>
ポート20,21,4000,4001をサーバーのIPにアドレス変換しています
ポート20,21,4000,4001のパケットを通過できるように設定しています。
HTTP,SSHについても同様の設定です。
<Proftpdのログ>
[16/Sep/2005:09:24:47 +0900] : nobody (xxx.xxx.xxx.xxx [xxx.xxx.xxx.xxx]) : [331], -, USER (-)
[16/Sep/2005:00:24:47 +0000] : ftpadm (xxx.xxx.xxx.xxx [xxx.xxx.xxx.xxx]) : [230], -, PASS (-)
[16/Sep/2005:00:24:47 +0000] : ftpadm (xxx.xxx.xxx.xxx [xxx.xxx.xxx.xxx]) : [257], -, XPWD (-)
[16/Sep/2005:00:24:47 +0000] : ftpadm (xxx.xxx.xxx.xxx [xxx.xxx.xxx.xxx]) : [200], -, TYPE (-)
[16/Sep/2005:00:24:47 +0000] : ftpadm (xxx.xxx.xxx.xxx [xxx.xxx.xxx.xxx]) : [227], -, PASV (-)
(これ以降止まってしまいます)
<ログ/var/log/message>
Sep 16 09:24:47 localhost proftpd[980]: localhost.localdomain (xxx.xxx.xxx.xxx[xxx.xxx.xxx.xxx]) - FTP session opened.
Sep 16 09:29:46 localhost proftpd[980]: localhost.localdomain (xxx.xxx.xxx.xxx[xxx.xxx.xxx.xxx]) - FTP no transfer timeout, disconnected
Sep 16 09:29:46 localhost proftpd[980]: localhost.localdomain (xxx.xxx.xxx.xxx[xxx.xxx.xxx.xxx]) - FTP session closed.
このIPはFTPテストサイトでテストしてもらった時のIPアドレスです。
<その他>
ファイルのアクセス権はもちろん変更済みです。(内部からは通常に使えるので。)
HTTPではきちんとアクセスできるのでDNSの問題ではないみたい・・・
私の知識不足が原因かもしれません。
何か気づいたことやこうしたらいいって思ったことがありましたら教えてください m(>_<)m
> ですがProftpでFTPサーバーを設定して、LAN内では問題なく動いたので、いざインターネット経由で接続してみたのですが、ユーザーの認証後ファイルが表示されず、ルーターにも接続できない状態になりました。またFTPテストサイトからも接続してみたのですが同じ状態になってしまいました。
>
> バージョン:Proftpd-1.2.9
> OS:FedraCore3
> FTPクライアント:FFFTP、IE
> <Proftpd設定ファイル>
> ServerType inetd
> MaxInstances 30
> MaxLoginAttempts 3
> DefaultRoot ~
> UseReverseDNS off
> IdentLookups off
> AllowForeignAddress on
> MasqueradeAddress グローバルIP
> #MasqueradeAddress 取得したドメイン名
> PassivePorts 4000 4001
> <Limit SITE_CHMOD>
> AllowGroup admin
> DenyAll
> </Limit>
> <Limit LOGIN>
> AllowGroup admin
> AllowGroup ftpuser
> Deny from all
> #Allow from all
> </Limit>
> <ルーターの設定>
> ポート20,21,4000,4001をサーバーのIPにアドレス変換しています
> ポート20,21,4000,4001のパケットを通過できるように設定しています。
> HTTP,SSHについても同様の設定です。
>
> <Proftpdのログ>
> [16/Sep/2005:09:24:47 +0900] : nobody (xxx.xxx.xxx.xxx [xxx.xxx.xxx.xxx]) : [331], -, USER (-)
> [16/Sep/2005:00:24:47 +0000] : ftpadm (xxx.xxx.xxx.xxx [xxx.xxx.xxx.xxx]) : [230], -, PASS (-)
> [16/Sep/2005:00:24:47 +0000] : ftpadm (xxx.xxx.xxx.xxx [xxx.xxx.xxx.xxx]) : [257], -, XPWD (-)
> [16/Sep/2005:00:24:47 +0000] : ftpadm (xxx.xxx.xxx.xxx [xxx.xxx.xxx.xxx]) : [200], -, TYPE (-)
> [16/Sep/2005:00:24:47 +0000] : ftpadm (xxx.xxx.xxx.xxx [xxx.xxx.xxx.xxx]) : [227], -, PASV (-)
> (これ以降止まってしまいます)
> <ログ/var/log/message>
> Sep 16 09:24:47 localhost proftpd[980]: localhost.localdomain (xxx.xxx.xxx.xxx[xxx.xxx.xxx.xxx]) - FTP session opened.
> Sep 16 09:29:46 localhost proftpd[980]: localhost.localdomain (xxx.xxx.xxx.xxx[xxx.xxx.xxx.xxx]) - FTP no transfer timeout, disconnected
> Sep 16 09:29:46 localhost proftpd[980]: localhost.localdomain (xxx.xxx.xxx.xxx[xxx.xxx.xxx.xxx]) - FTP session closed.
>
> このIPはFTPテストサイトでテストしてもらった時のIPアドレスです。
おやじのFTPテストでPASVモードの試験をすれば、原因はすぐわかると思います。因みにアドレスを消したログは、この手のネットワーク問題のときは役にたちません。
書かれている内容からすると発生している現象は、PASVモードでデータコネクションが張れない(おやじのテストならLISTで止まる)ということと思います。
直感ですが、PASV対応しているルータ(NECやCorega,OPTシリーズ等)を使用していて、MasqueradeAddressと PassivePortsの設定が逆に災いしている気がします。この設定をやめるとうまくいくのではないかと思いますが、いずれにしてもおやじのFTPテストのログを見れば一発でわかるはず
> おやじのFTPテストでPASVモードの試験をすれば、原因はすぐわかると思います。因みにアドレスを消したログは、この手のネットワーク問題のときは役にたちません。
> 直感ですが、PASV対応しているルータ(NECやCorega,OPTシリーズ等)を使用していて、MasqueradeAddressと PassivePortsの設定が逆に災いしている気がします。この設定をやめるとうまくいくのではないかと思いますが、いずれにしてもおやじのFTPテストのログを見れば一発でわかるはず
Masquerade〜とPassive〜の設定をコメントアウトして
早速、FTPのテストをしてみました。
おやじさんの言うとおり、LISTで止まってしまいました。
ホスト(219.22.8.25)のポート(21)に接続中です。(2005/09/16 21:35:01)
220 FTP server ready
↓
200 Type set to A
-->PASV
227 Entering Passive Mode (219,22,8,25,128,95)
-->LIST
というログです。IP出しちゃっていいのかな・・?(汗
> 書かれている内容からすると発生している現象は、PASVモードでデータコネクションが張れない(おやじのテストならLISTで止まる)ということと思います。
データコネクションが張れないというのは通信ができないということなのですか・・・?
PassivePortsでポートが指定できない場合どう設定してあげればいいのかな・・・?と思うのですが、すみません。教えてくださいm(>_<)m
> 書かれている内容からすると発生している現象は、PASVモードでデータコネクションが張れない(おやじのテストならLISTで止まる)ということと思います。
> 直感ですが、PASV対応しているルータ(NECやCorega,OPTシリーズ等)を使用していて、MasqueradeAddressと PassivePortsの設定が逆に災いしている気がします。この設定をやめるとうまくいくのではないかと思いますが、いずれにしてもおやじのFTPテストのログを見れば一発でわかるはず
MasqueradeAddressをコメントアウトして
PassivePortsのコメントを外したらFTPテストで正常にできました!
ありがとうございました!
Masquerade〜をコメントにしたらできたのは何でだろう・・・?
これについては自分で勉強します。
おやじさんいろいろなヒントありがとうございました! m(。_。)m
> > 書かれている内容からすると発生している現象は、PASVモードでデータコネクションが張れない(おやじのテストならLISTで止まる)ということと思います。
> > 直感ですが、PASV対応しているルータ(NECやCorega,OPTシリーズ等)を使用していて、MasqueradeAddressと PassivePortsの設定が逆に災いしている気がします。この設定をやめるとうまくいくのではないかと思いますが、いずれにしてもおやじのFTPテストのログを見れば一発でわかるはず
>
> MasqueradeAddressをコメントアウトして
> PassivePortsのコメントを外したらFTPテストで正常にできました!
> ありがとうございました!
> Masquerade〜をコメントにしたらできたのは何でだろう・・・?
> これについては自分で勉強します。
http://www.aconus.com/~oyaji/router/ftp.htm
をじっくり読めばわかると思います。BBR-4MGもFTPサーバのPASVモード問題に対応しているので、MasqueradeAddressを指定しなくてもアドレス変換してくれるが、ポートに関しては明示的にポートフォワーディングしてあげないと中継できないのかもしれません。フィルタが関連しているかもしれません。一般的には、アドレス変換すると同時にクライアントがアクセスしてくるであろうデータコネクションのポート番号はわかるので、そのままサーバにポートフォワーディングできるはずなので、PASV対応しているルータは上記の設定は2つとも不要と思うのですが、不完全なんですかね?
この機能を明示しているルータが少ないのと、設定が止められないので動きがおかしいとお手上げです。実機があればどうにでもなると思いますが、おやじの頭の中にはPassivePortsだけ指定すればうまくいくというロジック(そんなことしなくても、PASV対応しているなら自動的にやってくれるはずという頭でいるので・・。)はありませんので、ご自分でこのパターンを見つけられなかったら、結構時間がかかったかもしれません。