Parece que isso está relacionado a conntrack. Ele foi sinalizado como um bug do Docker: link Há uma solução alternativa listada lá; Consegui com sucesso que um dos meus hosts voltasse a trabalhar com conntrack -F
.
seguinte situação: Eu tenho uma caixa de hardware com o Ubuntu 14.04LTS como host para docker 1.4 Estou executando uma pilha ELK em vários contêineres. Curiosamente, o contêiner logstash está expondo apenas a porta 514 para coletar a entrada do syslog.
em algumas situações, depois de reiniciar o contêiner, o tráfego do syslog não é mais encaminhado para o contêiner.
'iptables -nvL' mostra que não há tráfego correspondente à regra aplicada à cadeia de encaminhamento durante o início do contêiner. O contador de tráfego da cadeia INPUT é consideravelmente maior do que na cadeia FORWARD.
Eu observei esse comportamento em todos os contêineres que estão expondo as portas UDP para o mundo, os contêineres com serviços baseados em TCP estão funcionando conforme o esperado.
reiniciar os contêineres e o serviço docker não tem sucesso.
Estou coletando principalmente tráfego de firewall, portanto, o fluxo de tráfego do syslog é bastante constante. Estou coletando aproximadamente 1,5k de armadilhas Syslog por segundo.
Minha solução aqui é interromper todo o tráfego para o host por cerca de 10 segundos (atualmente fazendo um blackholing no tráfego em um roteador upstream)
Após interromper a exportação do syslog em um único nó de firewall por alguns segundos, o tráfego desse firewall específico é encaminhado para o contêiner conforme o esperado. Mas só desta única.
Eu acho que isso é um problema do iptables. Parece que o iptables está armazenando em cache a infração de encaminhamento por alguns segundos e está ignorando quaisquer novas regras aplicadas, desde que o tráfego esteja presente.
Eu não fiz configuração adicional no iptables aqui. Tudo é feito pela janela de encaixe. Não tenho ufw, conntrackd nem nada instalado.
Algum sugere como resolver esse problema?
Atenciosamente Andreas
Parece que isso está relacionado a conntrack. Ele foi sinalizado como um bug do Docker: link Há uma solução alternativa listada lá; Consegui com sucesso que um dos meus hosts voltasse a trabalhar com conntrack -F
.