Não é possível enviar mensagens grandes usando o Sendmail CentOS 5

1

Eu recentemente substitui um servidor Fedora Core 3 por um que executa o CentOS 5 para propósitos de retransmissão de email em uma DMZ.

Meu problema é que, quando o servidor está enviando mensagens para uma organização remota específica, mensagens maiores que 500 KB não são enviadas corretamente. Eles parecem ficar pendurados em algum lugar durante a transmissão, o tempo limite e, depois das tentativas previsíveis, expiram na fila.

O Sendmail descreve o problema como: MDeferred: a conexão expirou com [site].

Mensagens grandes (ou maiores) são enviadas com sucesso para todos os outros sistemas remotos com os quais testamos. É justamente essa única organização com a qual estamos tendo problemas. Da mesma forma, podemos enviar mensagens grandes ou maiores para esta organização, desde que o nosso revezamento do CentOS 5 não esteja envolvido.

Passamos muito tempo com rastreamentos de pacotes que não foram muito úteis. Parece que depois de uma certa profundidade de transmissão, o outro lado começou a solicitar a retransmissão de pacotes, o que fizemos, mas os pacotes retransmitidos nunca pareciam chegar ao seu lado.

Mexer com o iptables (ou seja, desativá-lo completamente) também não ajudou.

Hoje, colocamos um sistema XP na DMZ como um peer para o relé, e ele pode enviar para a organização remota muito bem enquanto, ao mesmo tempo, o relé não pode. Isso, a meu ver, exclui todos os firewalls e caminhos de rede entre nós e a organização remota e aponta o dedo diretamente para o revezamento de e-mail.

Considerando que estou revisitando este sendmail depois de configurá-lo para o Fedora Core 3, há algo errado que eu poderia ter feito ao configurar este sistema que se manifestaria dessa maneira?

    
por David Mackintosh 01.11.2012 / 20:29

1 resposta

2

Na maioria das vezes que me deparo com este problema, desabilito o dimensionamento da janela TCP e o problema é ignorado. Em seu /etc/sysctl.conf , adicione as seguintes linhas na parte inferior:

net.ipv4.tcp_rmem = 4096 87380 174760
net.ipv4.tcp_wmem = 4096 16384 131072
net.ipv4.tcp_window_scaling = 0

Então, como root, execute sysctl -p e veja o que acontece. Observe que isso não é uma solução para o problema, apenas um desvio. As coisas que descobri que desencadeiam esse comportamento incluem os switches nos quais suas máquinas estão conectadas, os cabos reais, a versão do software de algum dispositivo intermediário e várias combinações do driver ethernet e dos chipsets tg3. Você pode até observar que se você instalar outro sistema operacional (digamos OpenBSD) na mesma máquina, o problema desaparece.

Eu também vi outras pessoas definindo o MTU para 500 para fazer isso desaparecer.

Mas, como eu disse, ofereci um possível desvio, não uma solução para o seu problema.

    
por 02.11.2012 / 09:02