- PR -

qmail+vpopmail で受信ができません。

投稿者投稿内容
RUHAKO
常連さん
会議室デビュー日: 2004/12/11
投稿数: 38
投稿日時: 2004-12-11 06:00
初めまして、いつも掲示板を読ませて頂いております。
当方初心者ですが、今回事情によりmailサーバーの構築をすることになり
qmail+vpopmailを使用しメールサーバーの構築に踏み切りました。

インスト、設定はWeb等の資料を参考にして、
終えることが出来たのですが、
設置したメールサーバを通して、メールを送信することは出来るのですが
まったく受信することが出来ずに困っております。

telnetで接続した場合でも、クライアントソフトのメーラーから操作した場合でも
同じように、送信は出来るのですが、受信が出来ないという状態になっています。
/homeディレクトリはすべてのユーザーが読むことができるように
chmodで設定してありますし、
/home/vpopmail/domains/domain.jp/user/Maildir/new
のディレクトリには、受信したメールが正しく溜まっております。
しかし、クライアントソフト(telnet)にて受信すると
新着0通という内容が帰ってきて、受信ができません。

現在使用ドメインは一つですが、バーチャルドメインとして設定を行っております。
しかし将来的に、あと一つドメインが増える予定になっております。

私は熟練者ではない為、みなさまにどの情報を掲示してよいのか
わかりません、切り分けに必要な情報がありましたら
内容を掲示いたしますので、よろしくお願いいたします。

以下、わかる範囲で、現在の環境を書かせていただきます。

◆インストールしてあるメール関連モジュール
・qmail-1.03
・checkpassword-0.90
・ucspi-tcp-0.88
・vpopmail-5.4.0
・daemontools-0.76

◆ps ax
# ps ax|grep qmail
142 ? S 0:00 supervise qmail
154 ? S 0:00 qmail-send
158 ? S 0:00 qmail-lspawn ./Maildir/
159 ? S 0:00 qmail-rspawn
160 ? S 0:00 qmail-clean
13235 ttyp0 S 0:00 grep qmail

# ps ax
PID TTY STAT TIME COMMAND
1 ? S 0:05 init
2 ? SW 0:00 [keventd]
3 ? SWN 0:01 [ksoftirqd_CPU0]
4 ? SW 0:00 [kswapd]
5 ? SW 0:00 [bdflush]
6 ? SW 0:00 [kupdated]
8 ? SW 0:00 [khubd]
62 ? S 0:00 /usr/sbin/inetd
65 ? S 0:00 /usr/sbin/httpd
68 ? S 0:00 /usr/sbin/pshd
70 ? S 0:00 /usr/sbin/httpd
71 ? S 0:00 /usr/sbin/httpd
72 ? S 0:00 /usr/sbin/httpd
73 ? S 0:00 /usr/sbin/httpd
74 ? S 0:00 /usr/sbin/httpd
75 ? S 0:00 /usr/sbin/dhcpd eth0
78 ? S 0:00 /usr/sbin/runled
80 ? S 0:00 /sbin/syslogd
82 ? S 0:02 /usr/sbin/sshd
85 ? S 0:00 /usr/sbin/crond
88 ? SW 0:00 [eth1]
95 ? S 0:00 dhclient eth1
126 ? S 0:00 named -c /etc/named.conf
132 ? S 7:43 /usr/bin/snort -Dd -i eth1 -c /etc/snort/snort.conf -
136 ? SL 0:04 /usr/bin/ntpd
138 ttyS0 S 0:00 /sbin/mingetty ttyS0
139 ttyS1 S 0:00 /sbin/mingetty ttyS1
140 ? S 0:00 svscan /service
142 ? S 0:00 supervise qmail
143 ? S 0:00 supervise log
144 ? S 0:00 supervise smtpd
145 ? S 0:00 supervise log
146 ? S 0:00 supervise telnetd
147 ? S 0:00 supervise log
148 ? S 0:00 multilog t ./main -* status: * -* starting delivery *
149 ? S 0:00 supervise pop3d
150 ? S 0:00 supervise log
153 ? S 0:00 multilog t ./main -* +* * status: * =status
154 ? S 0:00 qmail-send
155 ? S 0:00 tcpserver -R -H -l0 -v -x ./tcp.smtp.cdb -u 505 -g 50
156 ? S 0:00 tcpserver -l0 -R -H -v -c 3 -x ./tcp.telnet.cdb 0 tel
157 ? S 0:00 multilog t ./main -* +* * status: * =status
158 ? S 0:00 qmail-lspawn ./Maildir/
159 ? S 0:00 qmail-rspawn
160 ? S 0:00 qmail-clean
392 ? S 0:01 /usr/sbin/sshd
402 ttyp0 S 0:00 -bash
7608 ? S 0:00 /usr/sbin/httpd
11999 ttyp0 S 0:00 -bash
13364 ? Z 0:00 [tcpserver <defunct>]
13365 ? Z 0:00 [multilog <defunct>]
13366 ttyp0 R 0:00 ps ax

