- PR -

qmailで外部から送ったメールが受信できません

投稿者投稿内容
未記入
常連さん
会議室デビュー日: 2005/12/04
投稿数: 26
投稿日時: 2005-12-04 01:50
恐れ入ります。
qmailの設定方法が分からず、悩んでおります。
具体的には表題の通り、外部から送ったメールが受信できず。
/var/log/maillog にも /home/[ユーザー名]/Maildir/new にも何の形跡も残りません。
内部から
echo To: [ユーザー名] | /var/qmail/bin/qmail-inject
とした場合には、Maildir/newにファイルが入ります。

また、/var/qmail/rcファイルは

=========================================
!/bin/sh

# Using splogger to send the log through syslog.
# Using qmail-local to deliver messages to ~/Mailbox by default.

exec env - PATH="/var/qmail/bin:$PATH" \\
qmail-start ./Maildir/ splogger qmail

/usr/local/bin/tcpserver -x /etc/tcp.pop3.cdb -v 0 110 /var/qmail/bin/qmail-popup [ホスト名].[ドメイン名] /
bin/checkpassword /var/qmail/bin/qmail-pop3d Maildir 2>&1 | /var/qmail/bin/splogger pop3d 3 &

/usr/local/bin/tcpserver -R -H -x /etc/tcp.smtp.cdb -v -u 503 -g 502 0 smtp /var/qmail/bin/qmail-sm
tpd 2>&1 | /var/qmail/bin/splogger smtpd 3 &
=== 以上rcファイル =================================
※chekcpasswordインスト済み
と、なっております。
tcpserverはインストールしており。*.cdb ファイルはPOP,SMTPとも":allow"のみを記述しております。


その他、/etc/profile は
========================================
MAIL="$HOME/Maildir"
MAILDROP="$HOME/Maildir" <-追加
export MAIL MAILDROP <-追加
========================================
と変更しました。

ルーターに関しては25,110とも通してあります。
(postfixが入っていたらしく、rpm -e する前は受信のログがありました)
外部への送信、内部からの受信に関しては問題ありません。

何かログが残れば判断しようもあるのですが、何の形跡もなく解決できずにおります。
何か情報・解決のための方法を御存知の方は、ご教示いただければと存じます。
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2005-12-04 02:53
こんばんわ.
引用:

未記入さんの書き込み (2005-12-04 01:50) より:

ルーターに関しては25,110とも通してあります。
(postfixが入っていたらしく、rpm -e する前は受信のログがありました)
外部への送信、内部からの受信に関しては問題ありません。

何かログが残れば判断しようもあるのですが、何の形跡もなく解決できずにおります。
何か情報・解決のための方法を御存知の方は、ご教示いただければと存じます。


「何の形跡も無い」のであれば,
まずその host が e_mail を受け取れる状態がを確認することをお奨めします.
ちなみに router ではなぜ 110/tcp を通しているのですか?
外部から pop3 で通信する予定がある?
そこは qmail で受信できないことと全く関係ありません.

qmail は正常に動いていますか?
その host の 25/tcp はちゃんと qmail に listen されていますか?
postfix が「入ったいた」とは,それまでどのように稼動していたのでしょう?
router 経由で Internet から通信が発生するようですが,
※その辺の環境がわからないので単なる推測になります.
NAT などの設定は正常ですか?
内部 -> 外部の配信ができるとしても,
それがそのまま外部 -> 内部の配信ができるとは限りません.
例えば router で NAPT しているようなら,
その host は内部 -> 外部は通信できても外部 -> 内部は通信できません.
そのような場合は静的に NAT する必要があります.
netfilter の設定は問題ありませんか?
念のためですが,配信できる際の maillog はちゃんと記述されますよね?
未記入
常連さん
会議室デビュー日: 2005/12/04
投稿数: 26
投稿日時: 2005-12-04 08:03
引用:

ちなみに router ではなぜ 110/tcp を通しているのですか?
外部から pop3 で通信する予定がある?
そこは qmail で受信できないことと全く関係ありません.


ここはルーターで、通すポートに25,110(TCP)を指定してあります。

引用:

qmail は正常に動いていますか?


ps -ax | grep qmail
をしたところ。
18424 pts/1 S 0:00 qmail-send
18425 pts/1 S 0:00 splogger qmail
18426 pts/1 S 0:00 qmail-lspawn ./Maildir/
18427 pts/1 S 0:00 qmail-rspawn
18428 pts/1 S 0:00 qmail-clean
となっております。

