2015-05-20 478 views
4

我有一個反覆出現的問題(在Debian Squeeze上,amavisd-new和fail2ban也被安裝):突然間,經常在晚上(但不總是),郵件停止發送,隊列已滿。日誌顯示了一堆這種風格的條目:Postfix - 連接到127.0.0.1 [127.0.0.1]:10024:連接被拒絕)

May 18 19:54:16 ks4000003 postfix/error[6889]: 376352016039: to=<[email protected]>, relay=none, delay=0.62, delays=0.58/0.01/0/0.04, dsn=4.4.1, status=deferred (delivery temporarily suspended: connect to 127.0.0.1[127.0.0.1]:10024: Connection refused) 

一旦我重新啓動服務器,它然後工作(和隊列全部清除)。直到下一次(通常每1-2週一次,但最近每天早上我必須重新啓動服務器),它仍然沒有任何問題。

對此的任何想法將不勝感激。我應該提到,我真的是服務器管理的新手。我在google/stackoverflow上搜索了類似的問題,並找不到真正類似的問題。

我後綴的conf:

alias_database = hash:/etc/aliases 
alias_maps = hash:/etc/aliases 
always_add_missing_headers = yes 
append_dot_mydomain = no 
biff = no 
body_checks = regexp:/etc/postfix/body_checks 
broken_sasl_auth_clients = yes 
config_directory = /etc/postfix 
content_filter = amavis:[127.0.0.1]:10024 
header_checks = regexp:/etc/postfix/header_checks 
html_directory = /usr/share/doc/postfix/html 
inet_interfaces = all 
mailbox_size_limit = 0 
message_size_limit = 0 
mime_header_checks = regexp:/etc/postfix/mime_header_checks 
mydestination = ks4000003.ip-198-245-60.net, localhost, localhost.localdomain 
myhostname = ks4000003.ip-198-245-60.net 
mynetworks = 127.0.0.0/8 [::1]/128 
myorigin = /etc/mailname 
nested_header_checks = regexp:/etc/postfix/nested_header_checks 
proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $virtual_mailbox_limit_maps 
readme_directory = /usr/share/doc/postfix 
receive_override_options = no_address_mappings 
recipient_delimiter = + 
relay_domains = mysql:/etc/postfix/mysql-virtual_relaydomains.cf 
relay_recipient_maps = mysql:/etc/postfix/mysql-virtual_relayrecipientmaps.cf 
relayhost = 
smtp_destination_concurrency_limit = 5 
smtp_destination_rate_delay = 1s 
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache 
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU) 
smtpd_client_restrictions = permit_mynetworks, permit_sasl_authenticated, check_client_access mysql:/etc/postfix/mysql-virtual_client.cf 
smtpd_error_sleep_time = 0 
smtpd_recipient_restrictions = check_client_access hash:/etc/postfix/rbl_whitelist, permit_mynetworks, permit_sasl_authenticated, check_recipient_access mysql:/etc/postfix/mysql-virtual_recipient.cf, reject_unknown_recipient_domain, reject_unauth_destination, reject_unverified_sender, reject_unauth_destination,reject_unlisted_recipient, reject_invalid_hostname, reject_non_fqdn_sender, reject_rbl_client cbl.abuseat.org, reject_rbl_client bl.spamcop.net, reject_rbl_client sbl.spamhaus.org, reject_rbl_client truncate.gbudb.net 
smtpd_sasl_auth_enable = yes 
smtpd_sasl_authenticated_header = yes 
smtpd_sasl_path = private/auth 
smtpd_sasl_security_options = noanonymous 
smtpd_sasl_type = dovecot 
smtpd_sender_restrictions = check_sender_access hash:/etc/postfix/sender_access mysql:/etc/postfix/mysql-virtual_sender.cf reject_non_fqdn_sender reject_unknown_sender_domain 
smtpd_tls_cert_file = /etc/postfix/smtpd.cert 
smtpd_tls_key_file = /etc/postfix/smtpd.key 
smtpd_tls_security_level = may 
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache 
smtpd_use_tls = yes 
transport_maps = proxy:mysql:/etc/postfix/mysql-virtual_transports.cf 
unknown_local_recipient_reject_code = 550 
virtual_alias_domains = 
virtual_alias_maps = proxy:mysql:/etc/postfix/mysql-virtual_forwardings.cf, mysql:/etc/postfix/mysql-virtual_email2email.cf 
virtual_gid_maps = static:5000 
virtual_mailbox_base = /var/vmail 
virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql-virtual_domains.cf 
virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailboxes.cf 
virtual_transport = dovecot 
virtual_uid_maps = static:5000 
+1

檢查後綴的錯誤日誌。/var/log/mail等等;-)。您的發件人進程無法連接到後綴服務。也許錯誤日誌告訴你爲什麼。 –

+0

我寫的錯誤來自郵件日誌...我在日誌中看到一個關於postfix不能連接到mysql的日誌中的奇怪錯誤,但我不確定它是相關的。這些網站後來仍然運行良好...... –

+1

我曾經監督過這個問題是基於連接到端口10024的。看看postfix的配置,阿amavis內容過濾器。我看起來像你的amavis進程掛起或至少不接受更多的連接。我不知道在哪裏可以找到amavis日誌。可能也在郵件日誌中。 http://forums.fedoraforum.org/showthread.php?t = 170210 –

回答

4

首先到AMaViS對問題: 根據您引擎收錄:QMGR從AMaViS對請求的東西,並得到它不理解的響應。我假設qmgr發送郵件給amavis,應該檢查。無論是amavis被關閉或郵件導致amavis產生腐敗的迴應。但你怎麼檢查這個?

最好的方法是停止AMaViS對服務,並從一個控制檯

# amavisd debug 

然後將AMaViS對輸出到控制檯啓動它。 這裏是一個鏈接,可能會有幫助:http://www.amavis.org/#faq

那麼數據庫的問題:

根據您的引擎收錄:達夫科特和後綴嘗試連接到MySQL數據庫。 postfix使用地址爲localhost或127.0.0.1的tcp套接字,dovecot使用unix套接字。如果您沒有更改mysql端口的配置,則應在地址127.0.0.1:3306處有一個偵聽套接字。 這可能是監聽ADRESS就像是:: 1 IPv6地址:3306

可以驗證有:netstat -ltn

如果configered不同的端口,這個端口必須在netstat的輸出中所示。您可能已將您的mysql配置爲您的傳出IP地址。然後你會發現像198.245.60.7:3306。在這種情況下,訪問127.0.0.1:3306不起作用。

「postfix」錯誤消息表示該端口上沒有偵聽器,或者您沒有訪問權限。 「dovecot」消息說你沒有提供任何密碼或錯誤的密碼給mysql服務器,所以它不認證dovecot。請檢查配置。

+0

好吧,所以我猜想因爲某種原因,porte會關閉。感謝您提供非常有用的答案。由於它包含許多提示來幫助解決此問題,因此我將其標記爲已接受的答案。如果我找到有用的東西,我會在這裏跟進。 –

+1

謝謝。我想知道你的發現。順便說一句:如果你將mysql綁定到外部地址,你應該將它重新分配給localhost。如果你的防火牆不阻止響應。端口,甚至腳本kiddys都可以進入你的數據庫。 –

+0

對不起,我應該警告你不要發佈你的netstat輸出。黑客可以使用它來攻擊你的服務。例如,他會看到,有四個網卡,並有地址和開放DNS端口。如果可能,請將其從pastebin中刪除,順便輸出對我來說似乎沒問題。是的,我認爲你的問題不應該被低估。因此,+1 –

相關問題