◆/var/log/maillog
# tail /var/log/maillog
Dec 11 05:43:38 LinuxServer ipop3d[14578]: connect from server
Dec 11 05:43:38 LinuxServer ipop3d[14578]: port 110 service init from xxx.xxx.xxx.xxx
Dec 11 05:43:38 LinuxServer ipop3d[14578]: Login user=user host=server [xxx.xxx.xxx.xxx] nmsgs=0/0
Dec 11 05:43:38 LinuxServer ipop3d[14578]: Logout user=user host=server [xxx.xxx.xxx.xxx] nmsgs=0 ndele=0

(クライアントよりメールを送信しても/var/log/maillogには、何のmessageも出ません
しかし、受信を試みた場合(受信できませんが)のみ、上記のmessageが記されます。
※送受信をしても/var/log/messagesには、何も記されません。


◆iptables
iptablesには、ポリシーとして、基本的に送受信は可能。forwardは不可になっており、
ACCEPT tcp -- anywhere anywhere tcp dpt:pop-3
ACCEPT tcp -- anywhere anywhere tcp dpt:smtp
として、popとsmtp用にフィルターが追加してあります。

◆netstat
# netstat -a
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 *:login *:* LISTEN
tcp 0 0 *:shell *:* LISTEN
tcp 0 0 *:Pop-3 *:* LISTEN
tcp 0 0 *:www *:* LISTEN
tcp 0 0 *:880 *:* LISTEN
tcp 0 0 LinuxServer.loca:domain *:* LISTEN
tcp 0 0 xxx.xxx.xxx.xxx:domain *:* LISTEN
tcp 0 0 localhost:domain *:* LISTEN
tcp 0 0 *:ftp *:* LISTEN
tcp 0 0 *:ssh *:* LISTEN
tcp 0 0 *:telnet *:* LISTEN
tcp 0 0 *:smtp *:* LISTEN
tcp 0 0 localhost:953 *:* LISTEN
tcp 0 0 LinuxServer.localdo:ssh server:3106 ESTABLISHED
udp 0 0 *:1024 *:*
udp 0 0 LinuxServer.loca:domain *:*
udp 0 0 xxx.xxx.xxx.xxx:domain *:*
udp 0 0 localhost:domain *:*
udp 0 0 *:bootps *:*
udp 0 0 *:bootpc *:*
udp 0 0 LinuxServer.localdo:ntp *:*
udp 0 0 xxx.xxx.xxx.xxx:ntp *:*
udp 0 0 localhost:ntp *:*
udp 0 0 *:ntp *:*
raw 0 0 *:icmp *:* 7
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ACC ] STREAM LISTENING 72 /dev/log
unix 3 [ ] STREAM CONNECTED 267 /dev/log
unix 3 [ ] STREAM CONNECTED 266
unix 3 [ ] STREAM CONNECTED 165 /dev/log
unix 3 [ ] STREAM CONNECTED 164
unix 3 [ ] STREAM CONNECTED 161 /dev/log
unix 3 [ ] STREAM CONNECTED 160
unix 3 [ ] STREAM CONNECTED 128 /dev/log
unix 3 [ ] STREAM CONNECTED 127
unix 3 [ ] STREAM CONNECTED 84 /dev/log
unix 3 [ ] STREAM CONNECTED 83

◆主な参考web url
http://www.daiwakantei.co.jp/pc/qmail-vpopmail.html