引用:

その host の 25/tcp はちゃんと qmail に listen されていますか?


これは、どのように確認をしたら良いのか分かりません。
恐れ入ります、ご教示いただけますでしょうか?

引用:

postfix が「入ったいた」とは,それまでどのように稼動していたのでしょう?
router 経由で Internet から通信が発生するようですが,
※その辺の環境がわからないので単なる推測になります.
NAT などの設定は正常ですか?
内部 -> 外部の配信ができるとしても,
それがそのまま外部 -> 内部の配信ができるとは限りません.
例えば router で NAPT しているようなら,
その host は内部 -> 外部は通信できても外部 -> 内部は通信できません.
そのような場合は静的に NAT する必要があります.
netfilter の設定は問題ありませんか?


postfixは、サーバーインスト時に入ってしまったようです。
(VineLinuxをウィザードに従って特に何も選ばずインストール。)
rpm -e で消しました。
NAT等の設定は(5台のサーバーが繋がっているのですが)、各サーバーともweb、ssh、ftpは通信が出来ますので問題ないと考えてよろしいでしょうか?

引用:

念のためですが,配信できる際の maillog はちゃんと記述されますよね?


/var/log/maillogの中身です
maillogの起動時
【ログ】
Dec 4 07:34:19 hd qmail: 1133649259.050363 status: local 0/10 remote 0/20

内部から送信時
【コマンド】
echo To: [ユーザー名] | /var/qmail/bin/qmail-inject
【ログ】
Dec 4 07:54:40 hd qmail: 1133650480.387574 new msg 27115540
Dec 4 07:54:40 hd qmail: 1133650480.387734 info msg 27115540: bytes 211 from <maebashi@hd.h-gazou.t
o> qp 18945 uid 0
Dec 4 07:54:40 hd qmail: 1133650480.448966 starting delivery 1: msg 27115540 to local [ユーザー名]@[ホスト名].[ドメイン名]
Dec 4 07:54:40 hd qmail: 1133650480.448996 status: local 1/10 remote 0/20
Dec 4 07:54:40 hd qmail: 1133650480.623385 delivery 1: success: did_1+0+0/
Dec 4 07:54:40 hd qmail: 1133650480.623421 status: local 0/10 remote 0/20
Dec 4 07:54:40 hd qmail: 1133650480.623431 end msg 27115540

外部からメール送信時
反応無し

内部から外部へ送信時
【コマンド】
echo To: [外部のメールアドレス] | /var/qmail/bin/qmail-inject

【ログ】
ec 4 07:54:40 hd qmail: 1133650480.623421 status: local 0/10 remote 0/20
Dec 4 07:54:40 hd qmail: 1133650480.623431 end msg 27115540
Dec 4 07:58:25 hd qmail: 1133650705.441331 new msg 27115540
Dec 4 07:58:25 hd qmail: 1133650705.441368 info msg 27115540: bytes 212 from <[ユーザー名]@[ホスト名].[ドメイン名]> qp 18952 uid 0
Dec 4 07:58:25 hd qmail: 1133650705.627575 starting delivery 2: msg 27115540 to remote [外部のメールアドレス]
Dec 4 07:58:25 hd qmail: 1133650705.627607 status: local 0/10 remote 1/20
Dec 4 07:58:25 hd qmail: 1133650705.997454 delivery 2: success: 61.211.192.50_accepted_message./Rem
ote_host_said:_250_Ok:_queued_as_8C5B41E6DF5/
Dec 4 07:58:25 hd qmail: 1133650705.997490 status: local 0/10 remote 0/20
Dec 4 07:58:25 hd qmail: 1133650705.997499 end msg 27115540

というような形になっております。
qmailに変えてから、外部から来たときだけは無反応です。
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2005-12-04 17:10
こんばんわ.

自分は qmail には詳しくありませんが,
わかる範囲で書いています.
引用:

未記入さんの書き込み (2005-12-04 08:03) より:

ここはルーターで、通すポートに25,110(TCP)を指定してあります。


つまり router の外から pop3 で通信するのですね?
必要も無いのに,或いは良くわからないから「とりあえず開けている」
のではないのですよね?
であれば 25/tcp だけではなく 110/tcp が開いていてもかまいませんが,
「とりあえず開けている」110/tcp なのであれば,
不用意に開けることで secure ではなくなるのは自明ですので念のため.
引用:

引用:

その host の 25/tcp はちゃんと qmail に listen されていますか?


