微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ubuntu – UDP在容器重启后,从外部到docker容器的流量被丢弃

以下情况:
我有一个Ubuntu 14.04LTS的硬件盒作为docker 1.4的主机
我在几个容器中运行ELK堆栈.实际上,logstash容器只暴露端口514以收集syslog输入.

在某些情况下,重新启动容器后,系统日志流量不再转发到容器.

‘iptables -nvL’表示在容器启动期间没有与应用于转发链的规则匹配的流量. INPUT链的流量计数器远远高于FORWARD链中的流量计数器.

我注意到在向世界公开UDP端口的所有容器上的这种行为,具有基于TCP的服务的容器正在按预期工作.

重新启动容器和docker服务没有成功.

我主要收集防火墙流量日志,因此syslog流量流量非常稳定.我每秒收集大约1,5k Syslog陷阱.

我的解决方法是停止主机的所有流量大约10秒钟(目前通过黑客上游路由器上的流量)

一个防火墙节点上停止syslog导出几秒钟后,来自此特定防火墙的流量将按预期转发到容器.但只有这一个.

我认为这是iptables的问题.似乎iptables将转发信息缓存几秒钟,并且只要存在流量,就会忽略任何新的应用规则.

在这里没有对iptables进行额外配置.一切都是由码头工人完成的.我没有ufw,conntrackd或任何安装.

有人建议如何解决这个问题?

最好的祝福
安德烈亚斯

看起来这与conntrack有关.它被标记为Docker错误https://github.com/docker/docker/issues/8795那里列出了一个解决方法;我成功地让我的一个主人再次使用conntrack -F工作.

原文地址:https://www.jb51.cc/ubuntu/347943.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