Eu tenho um servidor de e-mail A construído iredmail
no sistema Centos6.5. O servidor de email possui um ip público aaa.
Existem cerca de 40 a 50 clientes de e-mail cujo sistema operacional é Windows na rede local, todos eles NAT como ip público ccc (o roteador C é construído pelo sistema Linux). Por outro lado, existem poucas máquinas na mesma rede local que usam sistema Linux. E alguns deles não conseguem se conectar ao servidor de e-mail com frequência.
Por exemplo, eu uso um desktop com Fedora 19 para telnet
a porta 443 do servidor de e-mail e capturo no servidor de e-mail com tcpdump
o comando
15:16:55.144222 IP xxx.xxx.xxx.xxx.46989 > xxx.xxx.xxx.xxx.https: Flags [S], seq 939563650, win 29200, options [mss 1460,sackOK,TS val 23633360 ecr 0,nop,wscale 7], length 0
15:17:03.160282 IP xxx.xxx.xxx.xxx.46989 > xxx.xxx.xxx.xxx.https: Flags [S], seq 939563650, win 29200, options [mss 1460,sackOK,TS val 23641376 ecr 0,nop,wscale 7], length 0
Mas com um windows 7 que está no mesmo hub com Feodra 19 para telnet mail server 443 port
15:20:54.484991 IP xxx.xxx.xxx.xxx.49218 > xxx.xxx.xxx.xxx.https: Flags [S], seq 31344922, win 8192, options [mss 1460,nop,wscale 2,nop,nop,sackOK], length 0
15:20:54.485034 IP xxx.xxx.xxx.xxx.https > xxx.xxx.xxx.xxx.49218: Flags [S.], seq 1361958840, ack 31344923, win 14600, options [mss 1460,nop,nop,sackOK,nop,wscale 7], length 0
15:20:54.485558 IP xxx.xxx.xxx.xxx.49218 > xxx.xxx.xxx.xxx.https: Flags [.], ack 1, win 4380, length 0
15:20:55.685554 IP xxx.xxx.xxx.xxx.https > xxx.xxx.xxx.xxx.49218: Flags [S.], seq 1361958840, ack 31344923, win 14600, options [mss 1460,nop,nop,sackOK,nop,wscale 7], length 0
15:20:55.686359 IP xxx.xxx.xxx.xxx.49218 > xxx.xxx.xxx.xxx.https: Flags [.], ack 1, win 4380, options [nop,nop,sack 1 {0:1}], length 0
15:21:05.122927 IP xxx.xxx.xxx.xxx.49218 > xxx.xxx.xxx.xxx.https: Flags [F.], seq 1, ack 1, win 4380, length 0
15:21:05.123193 IP xxx.xxx.xxx.xxx.https > xxx.xxx.xxx.xxx.49218: Flags [F.], seq 1, ack 2, win 115, length 0
15:21:05.123813 IP xxx.xxx.xxx.xxx.49218 > xxx.xxx.xxx.xxx.https: Flags [.], ack 2, win 4380, length 0
Todas as janelas 7 e Feodra19 no mesmo ambiente de rede, mas o Windows 7 sempre obtém sucesso e o Feodar 19 algumas vezes falha. Mas quando eu uso um servidor linux B que tem um ip público bbb para telnet
o servidor de e-mail, ele é bem-sucedido e nunca falha. Considero se é um problema com o Linux conectar a um mesmo ip de origem.
Os clientes de e-mail da rede local com Windows geralmente se conectam ao servidor de e-mail para verificar o e-mail em intervalos de 3 minutos. Não sei se é útil ou não para resolver o problema.
Responder1
Eu finalmente encontrei o motivo sozinho.
Tudo isso por causa de:
net.ipv4.tcp_tw_recycle=1
Como o Windows sempre não tem opção de carimbo de data / hora no pacote SYN, mas os do Linux sempre
têm opção de carimbo de data / hora, então o servidor de e-mail não criou uma nova conexão TCP/IP com solicitação que tem um carimbo de data / hora errado.