- PR -

qmail での POP Before SMTP が効かない

投稿者投稿内容
hap
会議室デビュー日: 2002/09/26
投稿数: 5
投稿日時: 2002-10-11 12:36
ども
ふと思ったんですけどrelay-ctrlの3.xだと
起動スクリプトのところで
relay-ctrl-check
が抜けてませんか?

間違ってたらごめんなさい。

一応、うちのサーバでのsmtpの方のスクリプトのっけておきます。

=======以下、smtp起動スクリプト========
/usr/local/bin/envdir /etc/relay-ctrl /usr/local/bin/relay-ctrl-chdir \
tcpserver -R -H -x /etc/tcp.smtp.cdb -v -u [qmaild's id] -g [nofiles' id] 0 smtp \
/usr/local/bin/relay-ctrl-check \
/var/qmail/bin/qmail-smtpd 2>&1 | /var/qmail/bin/splogger smtpd 3 &

[ メッセージ編集済み 編集者: hap 編集日時 2002-10-11 12:40 ]
QQ-
会議室デビュー日: 2001/12/29
投稿数: 18
投稿日時: 2002-10-11 14:07
アドバイスありがとうございます。経験があるv2.5を設置しています。
こちらのサイトの方法をほとんど参考にして設置しています。
過去に成功して現在も動作しているサーバの設定も見ながら、
記述は間違いないとは思っていますが… なぜリレーを中継してしまうのか…
久々に悩んでいます。
tabby
ベテラン
会議室デビュー日: 2002/06/26
投稿数: 55
お住まい・勤務地: 埼玉県・東京都
投稿日時: 2002-10-11 17:08
一つ確認したいのですが、

smtprulesというのはファイルを指定するもので、
ruleに":allow,RELAYCLIENT=''"書いておくものだと認識しています。

で、smtprulesで指定されているファイルの内容に
:allow,RELAYCLIENT=""
これが書いてあるとすると、全ての接続に対してRELAYを許可してしまうのでは
ないでしょうか?

仮に
rulesdir=/var/qmail/relay-ctrl
smtprules=tcp.smtp
smtpcdb=tcp.smtp.cdb
spooldir=/var/spool/relay-ctrl
rule=:allow,RELAYCLIENT=''
と設定されている場合、

/var/qmail/relay-ctrl/tcp.smtpの内容と
/var/spool/relay-ctrlにたまっているIPアドレス+=:allow,RELAYCLIENT=''
を処理して/var/qmail/relay-ctrl/tcp.smtp.cdbを作成するはずです。

というわけで、/var/qmail/relay-ctrl/tcp.smtpに該当するファイルを
確認してみてください。

基本的には以下のようになるはずです。

127.:allow,RELAYCLIENT='' ←ローカル
192.168.:allow,RELAYCLIENT='' ←プライベート
信用するIP:allow,RELAYCLIENT=''
:allow ←それ以外はRELAYしない
QQ-
会議室デビュー日: 2001/12/29
投稿数: 18
投稿日時: 2002-10-11 17:34
アドバイスありがとうございます。

# cat rule
:allow,RELAYCLIENT=""

確認したところ、そうなっていました。

# cat smtprules
tcp.smtp

# cat /var/qmail/relay-ctrl/tcp.smtp
:allow,RELAYCLIENT=""

tcp.smtpはruleの内容が自動的に書き込まれるんでしょうか?
というのは…
127.:allow,RELAYCLIENT='' ←ローカル
192.168.:allow,RELAYCLIENT='' ←プライベート
はどこに書いておくべきなんでしょうか?
信用するIPは自動的に付加されるとして、固定して設定しておくこれらは
どこから吐き出されるのかな、と混乱しています…(汗)
リモートサーバなので、ローカルでもプライベートからもメール送信することは
ないので、そうなれば設定する必要はないのかな、とも思っていますが。

この辺の設定に何か気がつかないミスがあるのか…
というところでしょうか。
tabby
ベテラン
会議室デビュー日: 2002/06/26
投稿数: 55
お住まい・勤務地: 埼玉県・東京都
投稿日時: 2002-10-11 18:32
固定して記述すべきルールは、このファイルに書いておきます。
/var/qmail/relay-ctrl/tcp.smtp

relay-ctrlはこのファイルの内容とpopで認証したIP+ruleの内容を元に
tcpruleでcdbファイルを作成します。

つまり、tcp.smtpに:allow,RELAYCLIENT=""を記述している場合、
つねにこれが設定されることになります。

ローカルもプライベートも必要ないようですので、
/var/qmail/relay-ctrl/tcp.smtpの内容には
:allow のみを記述すれば大丈夫です。

例:
tcp.smtpの内容
# cat /var/qmail/relay-ctrl/tcp.smtp
:allow

ruleの設定
# cat /etc/relay-ctrl/rule
:allow,RELAYCTRL=""

認証済みのIP(スプール)
192.168.0.1
192.168.0.2

cdbの元になるルール
192.168.0.1:allow,RELAYCTRL="" ← relay-ctrlで認証されたIP+ruleの内容
192.168.0.2:allow,RELAYCTRL="" ← relay-ctrlで認証されたIP+ruleの内容
:allow ← /var/qmail/relay-ctrl/tcp.smtpの内容(固定)
QQ-
会議室デビュー日: 2001/12/29
投稿数: 18
投稿日時: 2002-10-11 22:31
いろいろありがとうございます!!
その通りに設定し直してやってみましたが、やはり、認証前でも送信が出来てしまいました。
もうお手上げかなぁ… 設定が正しいと仮定して、それでもリレーが通ってしまう場合って
何か他に原因で推測できることって…
もう少しいろいろやってみて、駄目だったら固定制限で仕方なく運用ということに
したいと思います。
voyager
常連さん
会議室デビュー日: 2002/10/07
投稿数: 29
投稿日時: 2002-10-17 18:06
Voyager と申します.
終息に向かった本スレッドに横から失礼いたします.

私もQQ−さんと全く同じ現象にハマッてしまいました.

検証用の PC ですので,OS をインストールした直後に
『連載 実用qmailサーバ運用・管理術』に従って,昔に
あった CF のように“何も足さない,何も引かない”
ように設定を行ったのですが...

本来設定されているべきもの(当たり前と思われている
何か)の設定が不足しており,連載記事でもその部分は
“当たり前”ゆえに欠落している部分があるのかにゃ???

relay-ctrl は 3.1.1 ではなく連載に従い 2.5 にしました.

以上 独り言に近い投稿でした...
QQ-
会議室デビュー日: 2001/12/29
投稿数: 18
投稿日時: 2002-10-22 13:26
少し時間が経ちました。同じ症状で悩んでいる方がいたとは…
もし解決したら教えてください。

リレー許可を固定にしたら… それは外部からメールを受けられないことになることを
忘れていました。FTPとかなら固定設定でも問題ありませんが…

これはもうダメということで、メールだけ別サーバを用意して、DNSを書き換えて
メールはそちらへ配信、他(FTPやWWWなど)は現在のサーバに、ということは
出来ますよね? いつも、1つのサーバですべて行っていたので、確認です。

スキルアップ/キャリアアップ(JOB@IT)