docker群模式覆盖networking包丢弃

情景如下

实现负载均衡的udp,syslog,跨两个服务

networking设备ip:192.168.10.1两个节点 – node-1 ip:192.168.20.245 – node-2 ip:192.168.20.246

CentOS内核4.14

群模式

在端口514(syslog)上运行有两个python应用程序的服务,没有端口转发,并在两个节点间使用“mode:global”和“endpoint_mode:dnsrr”集合和默认覆盖networking使用“可连接:真实“。

服务容器ip syslog-01.xxxx:10.0.9.2 syslog-02.xxxx:10.0.9.3

使用ipvs运行另一项服务,通过overlayNetwork跨上述两个服务来负载平衡syslog,使用docker-compose -f compose.yml up -d部署。 这附加到514上的端口转发上面的覆盖networking。

ipvs负载平衡如预期。 注意:udp的源ip不会改变,

问题:我可以看到使用tcpdump在容器NIC级别上收到的数据包,但应用程序无法看到它。 在容器syslog-01.xxxx上输出tcpdump

20:01:29.403268 IP 172.16.111.1.514 > 10.0.9.2.514: SYSLOG user.info, length: 60 Output of tcpdump on container syslog-01.xxxx 22:09:30.686667 IP 172.16.111.1.514 > 10.0.9.3.514: SYSLOG user.info, length: 66 Observation : No iptable filter table entry seen in container network name space and overlay name space and If generate syslog on ipvs container using python it get received on syslog-01 and syslog-02 containers 

我认为数据包在运输途中的某个地方不能确定

请帮助请让我知道是否需要更多的信息先谢谢您