siguiente situación: tengo una caja de hardware con Ubuntu 14.04 LTS como host para docker 1.4 Estoy ejecutando una pila ELK en varios contenedores. En resumen, el contenedor logstash está exponiendo solo el puerto 514 para recopilar la entrada de syslog.
en algunas situaciones, después de reiniciar el contenedor, el tráfico de syslog ya no se reenvía al contenedor.
'iptables-nvL' muestra que no hay tráfico que coincida con la regla aplicada a la cadena de reenvío durante el inicio del contenedor. El contador de tráfico de la cadena de ENTRADA es considerablemente más alto que en la cadena de AVANCE.
Noto este comportamiento en todos los contenedores que exponen puertos UDP al mundo, los contenedores con servicios basados en TCP funcionan como se esperaba.
el reinicio de los contenedores y el servicio de Docker no tiene éxito.
Estoy recopilando principalmente registros de tráfico de firewall, por lo que el flujo de tráfico de syslog es bastante constante. Estoy recopilando aproximadamente 1,5 k trampas de Syslog por segundo.
Mi solución alternativa aquí es detener todo el tráfico al host durante aproximadamente 10 segundos (actualmente bloqueando el tráfico en un enrutador ascendente)
Después de detener la exportación de syslog en un solo nodo de firewall durante unos segundos, el tráfico de este firewall específico se reenvía al contenedor como se esperaba. Pero solo de este único.
Creo que este es un problema de iptables. Parece que iptables está almacenando en caché la infracción de reenvío durante unos segundos e ignora cualquier regla nueva aplicada siempre que haya tráfico presente.
No he hecho ninguna configuración adicional en iptables aquí. Todo lo hace Docker. No tengo ufw, conntrackd ni nada instalado.
¿Alguna sugerencia sobre cómo resolver este problema?
las mejores margaritas