以上になりますが、他に何か必要な情報があれば、お伝えいたします。
現在非常に切羽詰まった状況で、大変困っておりますので
どなたかアドバイス頂けないでしょうか、よろしくお願いいたします。





[ メッセージ編集済み 編集者: RUHAKO 編集日時 2004-12-11 06:08 ]

[ メッセージ編集済み 編集者: RUHAKO 編集日時 2004-12-11 06:09 ]
zatsu
会議室デビュー日: 2004/12/11
投稿数: 1
投稿日時: 2004-12-11 08:56
> 13364 ? Z 0:00 [tcpserver <defunct>]
> 13365 ? Z 0:00 [multilog <defunct>]

なにかが起動に失敗しているように見えますね。
$ ps axf
を実行すると、どれが起動失敗しているのかわかるかも知れません。

ありがちなのが、起動スクリプトの記述ミスですかねぇ。
anights
ぬし
会議室デビュー日: 2003/05/22
投稿数: 277
お住まい・勤務地: 東京
投稿日時: 2004-12-11 09:13
supervise pop3d があがらないんでしょう。
/var/log/maillog見るとipop3dがログはいているみたいだし。

redhat系なら/etc/xinetd.d/ipop3の中を
disable = yes とするか、ntsysv か、chkconfig あたりを使って
ipop3を無効にしましょう。LinuxServerとあるのでLinux想定ですが。

その上で、
# service xinetd restart
で反映。
この辺、決めうちで書いているのでOS違えばまるで違いますよ。あしからず。

110番ポートが解放されれば、superviseが勝手にあげてくれるはずです。
daemontools使うなら
# svstat /service/* /service/*/log でステータス確認出来ますよ。

あとはnetstatコマンドは、(最近のは)-pオプションでポートを
どのプログラムがlistenしてるか分かりますのでその方が分かりやすいかな。

[追記]
あとログはmultilog呼び出しているスクリプトがあるディレクトリ配下の
./main/currentにでるんですが。。。tai64nlocalコマンドも使わないと。。。

[ メッセージ編集済み 編集者: anights 編集日時 2004-12-11 09:17 ]
RUHAKO
常連さん
会議室デビュー日: 2004/12/11
投稿数: 38
投稿日時: 2004-12-11 09:25
早速ありがとうございます、、

早速以下のコマンドを試してみたところ

# ps axf
PID TTY STAT TIME COMMAND
6 ? SW 0:00 [kupdated]
5 ? SW 0:00 [bdflush]
4 ? SW 0:00 [kswapd]
3 ? SWN 0:02 [ksoftirqd_CPU0]
1 ? S 0:05 init
2 ? SW 0:00 [keventd]
8 ? SW 0:00 [khubd]
62 ? S 0:00 /usr/sbin/inetd
65 ? S 0:00 /usr/sbin/httpd
70 ? S 0:00 \_ /usr/sbin/httpd
71 ? S 0:00 \_ /usr/sbin/httpd
72 ? S 0:00 \_ /usr/sbin/httpd
73 ? S 0:00 \_ /usr/sbin/httpd
74 ? S 0:00 \_ /usr/sbin/httpd
7608 ? S 0:00 \_ /usr/sbin/httpd
26902 ? S 0:00 \_ /usr/sbin/httpd
68 ? S 0:00 /usr/sbin/pshd
75 ? S 0:00 /usr/sbin/dhcpd eth0
78 ? S 0:00 /usr/sbin/runled
80 ? S 0:00 /sbin/syslogd
82 ? S 0:02 /usr/sbin/sshd
392 ? S 0:01 \_ /usr/sbin/sshd
402 ttyp0 S 0:00 \_ -bash
11999 ttyp0 S 0:00 \_ -bash
6657 ttyp0 R 0:00 \_ ps axf
85 ? S 0:00 /usr/sbin/crond
88 ? SW 0:00 [eth1]
95 ? S 0:00 dhclient eth1
126 ? S 0:02 named -c /etc/named.conf
132 ? S 24:28 /usr/bin/snort -Dd -i eth1 -c /etc/snort/snort.conf -
136 ? SL 0:15 /usr/bin/ntpd
138 ttyS0 S 0:00 /sbin/mingetty ttyS0
139 ttyS1 S 0:00 /sbin/mingetty ttyS1
140 ? S 0:00 svscan /service
142 ? S 0:00 \_ supervise qmail
154 ? S 0:00 | \_ qmail-send
158 ? S 0:00 | \_ qmail-lspawn ./Maildir/
159 ? S 0:00 | \_ qmail-rspawn
160 ? S 0:00 | \_ qmail-clean
143 ? S 0:00 \_ supervise log
148 ? S 0:00 | \_ multilog t ./main -* status: * -* starting de
144 ? S 0:00 \_ supervise smtpd
155 ? S 0:00 | \_ tcpserver -R -H -l0 -v -x ./tcp.smtp.cdb -u 5
19476 ? S 0:00 | \_ tcpserver -R -H -l0 -v -x ./tcp.smtp.cdb
20110 ? S 0:00 | \_ tcpserver -R -H -l0 -v -x ./tcp.smtp.cdb
21807 ? S 0:00 | \_ tcpserver -R -H -l0 -v -x ./tcp.smtp.cdb
145 ? S 0:00 \_ supervise log
6658 ? Z 0:00 | \_ [multilog <defunct>]
146 ? S 0:00 \_ supervise telnetd
156 ? S 0:00 | \_ tcpserver -l0 -R -H -v -c 3 -x ./tcp.telnet.c
147 ? S 0:00 \_ supervise log
157 ? S 0:00 | \_ multilog t ./main -* +* * status: * =status
149 ? S 0:00 \_ supervise pop3d
6656 ? Z 0:00 | \_ [tcpserver <defunct>]
150 ? S 0:00 \_ supervise log
153 ? S 0:01 \_ multilog t ./main -* +* * status: * =status

