【发布时间】:2021-04-20 07:04:57
【问题描述】:
用例:本地日志服务器流量需要复制到基于云的日志服务器。
工作原理:设备 A 可以通过 UDP 514 将日志发送到日志服务器 B。服务器 B 和基于云的日志服务器 C 可以相互访问,但在不同的网络上。在 B 和 C 之间创建一个 GRE 网络隧道,将它们带入同一网络。因此,从 B 到 C 的流量镜像如下所示。
B # iptables -t mangle -I PREROUTING -i eth0 -p UDP --dport 514 -j TEE --gateway C.greIP
挑战:C 收到的流量实际上是发往 B 的,因此在 C 中被丢弃。C 服务器上的 UDP 端口 514 上有一个侦听器,绑定到 0.0.0.0 但是 C 的日志服务器看不到日志。
似乎 UDP 数据包在 C 处被丢弃。有什么可能的解决方案来处理非本地 ip 流量?
我已经尝试过 DNAT C # iptables -t nat -I PREROUTING -p UDP -d B --dport 514 -j DNAT --to-destination C:514 但它不起作用。 C 上的tcpdump 表示正在接收非本地 IP 的数据包,C # iptables -nvL -t nat 表示正在匹配 DNAT 规则。
【问题讨论】:
标签: kubernetes networking udp iptables syslog