如何获得rsyslog
未修改的镜像流量(包括原始 IP)到另一个端口?
我有许多设备将数据发送到端口514
,但我需要服务器上的两个不同的应用程序来接收该数据。
我尝试将以下内容添加到/etc/rsyslog.conf
*.* @@127.0.0.1:1514
# also tried
*.* @127.0.0.1:1514
监听的应用程序1514
获取所有数据,但源地址始终是127.0.0.1
。如果我直接将日志发送到端口,1514
监听的应用程序会1514
看到正确的源地址,但现在rsyslog
看不到数据,因为它正在监听端口514
。
如何获得rsyslog
未修改的镜像流量(包括原始 IP)到另一个端口?
无论出于什么原因,作为上述规则的替代,以下iptables
规则都不会重定向 Ubuntu 服务器 18.04LTS 上的流量来解决问题,所以我希望有一种方法可以调整我的方法/etc/rsyslog.conf
以确保1514
看到原始来源而不是127.0.0.1
。
示例替代 iptables 规则不镜像流量(或至少 graylog 看不到它)。
iptables -t mangle -A PREROUTING -p tcp --dport 514 -j TEE --gateway 127.0.0.2
iptables -t nat -A PREROUTING -d 127.0.0.2 -p tcp --dport 514 -j DNAT --to 127.0.0.1:1514
iptables -t mangle -A PREROUTING -p udp --dport 514 -j TEE --gateway 127.0.0.2
iptables -t nat -A PREROUTING -d 127.0.0.2 -p udp --dport 514 -j DNAT --to 127.0.0.1:1514
请注意我的ufw
规则22 ALLOW Anywhere
是514 ALLOW Anywhere