使用 ufw 时,rsyslog 转发和包含原始 IP 或 iptables 镜像时遇到问题

使用 ufw 时,rsyslog 转发和包含原始 IP 或 iptables 镜像时遇到问题

如何获得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 Anywhere514 ALLOW Anywhere

相关内容