- - PR -
qmailで外部から送ったメールが受信できません
投稿者 | 投稿内容 | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 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 する前は受信のログがありました) 外部への送信、内部からの受信に関しては問題ありません。 何かログが残れば判断しようもあるのですが、何の形跡もなく解決できずにおります。 何か情報・解決のための方法を御存知の方は、ご教示いただければと存じます。 | ||||||||||||||||||||||||||||
|
投稿日時: 2005-12-04 02:53
こんばんわ.
「何の形跡も無い」のであれば, まずその 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 08:03
ここはルーターで、通すポートに25,110(TCP)を指定してあります。
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 となっております。
これは、どのように確認をしたら良いのか分かりません。 恐れ入ります、ご教示いただけますでしょうか?
postfixは、サーバーインスト時に入ってしまったようです。 (VineLinuxをウィザードに従って特に何も選ばずインストール。) rpm -e で消しました。 NAT等の設定は(5台のサーバーが繋がっているのですが)、各サーバーともweb、ssh、ftpは通信が出来ますので問題ないと考えてよろしいでしょうか?
/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に変えてから、外部から来たときだけは無反応です。 | ||||||||||||||||||||||||||||
|
投稿日時: 2005-12-04 17:10
こんばんわ.
自分は qmail には詳しくありませんが, わかる範囲で書いています.
つまり router の外から pop3 で通信するのですね? 必要も無いのに,或いは良くわからないから「とりあえず開けている」 のではないのですよね? であれば 25/tcp だけではなく 110/tcp が開いていてもかまいませんが, 「とりあえず開けている」110/tcp なのであれば, 不用意に開けることで secure ではなくなるのは自明ですので念のため.
netstat で listen している port を確認できます.
それは Internet から通信できるのですよね?
とすると「外部から配信されていない」という判断で良いと思いますが, DNS の仕組みはどのように? 配信されるはずの仕組みとして, DNS は欠かせない要素だと思いますが,その辺は確認されていますか? ちなみに Internet 側からその host の 25/tcp に直接接続できますか? | ||||||||||||||||||||||||||||
|
投稿日時: 2005-12-04 18:58
そうですね。 ありがとうございます。 qmailの問題が解決次第、環境を見直して設定を修正することにいたします。
ありがとうございます。 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 の内容は前記の通りです。
はい。出来ております。
DNS(BIND)の設定は問題ないかと思います。 (http://www.dnsreport.com/)で確認 25/tcpへの接続ですが、telnetは通していないので(sshで接続)どのように接続するのかは分かりません。(勉強不足ですみません) もしかしたらlisten出来ていないのでしょうか? とするなら、どうしたらListen出来るのでしょうか? 自分としては起動方法・設定などに問題は見つけられないので、困っています。 | ||||||||||||||||||||||||||||
|
投稿日時: 2005-12-04 20:09
とりあえず qmail が 25/tcp を聴いていない以上, 外部から送りたくても送れない状態ですが, 内部 -> 内部は配信できるのですよね? もしかして qmail-inject でしか確認されていない? MUA から,つまり内部の remote host からちゃんと確認されることをお奨めします. でないと,「内部的には ok だけど外からは通信できない」場合の 判別がつかないでしょうから.
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 がどのようにお喋りしているかがわかります. 過去スレにもこの手の話は数多く残っているはずです.
上記の 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-05 08:29
おはようございます。
はい、qmail-injectのみの確認となっております。 とりあえず、内部に入ってtelnetの手順でやってみようかと思います。 (今から仕事なので、帰宅次第。)
ここが大きな問題のような気がします。 qmailで25/tcpを聞いていないときに聞かせるにはどこをどのように変更すればよいのでしょうか? あるいはどこを疑ったら良いのでしょうか? これが分からないと、送受信の状況が分かっても最終的には直せないような気がします。 お願い申し上げます。 | ||||||||||||||||||||||||||||
|
投稿日時: 2005-12-05 09:34
おはようございます.
前述どおり,自分は qmail のことは良くわかりませんので, 詳しくは他の有識者にお願いするとして.
/var/qmail/rc が「起動 script」のようですが, これはどのように実行されているのでしょうか? 先に挙げた link の事例では /etc/rc.d/init.d/qmail を作って そこから起動させているようですが, /var/qmail/rc は毎回手動で kick しています? それとも /etc/rc.local などに記述されているとか? 他にも先に挙げた link で inetd を利用するような記述が見受けられますが, その辺はどうなんでしょう? お気づきのとおり,qmail であれなんであれ, 25/tcp を聴いている program がないと受信はできないでしょうね. |