これは、どのように確認をしたら良いのか分かりません。
恐れ入ります、ご教示いただけますでしょうか?


netstat で listen している port を確認できます.
引用:

NAT等の設定は(5台のサーバーが繋がっているのですが)、各サーバーともweb、ssh、ftpは通信が出来ますので問題ないと考えてよろしいでしょうか?


それは Internet から通信できるのですよね?
引用:

qmailに変えてから、外部から来たときだけは無反応です。


とすると「外部から配信されていない」という判断で良いと思いますが,
DNS の仕組みはどのように?
配信されるはずの仕組みとして,
DNS は欠かせない要素だと思いますが,その辺は確認されていますか?
ちなみに Internet 側からその host の 25/tcp に直接接続できますか?
未記入
常連さん
会議室デビュー日: 2005/12/04
投稿数: 26
投稿日時: 2005-12-04 18:58
引用:

つまり router の外から pop3 で通信するのですね?
必要も無いのに,或いは良くわからないから「とりあえず開けている」
のではないのですよね?
であれば 25/tcp だけではなく 110/tcp が開いていてもかまいませんが,
「とりあえず開けている」110/tcp なのであれば,
不用意に開けることで secure ではなくなるのは自明ですので念のため.


そうですね。
ありがとうございます。
qmailの問題が解決次第、環境を見直して設定を修正することにいたします。


引用:

これは、どのように確認をしたら良いのか分かりません。
恐れ入ります、ご教示いただけますでしょうか?


引用:

netstat で listen している port を確認できます.


ありがとうございます。
netstat -l
と、やってみたところ。

稼働中のインターネット接続 (サーバーのみ)
Proto 受信-Q 送信-Q 内部アドレス 外部アドレス 状態
tcp 0 0 *:32768 *:* LISTEN
tcp 0 0 *:32769 *:* LISTEN
tcp 0 0 *:nfs *:* LISTEN
tcp 0 0 *:32770 *:* LISTEN
tcp 0 0 *:sunrpc *:* LISTEN
tcp 0 0 *:http *:* LISTEN
tcp 0 0 hd:913 *:* LISTEN
tcp 0 0 *:ftp *:* LISTEN
tcp 0 0 *:ssh *:* LISTEN
tcp 0 0 *:631 *:* LISTEN
tcp 0 0 hd:postgres *:* LISTEN
tcp 0 0 *:793 *:* LISTEN
udp 0 0 *:32768 *:*
udp 0 0 *:nfs *:*
udp 0 0 *:32770 *:*
udp 0 0 *:32771 *:*
udp 0 0 *:790 *:*
udp 0 0 *:931 *:*
udp 0 0 *:sunrpc *:*
udp 0 0 *:631 *:*
稼働中のUNIXドメインソケット (サーバーのみ)
Proto RefCnt フラグ タイプ 状態 Iノード パス
unix 2 [ ACC ] STREAM LISTENING 2143 /tmp/.gdm_socket
unix 2 [ ACC ] STREAM LISTENING 1215 /var/run/acpid.socket
unix 2 [ ACC ] STREAM LISTENING 2006 /tmp/.font-unix/fs7100
unix 2 [ ACC ] STREAM LISTENING 2258 /tmp/.s.PGSQL.5432
unix 2 [ ACC ] STREAM LISTENING 2155 /tmp/.X11-unix/X0
unix 2 [ ACC ] STREAM LISTENING 2022 /tmp/.iroha_unix/IROHA

と、なっておりました。
(mail系は見あたらない!?)
しかし、起動状況は
ps -ax | grep qmail
18424 ? S 0:00 qmail-send
18425 ? S 0:00 splogger qmail
18426 ? S 0:00 qmail-lspawn ./Maildir/
18427 ? S 0:00 qmail-rspawn
18428 ? S 0:00 qmail-clean
となっております。(作動している?)
また、/var/qmail/rc の内容は前記の通りです。


引用:

NAT等の設定は(5台のサーバーが繋がっているのですが)、各サーバーともweb、ssh、ftpは通信が出来ますので問題ないと考えてよろしいでしょうか?


引用:

それは Internet から通信できるのですよね?


はい。出来ております。


引用:

引用:

qmailに変えてから、外部から来たときだけは無反応です。


とすると「外部から配信されていない」という判断で良いと思いますが,
DNS の仕組みはどのように?
配信されるはずの仕組みとして,
DNS は欠かせない要素だと思いますが,その辺は確認されていますか?
ちなみに Internet 側からその host の 25/tcp に直接接続できますか?