という内容が返ってきました。
これによると、svscanによって、
140 ? S 0:00 svscan /service
142 ? S 0:00 \_ supervise qmail
154 ? S 0:00 | \_ qmail-send
158 ? S 0:00 | \_ qmail-lspawn ./Maildir/
159 ? S 0:00 | \_ qmail-rspawn
160 ? S 0:00 | \_ qmail-clean
143 ? S 0:00 \_ supervise log
148 ? S 0:00 | \_ multilog t ./main -* status: * -* starting de
144 ? S 0:00 \_ supervise smtpd
155 ? S 0:00 | \_ tcpserver -R -H -l0 -v -x ./tcp.smtp.cdb -u 5
19476 ? S 0:00 | \_ tcpserver -R -H -l0 -v -x ./tcp.smtp.cdb
20110 ? S 0:00 | \_ tcpserver -R -H -l0 -v -x ./tcp.smtp.cdb
21807 ? S 0:00 | \_ tcpserver -R -H -l0 -v -x ./tcp.smtp.cdb
145 ? S 0:00 \_ supervise log
6658 ? Z 0:00 | \_ [multilog <defunct>]
146 ? S 0:00 \_ supervise telnetd
156 ? S 0:00 | \_ tcpserver -l0 -R -H -v -c 3 -x ./tcp.telnet.c
147 ? S 0:00 \_ supervise log
157 ? S 0:00 | \_ multilog t ./main -* +* * status: * =status
149 ? S 0:00 \_ supervise pop3d
6656 ? Z 0:00 | \_ [tcpserver <defunct>]
150 ? S 0:00 \_ supervise log
153 ? S 0:01 \_ multilog t ./main -* +* * status: * =status

これらのモジュールが起動されていますが、
145 ? S 0:00 \_ supervise log
6658 ? Z 0:00 | \_ [multilog <defunct>]

149 ? S 0:00 \_ supervise pop3d
6656 ? Z 0:00 | \_ [tcpserver <defunct>]

等がうまく起動していないという事でしょうか・・?

もしそうなら、起動スクリプト周りを設定しなおした方がよさそうでしょうか・・?

質問ばかりで申し訳ありません・・
RUHAKO
常連さん
会議室デビュー日: 2004/12/11
投稿数: 38
投稿日時: 2004-12-11 11:31
>supervise pop3d があがらないんでしょう。
>/var/log/maillog見るとipop3dがログはいているみたいだし。
>redhat系なら/etc/xinetd.d/ipop3の中を
>disable = yes とするか、ntsysv か、chkconfig あたりを使って
>ipop3を無効にしましょう。LinuxServerとあるのでLinux想定ですが。
>その上で、
># service xinetd restart
>で反映。
>この辺、決めうちで書いているのでOS違えばまるで違いますよ。あしからず。


