いつもお世話になっています。
fedoracore3にてバーチャルWEB,postfix,vsftpdにて設定し
お蔭様でweb,Mail,共に内部、外部からのアクセスは
できるようになりましたが、vsftpdだけ内部からはデータの送受信
はできますが外部からはまったく接続できません。
ルーターのポートはhttp://scan.sygatetech.com/ここでチェックした所、21番はOPENになっています。しかし20番はルーターでは
明けているのにCLOSEになっています。
ルーターのメーカーにも聞きテスト、設定した所ルーター上は20番は開いているとのことでした。
おやじさんのFTPTestした所エラー500がでて21番に接続できませんとでました。
ルーターの設定も見たところちゃんとサーバーIP(192.168.1.2)
と20,21,22,25,80,110ポートは繋がっています。
後、設定確認する所を教えて頂けますでしょうか?
以上、よろしくお願いします。
> いつもお世話になっています。
> fedoracore3にてバーチャルWEB,postfix,vsftpdにて設定し
> お蔭様でweb,Mail,共に内部、外部からのアクセスは
> できるようになりましたが、vsftpdだけ内部からはデータの送受信
> はできますが外部からはまったく接続できません。
> ルーターのポートはhttp://scan.sygatetech.com/ここでチェックした所、21番はOPENになっています。しかし20番はルーターでは
> 明けているのにCLOSEになっています。
> ルーターのメーカーにも聞きテスト、設定した所ルーター上は20番は開いているとのことでした。
> おやじさんのFTPTestした所エラー500がでて21番に接続できませんとでました。
> ルーターの設定も見たところちゃんとサーバーIP(192.168.1.2)
> と20,21,22,25,80,110ポートは繋がっています。
20番はサーバがActiveモードでデータコネクションをクライアントに繋ぎに行くときのソースポート番号なので、フィルタをあけたりポートマッピングしたりする代物ではなく、何もしなくても問題ありません。また、外部からポートスキャンしても前述の理由から絶対にopenにはなりません。20番をマッピンングしたりフィルタをあけたりしている設定がよく公開されていますが、全くおかしな話です。
本題は421エラーであり、前回mitsuさんが建てたスレの下にあるNo.4928と同様で、TCPWrapperが一番怪しいのではないでしょうか?後はiptables?
ありがとうございます。
20番ポートの件理解できました。
確かにTcpwrapperの設定でしてみず保さんの言うとおり
hosts.denyのvsftpd : ALL を削除すると接続はできました。
次にhosts.allowの設定でvsftpd : 192.168.1. 127.0.0.1
vsftpd : .mydomain.com : allow
vsftpd : .mydomain.net : allow
この段階では接続できます。
試しに、vsftpd : .mydomain.com : allowを削除しても
mydomain.com でユーザー&パスで接続できます。
この段階では全てを受け入れているように思えます。
vsftpd : .mydomain.com : allowをまた設定しなおし
次にhosts.denyでvsftpd : ALLとするとまた接続できなく
なってしまいます。
hosts.denyでvsftpd : ALLでは無理なのでしょうか?
> 確かにTcpwrapperの設定でしてみず保さんの言うとおり
> hosts.denyのvsftpd : ALL を削除すると接続はできました。
> 次にhosts.allowの設定でvsftpd : 192.168.1. 127.0.0.1
> vsftpd : .mydomain.com : allow
> vsftpd : .mydomain.net : allow
> この段階では接続できます。
> 試しに、vsftpd : .mydomain.com : allowを削除しても
> mydomain.com でユーザー&パスで接続できます。
> この段階では全てを受け入れているように思えます。
> vsftpd : .mydomain.com : allowをまた設定しなおし
> 次にhosts.denyでvsftpd : ALLとするとまた接続できなく
> なってしまいます。
> hosts.denyでvsftpd : ALLでは無理なのでしょうか?
tcpwrapperでググッテ少し勉強されたらどうでしょうか?
hosts.denyでvsftpd : ALLが書かれていない限り、hosts.allowに無関係に接続されます。
正確には、以下の順番で評価され、処理されます。
1. hosts.allowの条件にマッチしたら許可。
2. hosts.denyの条件にマッチしたら拒否。
3. 1,2に該当しなければ、許可。
実際はこの順番で評価されるだけなので、hosts.allowで最後に「vsftpd:ALL:deny」と書いてあれば、hosts.denyがなくても同じ動作になります。もうわかったと思いますが、2項がなければ、全て許可と同じことですよね。
で、チャント書いてあるじゃないかと思われるかもしれませんが、2点の問題があり、機能していないと思います。
1. 書式がおかしい。
「vsftpd : 192.168.1. 127.0.0.1」ではなく、「vsftpd : 192.168.1.,127.0.0.1」と、複数指定する場合はカンマで区切る。
2. ネットワーク名指定の場合はDNSで検索するので、内向きDNSがなければ、mydomainをかいても自分をWAN側のアドレスを牽くだけなので意味がない。
ありがとうございました。
>1. 書式がおかしい。
> 「vsftpd : 192.168.1. 127.0.0.1」ではなく、「vsftpd : 192.168.1.,127.0.0.1」と、複数指定する場合はカンマで区切る。
> 2. ネットワーク名指定の場合はDNSで検索するので、内向きDNSがなければ、mydomainをかいても自分をWAN側のアドレスを牽くだけなので意味がない。
1、は設定を追加しました。
2、は内向きDNSを立てていないため意味がなかったんですね。
おやじさんの情報をみなが内向きDNSをたてていこうと思います。
いつもながらお世話になりありがとうございました。