DNS(BIND)の設定は問題ないかと思います。
(http://www.dnsreport.com/)で確認
25/tcpへの接続ですが、telnetは通していないので(sshで接続)どのように接続するのかは分かりません。(勉強不足ですみません)

もしかしたらlisten出来ていないのでしょうか?
とするなら、どうしたらListen出来るのでしょうか?
自分としては起動方法・設定などに問題は見つけられないので、困っています。
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2005-12-04 20:09
引用:

未記入さんの書き込み (2005-12-04 18:58) より:

netstat -l
と、やってみたところ。
〜snip〜
と、なっておりました。
(mail系は見あたらない!?)


とりあえず qmail が 25/tcp を聴いていない以上,
外部から送りたくても送れない状態ですが,
内部 -> 内部は配信できるのですよね?
もしかして qmail-inject でしか確認されていない?
MUA から,つまり内部の remote host からちゃんと確認されることをお奨めします.
でないと,「内部的には ok だけど外からは通信できない」場合の
判別がつかないでしょうから.
引用:

25/tcpへの接続ですが、telnetは通していないので(sshで接続)どのように接続するのかは分かりません。(勉強不足ですみません)


telnet hostname 25
とやると,telnet client は hostname の MTA と喋ってくれます.
hostname のところは IP address でも同様です.
適切に設定されていれば 25 のところは smtp でもいけます.
詳しくはこの辺で qmail での事例がありました.
http://www.atmarkit.co.jp/flinux/rensai/qmail04/qmail04d.html
これを覚えると,telnet でも e_mail を送ることができますし,
MUA と MTA がどのようにお喋りしているかがわかります.
過去スレにもこの手の話は数多く残っているはずです.
引用:

もしかしたらlisten出来ていないのでしょうか?
とするなら、どうしたらListen出来るのでしょうか?
自分としては起動方法・設定などに問題は見つけられないので、困っています。


上記の link の連載でやはり qmail の導入に関する情報があります.
http://www.atmarkit.co.jp/flinux/rensai/qmail01/qmail01a.html
自分は qmail を使わないので良くわかりませんが,
少なくともその host は smtp の通信を受けつけてはいないようです.
つまり listen していないので外部からはおろか,
内部 network からも転送要求を送ることはできないと思います.
「内部からは送ることができる」のが qmail-inject だけであれば,
確認の方法を「remote host からやる」か,
telnet などで lo 経由でやるなどの方法を追加しましょう.
qmail-inject でやる方法は「qmail の設定が正しいか?」を確認できても,
「host が relay できる状態か?」は確認できないのではないかと.

以上,ご参考までに.
未記入
常連さん
会議室デビュー日: 2005/12/04
投稿数: 26
投稿日時: 2005-12-05 08:29
おはようございます。

はい、qmail-injectのみの確認となっております。
とりあえず、内部に入ってtelnetの手順でやってみようかと思います。
(今から仕事なので、帰宅次第。)

引用:

とりあえず qmail が 25/tcp を聴いていない以上,


ここが大きな問題のような気がします。
qmailで25/tcpを聞いていないときに聞かせるにはどこをどのように変更すればよいのでしょうか?
あるいはどこを疑ったら良いのでしょうか?

これが分からないと、送受信の状況が分かっても最終的には直せないような気がします。
お願い申し上げます。
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2005-12-05 09:34
おはようございます.

前述どおり,自分は qmail のことは良くわかりませんので,
詳しくは他の有識者にお願いするとして.
引用:

未記入さんの書き込み (2005-12-05 08:29) より:

引用:

とりあえず qmail が 25/tcp を聴いていない以上,


ここが大きな問題のような気がします。
qmailで25/tcpを聞いていないときに聞かせるにはどこをどのように変更すればよいのでしょうか?
あるいはどこを疑ったら良いのでしょうか?


/var/qmail/rc が「起動 script」のようですが,
これはどのように実行されているのでしょうか?
先に挙げた link の事例では /etc/rc.d/init.d/qmail を作って
そこから起動させているようですが,
/var/qmail/rc は毎回手動で kick しています?
それとも /etc/rc.local などに記述されているとか?
他にも先に挙げた link で inetd を利用するような記述が見受けられますが,
その辺はどうなんでしょう?

お気づきのとおり,qmail であれなんであれ,
25/tcp を聴いている program がないと受信はできないでしょうね.

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