Em um host NAT do Linux, segmentos duplicados atrasados causam redefinições de conexão

1

link

  • 172.30.5.1 Linux vm com rede em ponte, em execução em outro servidor, a VM tem apenas endereço RFC1918
  • 144.76.103.194 O host Linux com uma interface, conectado à Internet e ao domínio de transmissão RFC1918, atua como gateway NAT para VMs
  • 86.59.21.20 Linux HTTP Server

O fluxo TCP na porta 29909 encontra um RST de 144.76.103.194 depois que um segmento atrasado, já retransmitido, chega de 86.59.21.20.

  • Frame # 581 - A retransmissão para a sequência 522729 é iniciada
  • Frame # 615 - A sequência 522729 foi retransmitida
  • Frame # 1727 - A sequência original 522729 chega, ~ 600ms atrasada
  • Frame # 1728 - O host NAT envia um RST de volta ao servidor HTTP

Conexões iniciadas diretamente do host NAT funcionam bem.

    
por Michael Renner 24.06.2015 / 13:07

1 resposta

3

Isto parece estar relacionado ao código conntrack do Linux estar insatisfeito com o segmento atrasado "longo", abortando a conexão por causa de dados inesperados.

O comportamento pode ser atenuado configurando netfilter/nf_conntrack_tcp_be_liberal para 1.

Documentação do kernel: link

    
por 24.06.2015 / 13:07