大変参考になる内容ありがとうございます。
現在こちらで使用しているサーバー本体は、pluthome社が販売している
OPENBLOCKSという商品で、LINUX OS 自体も、独自のものを使用しているようです。
#uname -r
としましたところ、カーネルverは、2.4.10という事が確認できました。

メールサーバに関しても、あらかじめモジュール(ipop3d??)がプリインストールされている模様で
/etc/rc.d/init.dの中を見ても、ipop3dというスクリプトはありませんでした。
find / -name "*ipop3d*" 等で検索してみましたが、

# find / -name "*ipop3d*"
find: /proc/12089/fd: No such file or directory
find: /proc/12090/fd: No such file or directory
/usr/sbin/ipop3d

のような結果がでてきて、どのように起動スクリプトが書かれているのか、
わからないようです。

/etc/init.dや、/etc/rc.d/rc*.d/の中等にも、
それらしき起動エイリアス等は見つけることはできませんでした。


>daemontools使うなら
># svstat /service/* /service/*/log でステータス確認出来ますよ。
>あとはnetstatコマンドは、(最近のは)-pオプションでポートを
>どのプログラムがlistenしてるか分かりますのでその方が分かりやすいかな。

以下にご指摘のコマンドを追記させていただきます。

# svstat /service/* /service/*/log
/service/pop3d: up (pid 12756) 0 seconds
/service/qmail: up (pid 151) 6431 seconds
/service/smtpd: up (pid 153) 6431 seconds
/service/telnetd: up (pid 156) 6431 seconds
/service/pop3d/log: up (pid 155) 6431 seconds
/service/qmail/log: up (pid 150) 6431 seconds
/service/smtpd/log: up (pid 12755) 1 seconds
/service/telnetd/log: up (pid 157) 6431 seconds

# netstat -p
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
PID/Program name
tcp 0 20 LinuxServer.localdo:ssh almighty:1112 ESTABLISHED
158/sshd
Active UNIX domain sockets (w/o servers)
Proto RefCnt Flags Type State I-Node PID/Program name Pat
h
unix 3 [ ] STREAM CONNECTED 269 80/syslogd /de
v/log
unix 3 [ ] STREAM CONNECTED 268 132/snort
unix 3 [ ] STREAM CONNECTED 165 80/syslogd /de
v/log
unix 3 [ ] STREAM CONNECTED 164 1/init
unix 3 [ ] STREAM CONNECTED 161 80/syslogd /de
v/log
unix 3 [ ] STREAM CONNECTED 160 136/ntpd
unix 3 [ ] STREAM CONNECTED 129 80/syslogd /de
v/log
unix 3 [ ] STREAM CONNECTED 128 126/named
unix 3 [ ] STREAM CONNECTED 84 80/syslogd /de
v/log
unix 3 [ ] STREAM CONNECTED 83 95/dhclient


>[追記]
>あとログはmultilog呼び出しているスクリプトがあるディレクトリ配下の
>./main/currentにでるんですが。。。tai64nlocalコマンドも使わないと。。。

ご指摘ありがとうございます。。しかしながらtai64nlocalというコマンドは初めて
目にするコマンドなので、どのように扱ってよいのかわかりません・・
サイトを検索してみます。

先ずは、
1.現在プリインストールされている、サービスを止める方法を見つける。
2.tai64nlocalコマンドで、LOGを確認する

を行おうかと思います。

もし起動方法に関して、/rc.d/~ 、等以外に考えられる物があるようでしたら
アドヴァイスいただけると幸いです。



[ メッセージ編集済み 編集者: RUHAKO 編集日時 2004-12-11 11:34 ]
RUHAKO
常連さん
会議室デビュー日: 2004/12/11
投稿数: 38
投稿日時: 2004-12-11 17:33
追伸として書き込みさせて頂きます。

現在 /etc/inetd.conf の内容を編集して、ipop3の自動起動を停止させることができました。
起動スクリプトもすべて消し書き直し
サーバ再起動後、確認してみたところ
やはり状況は、変わっておらず、メールを受信することは出来ませんでした。
以前のipop3デーモンが止まった事から、クライアントのメーラーよりも、受信プロセスを
行う事(以前はipop3が動いていた事により新着0表示として動いていた)が出来なくなっていました。


