我有一台接收系统日志流量的服务器。我的许多设备只能发送到默认的 udp/514 端口。我的系统日志服务器无法在小于 1024 的端口上运行,而是在 5000 上运行。我在系统上有一个 nat PREROUTING REDIRECT,它运行良好。
我确实有几个 Aruba 无线控制器,我想将它们定向到不同的端口。我试图将源地址为 10.5.5.0/24 的数据包重定向到端口 5008。以下是完整的配置。
*mangle
:PREROUTING ACCEPT [53851:21198923]
:INPUT ACCEPT [53851:21198923]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [1227:8988526]
:POSTROUTING ACCEPT [1227:8988526]
COMMIT
# Completed on Thu Sep 30 14:52:43 2021
# Generated by iptables-save v1.8.4 on Thu Sep 30 14:52:43 2021
*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A PREROUTING -s 10.5.5.0/24 -p udp -m udp --dport 514 -j REDIRECT --to-ports 5008
-A PREROUTING -p udp -m udp --dport 514 -j REDIRECT --to-ports 5000
COMMIT
# Completed on Thu Sep 30 14:52:43 2021
# Generated by iptables-save v1.8.4 on Thu Sep 30 14:52:43 2021
*filter
:INPUT ACCEPT [53852:21199096]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [1234:8990186]
-A INPUT -s 10.0.0.0/8 -p udp -m udp --dport 514 -j ACCEPT
COMMIT
重定向到 udp/5000 运行良好,但是一切正在重定向到 5000。来自 10.5.5.0/24 的 Aruba 流量无法推送到 udp/5008。
如果我发出命令:
iptables -t nat -L -n -v --line-number
。它确认零字节命中第 1 行,所有内容命中第 2 行。
我认为顺序很重要,更具体的行应该放在通用行之前(如上所示)。我尝试将它们颠倒过来,但没有用。
UDP 上的 Syslog 是单向和无状态的,因此您会认为这是世界上最简单的 NAT。
有人做过这种配置吗?这都是现成的,我只是想将我收到的 Aruba 系统日志消息与所有其他消息区分开来。
谢谢!
答案1
将端口 514 重定向到 5000 并使其在本地机器上运行
如果您正在 syslog 服务器上创建 iptables 规则,请使用以下命令:
iptables -t nat -A OUTPUT -o lo -p tcp --dport 514 -j REDIRECT --to-port 5000
或者
iptables -A PREROUTING -t nat -i eth0<Incoming-interface> -p tcp --dport 514 -j REDIRECT --to-port 5000
将传入连接重定向到特定端口上的其他 IP 地址
如果你尝试将端口转发到另一个 IP,并且你的服务器(我称之为防火墙)接收 UDP/514 位于客户端和 Syslog 服务器后面,就像我的 github,你必须做iptables 端口转发使用树形设置:
简单示例场景:
| client:10.5.5.0/24 | --> | 10.5.5.1:enp0s8 firewall enp0s3:192.168.2.1 | --> | 192.168.2.2:enp0s3 Syslog |
1-启用 IP 转发
sudo sysctl -w net.ipv4.ip_forward=1
2- 对进入防火墙的流量进行预路由
sudo iptables -t nat -A PREROUTING -d 10.5.5.1 -i enp0s8 -p tcp --dport 514 -j DNAT --to-destination 192.168.2.2:5000
3- POSTROUTING 用于将流量发送到 Syslog 服务器
sudo iptables -t nat -A POSTROUTING -o enp0s3 -p tcp --dport 514 -d 192.168.2.2 -j SNAT --to-source 192.168.2.1