- - PR -
POPbeforeSMTPのsmtp-openファイルについて
1
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-03-04 14:06
初歩的な質問ですみません。
RedHat9で、qmail + vpopmailで メールサーバを構築しようとしていますが、 POPbeforeSMTPが動作していません。 telnet から、smtpのアクセスをすると、 pop認証されずに、送信が出来てしまいます。 pop認証すると、/home/vpopmail/etc/smtp-openに 認証したIPアドレスが書かれるとのことですが、 見つかりません。他のディレクトリにもありませんでした。 vpopmailインストール時に、 configure で --enable-roaming-users = y を設定しているのですが、 ファイルが作成されていません。 どのような原因が考えられますでしょうか? ご助言よろしくお願いいたします。 | ||||||||||||
|
投稿日時: 2006-03-04 18:48
とりあえず状況の整理しましょう。
導入したのは qmail tcpserver vpopmail でよろしいでしょうか? それぞれのバージョン(特にvpopmail)はいくつでしょうか? smtp-openファイルでしたっけ? open-smtpファイルでなかったっけか・・・ 手元に環境ないので確認できませんが。 本当はインストール手順まで聞きたいところですが、 pop認証自体されないという話しなので、起動スクリプトがおかしいのではないかなとおもいました。 起動スクリプトをユニークなところ(FQDNとかドメインとか)を置換した状態で教えてもらえますか? _________________ | ||||||||||||
|
投稿日時: 2006-03-04 19:48
kalze様
ご返答ありがとうございます。 情報が少なく申し訳ありませんでした。 以下に回答致します。
qmail -> 1.03 tcpserver -> 0.88 vpopmail -> 5.4.13 となります。
お恥ずかしい限り。 open-smtpでした・・・。
/usr/local/bin/tcpserver -H -R \ -x /home/vpopmail/etc/tcp.smtp.cdb -c 100 -u XXX -g XXX 0 \ smtp /var/qmail/bin/qmail-smtpd 2>&1 となります。 何卒よろしくお願いいたします。 | ||||||||||||
|
投稿日時: 2006-03-04 20:02
popのほうの起動スクリプトも知りたいので、
可能であれば、起動スクリプト全体を見せていただけるとありがたいです。 後は、tcp.smtpの内容と、テストしているクライアントマシンのIPアドレスでしょうか。 既にtcp.smtpにクライアントマシンのIPアドレスに関して許可する記述がしてある場合は、 認証に通っているので、POP認証をしていないというのであれば納得できるかも | ||||||||||||
|
投稿日時: 2006-03-04 21:29
popの起動スクリプトは以下です。 env - PATH="/var/qmail/bin:$PATH" \ /usr/local/bin/tcpserver -R -H -l mydomain -v 0 po3 \ /var/qmail/bin/qmail-popup \ mydomain /home/vpopmail/bin/vchkpw \ /var/qmail/bin/qmail-pop3d Mairdir 2>&!
tcp.smtpは、 127.0.0.1:allow.RELAYCLIENT="" 192.168.1.:allow.RELAYCLIENT="" :allow です。
もしかして、 tcp.smtpに記載されいてるIPアドレスからの送信は、 pop認証されないということですか?? それでしたら、私の勉強不足ですね・・・。 | ||||||||||||
|
投稿日時: 2006-03-04 22:32
えーっと、POP before SMTPはSMTP-AUTHと異なり、SMTP接続時に認証するわけではありません。
SMTP接続を許可するIPアドレスをtcp.smtp.cdbに記載しておく。 tcp.smtp.cdbに記載され許可されているIPアドレスからの接続かどうかをチェックし、そうであれば接続を許可して送信し、そうでなければ、要求を却下するという仕組みをSMTPに設ける。 また、POP認証が通ったときに、tcp.smtp.cdbにその認証の通った接続のIPアドレスを記載する。 という2つの仕組みからできています。 今回の場合、tcp.smtp.cdbに初めからテストを行っているクライアントのIPアドレスが記載されているのですから、POP認証でtcp.smtp.cdbを書き換える必要もなく、tcp.smtp.cdbに記載されているわけですから、普通に送信されます。 もし、tcp.smtp.cdbに「192.168.1.:allow.RELAYCLIENT="" 」がなくて、POP認証をしていなければ、tcp.smtp.cdbというホワイトリストに載っていないIPアドレスからの接続であるので、SMTPへの要求は却下されます(認証しようとするわけではありません)。 ご希望の、192.168.1.からの接続でもPOP before SMTPを必須としたいのであれば、 tcp.smtp.cdbから「192.168.1.:allow.RELAYCLIENT="" 」の行を削除し、 tcp.smtp.cdbを作り直してからテストしてください | ||||||||||||
|
投稿日時: 2006-03-05 06:45
大変良く解るご説明ありがとうございます。
おっしゃる通り、 tcp.smtp.cdbから「192.168.1.:allow.RELAYCLIENT="" 」の行を削除 したら、 POP認証されるようになりました。 私の勉強不足であり、お騒がせ致しました・・・。 この度はありがとうございました。 |
1