solução de problemas postifx - problemas de conexão de troca

3

Eu tenho três roteadores de e-mail baseados em linux que executam postfix e retransmissão de e-mail para nosso servidor Exchange local, bem como para outlook.com, dividindo o e-mail com base nos atributos do ldap. O que observei esporadicamente desde a atualização nesta primavera, do Exchange 2007 para o 2010, é que todos os três relés de correio, por cerca de 20 minutos, não conseguem se conectar à troca.

O Postfix registra como "conexão perdida com exchange.contosso.edu"; Esse problema quase sempre ocorre em todos os três e-mails ao mesmo tempo e dura pouco menos de 20 minutos. Se eu puder pegá-lo enquanto estiver ocorrendo, e eu fizer manualmente "telnet exchange.contosso.edu 25" a partir de uma retransmissão de email e forçar uma mensagem através de (helo, mail from, rcpt para, dados, etc), então ele libera esse relé para cima.

O "servidor" de troca é na verdade duas máquinas com o papel HT nelas, carga balanceada via NLB do Windows.

Eu trabalhei muito duro para descobrir o que está acontecendo do lado do postfix e não vejo nenhuma evidência de qualquer mau comportamento. Minha pergunta é: como atacar o problema do lado da troca? Existe um log de conexão, ou uma configuração de depuração, ou algo que eu possa fazer para registrar todas as conexões de entrada e me dizer o que está causando a troca para soltá-los?

    
por Systemspoet 18.10.2012 / 19:16

1 resposta

2

Após numerosas falsas partidas - retirando o NLB da equação, ajustando o postfix queue_run_delay, desabilitando o escalonamento da janela TCP nas máquinas postfix, a solução foi desabilitar "smtp_connection_cache_on_demand" no main.cf do postfix:

postfix -e 'smtp_connection_cache_on_demand = no'
postfix reload

Não sei se houve falha na troca ao fechar silenciosamente as conexões, ou se o postfix estava com defeito, ou a pilha TCP do Windows 2008, ou Linux - mas a desabilitação do smtp_connection_caching resolveu nosso problema.

    
por 05.12.2012 / 16:40