Conntrack TCP Timeout para estado estabelecido não funcionando

1

Estou usando um endereço IP privado e quero manter as entradas SNAT vivas no meu roteador (Gateway) por pelo menos duas horas (alguns aplicativos do windows da minha rede estão usando o TCP keepalive definido para 2 horas). O Gateway é uma máquina Linux, portanto, defino valores de nf_conntrack_tcp_timeout_established e nf_conntrack_generic_timeout para 7400 segundos:

echo 7400 > /proc/sys/net/netfilter/nf_conntrack_tcp_timeout_established
echo 7400 > /proc/sys/net/netfilter/nf_conntrack_generic_timeout

Agora, quando uma conexão TCP é estabelecida logo após eu poder ver o novo valor:

# cat /proc/net/ip_conntrack
tcp      6 7399 ESTABLISHED src=192.168.0.192 dst=108.168.176.194
sport=51826 dport=5222 src=108.168.176.194 dst=95.63.14.117 sport=5222 
dport=51826 [ASSURED] use=1

Mas poucos segundos depois eu li o valor novamente e agora o valor retornou para 60 segundos:

tcp      6 39 ESTABLISHED src=192.168.0.192 dst=108.168.176.194 
sport=51826 dport=5222 src=108.168.176.194 dst=95.63.14.117 sport=5222 
dport=51826 [ASSURED] use=1
    
por MABC 29.04.2014 / 13:22

1 resposta

0

A causa raiz foi que o código conntrack no kernel foi modificado. Como estamos usando uma distribuição linux incorporada modificada pelo nosso provedor, a função que atualiza o tempo limite para a entrada SNAT estava apontando para uma função especial usada para fornecer um dos novos recursos do nosso provedor. Eu consertei e agora está funcionando como esperado.

    
por 10.05.2014 / 17:17