【問題解決】雖然服務已經正常啟動,但是qmail伺服器本地都不能連接25埠
環境:Redhat AS4 U2
autorespond-2.0.4 maildrop-2.0.2 tar
clamav-0.88.4 netqmail-1.05 tnef-1.2.3.1
courier-authlib-0.58 qlogtools-3.1 toaster-scripts-0.8.1
courier-imap-4.1.0 qmailadmin-1.2.10 ucspi-tcp-0.88
ezmlm-0.53 qmailanalog-0.70 vpopmail-5.4.13
ezmlm-idx-0.443 qmail-scanner-1.25
isoqlog-2.2.1 qms-analog-0.4.4
igenus_2.0.2_20040901_release.tgz
安裝參考文檔:許靖的《Linux qmail安裝指南》最後更新日期: 2005-04-20
http://www.yes500w.com/qmail/index.htm
----問題:--------------------
# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
Connection closed by foreign host.
在安裝完maildrop之前,都是正常的,outlook都可以正常收發
----判斷:--------------------
1、防火牆
iptables-save顯示
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 25 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 110 -j ACCEPT
telnet localhost 110 //正常
2、selinux確認已關閉
3、驗證服務是否開啟
# netstat -an | grep 25
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN
unix 2 [ ACC ] STREAM LISTENING 5425 /var/run/acpid.socket
unix 2 [ ACC ] STREAM LISTENING 9008 /tmp/orbit-root/linc-e4e-0-1c942870f257b
unix 2 [ ACC ] STREAM LISTENING 9037 /tmp/orbit-root/linc-e4c-0-42a25d7de82d7
unix 3 [ ] STREAM CONNECTED 9259 /tmp/orbit-root/linc-e6a-0-3a685239bd8c6
unix 3 [ ] STREAM CONNECTED 9258
unix 3 [ ] STREAM CONNECTED 9253 /tmp/orbit-root/linc-e6a-0-3a685239bd8c6
unix 3 [ ] STREAM CONNECTED 9252
unix 3 [ ] STREAM CONNECTED 9251 /tmp/orbit-root/linc-e1e-0-27f92fcb74e66
unix 3 [ ] STREAM CONNECTED 9250
unix 3 [ ] STREAM CONNECTED 9225
unix 3 [ ] STREAM CONNECTED 9125
unix 3 [ ] STREAM CONNECTED 9120 /tmp/orbit-root/linc-e4c-0-42a25d7de82d7
unix 3 [ ] STREAM CONNECTED 9101 /tmp/orbit-root/linc-e4c-0-42a25d7de82d7
unix 3 [ ] STREAM CONNECTED 9040 /tmp/orbit-root/linc-e4c-0-42a25d7de82d7
unix 3 [ ] STREAM CONNECTED 9025
unix 3 [ ] STREAM CONNECTED 9011 /tmp/orbit-root/linc-e4e-0-1c942870f257b
# ps -e | grep qmail
3312 ? 00:00:00 qmail-send
3380 ? 00:00:00 qmail-lspawn
3381 ? 00:00:00 qmail-rspawn
3382 ? 00:00:00 qmail-clean
# ps -efl | grep "service errors" | grep -v grep
4 S root 3281 3149 0 78 0 - 344 pipe_w 10:23 ? 00:00:00 readproctitle service errors: ................................................................................................................................................................................................................................................................................................................................................................................................................
4、webmail收發正常
[ 本帖最後由 mdiane 於 2006-10-2 01:32 編輯 ]
《解決方案》
先將IPTABLES關了,再實驗
《解決方案》
關閉iptables后的結果
原帖由 思一克 於 2006-9-30 11:46 發表
先將IPTABLES關了,再實驗
# service iptables stop
Flushing firewall rules: [ OK ]
Setting chains to policy ACCEPT: filter [ OK ]
Unloading iptables modules: [ OK ]
# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
Connection closed by foreign host.
#
《解決方案》
tcpserver smtpd沒有寫好
《解決方案》
可否詳細說明一下
原帖由 思一克 於 2006-9-30 12:19 發表
tcpserver smtpd沒有寫好
因對qmail還不是很熟悉,所以可否詳細說明一下您說的:tcpserver smtpd沒有寫好
《解決方案》
回復 5樓 mdiane 的帖子
看來還是只能自己頂了
《解決方案》
原帖由 mdiane 於 2006-9-30 14:30 發表
看來還是只能自己頂了
會不會是qmailscanner在搗鬼?繼續盤查中……
《解決方案》
能不能把配置也寫出來呢?
你這樣問
只能讓別人啥猜
《解決方案》
就是它!——qmail-scanner
原帖由 mdiane 於 2006-9-30 15:54 發表
會不會是qmailscanner在搗鬼?繼續盤查中……
仔細檢查發現就是當qmail-scanner安裝完成後,我的問題就出現了……
下面是我的qmail-scanner的安裝過程:
rpm -Uvh perl-suidperl-5.8.5-12.1.1.i386.rpm
tar zxvf qmail-scanner-1.25.tgz
tar zxvf qms-analog-0.4.2.tar.gz
cd qms-analog-0.4.2
make all
cp qmail-scanner-1.25-st-qms-20050219.patch /home/pkg/qmail-scanner-1.25
cd qmail-scanner-1.25
patch -p1 < qmail-scanner-1.25-st-qms-20050219.patch
groupadd qscand
useradd -g qscand -s /bin/false qscand
vi qms-config
./configure --domain domain.com \
--admin postmaster \
--local-domains "domain.com" \
--add-dscr-hdrs yes \
--dscr-hdrs-text "X-Antivirus-MYDOMAIN" \
--ignore-eol-check yes \
--sa-quarantine 0 \
--sa-delete 0 \
--sa-reject no \
--sa-subject ":SPAM:" \
--sa-alt yes \
--sa-debug no \
--notify admin \
--redundant yes \
--qms-monitor no \
--lang en_GB \
--debug no \
--unzip yes \
--scanners clamscan,verbose_spamassassin \
"$INSTALL"
#保存並退出。
chmod 755 qms-config
./qms-config
#在第一步時, 按y 允許qmail-scanner提前configure. 第二步時, 按y,建立 qmail-queue-scanner.pl 文件.
#測試沒有錯誤 ,進行下一步安裝
./qms-config install
…………
Hit RETURN to create initial directory structure under /var/spool/qmailscan,
and install qmail-scanner-queue.pl under /var/qmail/bin: ====>[直接回車]
perlscanner: generate new DB file from /var/spool/qmailscan/quarantine-attachments.txt
perlscanner: total of 81 entries.
Finished installation of initial directory structure for Qmail-Scanner
under /var/spool/qmailscan and qmail-scanner-queue.pl under /var/qmail/bin.
Finished. Please read README(.html) and then go over the script
(/var/qmail/bin/qmail-scanner-queue.pl) to check paths/etc.
"/var/qmail/bin/qmail-scanner-queue.pl -r" should return some well-known virus
definitions to show that the internal perlscanner component is working.
If you're upgrading, remember that your previous quarantine-attachments.txt file
has not been changed, maybe it's a good idea to have a look at the file
coming with this distribution.
That's it!
****** FINAL TEST ******
Please log into an unpriviledged account and run
/var/qmail/bin/qmail-scanner-queue.pl -g
If you see the error "Can't do setuid", or "Permission denied", then
refer to the FAQ.
(e.g. "setuidgid qmaild /var/qmail/bin/qmail-scanner-queue.pl -g")
That's it! To report success:
% (echo 'First M. Last'; cat SYSDEF)|mail jhaar-s4vstats@crom.trimble.co.nz
Replace First M. Last with your name.
ll /var/qmail/bin/qmail-scanner-queue.pl
chown qscand:qscand /var/qmail/bin/qmail-scanner-queue.pl
chmod 4755 /var/qmail/bin/qmail-scanner-queue.pl
setuidgid qscand /var/qmail/bin/qmail-scanner-queue.pl -z
setuidgid qscand /var/qmail/bin/qmail-scanner-queue.pl -r
setuidgid qscand /var/qmail/bin/qmail-scanner-queue.pl -g
chown qscand:qscand /var/qmail/bin/qmail-scanner-queue.pl
chmod 4755 /var/qmail/bin/qmail-scanner-queue.pl
chown -R qscand:qscand /var/spool/qmailscan
vi /var/qmail/supervise/qmail-smtpd/run
#!/bin/sh
QMAILDUID=`id -u vpopmail`
NOFILESGID=`id -g vpopmail`
PATH=$PATH:/usr/local/bin:/var/qmail/bin
qmailQUEUE="/var/qmail/bin/qmail-scanner-queue.pl" export qmailQUEUE
MAXSMTPD=`cat /var/qmail/control/concurrencyincoming`
exec /usr/local/bin/softlimit -m 4000000 \
/usr/local/bin/tcpserver -v -H -R -l 0 \
-x /home/vpopmail/etc/tcp.smtp.cdb -c "$MAXSMTPD" \
-u "$QMAILDUID" -g "$NOFILESGID" 0 smtp \
/var/qmail/bin/qmail-smtpd \
/home/vpopmail/bin/vchkpw /bin/true 2>&1
qmailctl stop------------->OK
qmailctl start------------->OK
qmailctl stat------------->OK
# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
Connection closed by foreign host.
敬請指教!
《解決方案》
原帖由 思一克 於 2006-9-30 12:19 發表
tcpserver smtpd沒有寫好
思大師,以下是我的tcp.smtp和qmail-smtpd/run的配置內容
# cat /home/vpopmail/etc/tcp.smtp
127.0.0.1:allow,RELAYCLIENT=""
# cat /var/qmail/supervise/qmail-smtpd/run
#!/bin/sh
QMAILDUID=`id -u vpopmail`
NOFILESGID=`id -g vpopmail`
PATH=$PATH:/usr/local/bin:/var/qmail/bin
qmailQUEUE="/var/qmail/bin/qmail-scanner-queue.pl" export qmailQUEUE
MAXSMTPD=`cat /var/qmail/control/concurrencyincoming`
exec /usr/local/bin/softlimit -m 4000000 \
/usr/local/bin/tcpserver -v -H -R -l 0 \
-x /home/vpopmail/etc/tcp.smtp.cdb -c "$MAXSMTPD" \
-u "$QMAILDUID" -g "$NOFILESGID" 0 smtp \
/var/qmail/bin/qmail-smtpd \
/home/vpopmail/bin/vchkpw /bin/true 2>&1
這樣配置,怎麼會連本地都無法telnet呢?還請指點