ps axfコマンドをすると、現在は以下のように表示されております。
140 ? S 0:00 svscan /service
142 ? S 0:00 \_ supervise smtpd
148 ? S 0:00 | \_ tcpserver -R -H -l0 -v -x ./tcp.smtp.cdb -u 5
143 ? S 0:00 \_ supervise log
147 ? S 0:00 | \_ multilog t ./main -* +* * status: * =status
144 ? S 0:00 \_ supervise pop3d
939 ? Z 0:00 | \_ [tcpserver <defunct>]
145 ? S 0:00 \_ supervise log
149 ? S 0:00 \_ multilog t ./main -* +* * status: * =status


pop3dの手動起動として、
/usr/local/bin/tcpserver -R -H -l0 -v -x /etc/tcp.pop3.
cdb 0 pop3 /var/qmail/bin/qmail-popup mail.domain.jp /home/vpopmail/bin/vchkpw /
var/qmail/bin/qmail-pop3d Maildir | /var/qmail/bin/splogger pop3d &

というコマンドを入力してみたところ

[1] 1091
tcpserver: fatal: unable to figure out port number for pop3

と、現在は、エラー(ポートが割り振れないというような)が返ってきてしまいます。



--



/var/service/pop3d/log/main 直下にあるLOGファイル郡(@から始まる数字+英字のファイル、current等)
を tai64nlocalコマンドを使い開いて見ましたが、
中身はすべて、

2004-12-11 18:33:07.493972500 tcpserver: fatal: unable to figure out port number
for pop3

の内容で埋め尽くされていました・・



[ メッセージ編集済み 編集者: RUHAKO 編集日時 2004-12-11 19:36 ]
anights
ぬし
会議室デビュー日: 2003/05/22
投稿数: 277
お住まい・勤務地: 東京
投稿日時: 2004-12-11 22:00
引用:

RUHAKOさんの書き込み (2004-12-11 17:33) より:
tcpserver: fatal: unable to figure out port number for pop3
と、現在は、エラー(ポートが割り振れないというような)が返ってきてしまいます。



まず、/etc/servicesを確認して下さい。
pop-3となっていませんか?
前の投稿に以下がありますよ。

引用:

tcp 0 0 *:Pop-3 *:* LISTEN



/etc/services の該当部分をpop3とするか、
スクリプトのポート指定(pop3の部分)を110としましょう。
私はrunファイルの中ではいつもポートを直接指定するので
/etc/servicesは気にしないんですよね。。。
まあ、これは好みですから。

あと、私の言葉が足りませんでしたね。
netstatコマンドは、
# netstat -ap とかじゃないと参考にならなかったのですが。

その後の投稿を読むと
コケている supervise logはsmtpdのもののようですから
logの方のrunファイルとかディレクトリのオーナーとか
確認された方がいいでしょう。
RUHAKO
常連さん
会議室デビュー日: 2004/12/11
投稿数: 38
投稿日時: 2004-12-11 22:47
ANIGHTS 様

出来ました!!
/etc/serviceが、やはりpop-3になっており、
pop3に変更したところ、
以下のように、ステータスが変更されました(感謝^^

# svstat /service/* /service/*/log
/service/pop3d: up (pid 152) 1818 seconds
/service/qmail: up (pid 146) 1818 seconds
/service/smtpd: up (pid 153) 1818 seconds
/service/pop3d/log: up (pid 151) 1818 seconds
/service/qmail/log: up (pid 147) 1818 seconds
/service/smtpd/log: up (pid 150) 1818 seconds

そしてクライアントのメーラーで確認をしてみると・・
あれ・・;どうも、認証がうまくいかないようですね、、
サーバーよりtelnet xxx 110
を行ってみましたら、

-ERR authorization failed
Connection closed by foreign host.

と返って来てしまいました・・・・汗

ご指摘にあるとおり、
再度、smtpdのあたりを中心に見直しを行ってみようかとおもいます。


[ メッセージ編集済み 編集者: RUHAKO 編集日時 2004-12-11 22:50 ]

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