将 SNMP 陷阱转发到不同的端口

将 SNMP 陷阱转发到不同的端口

我们有一个系统,可以接收来自各种设备的陷阱。
由于系统不以 的身份运行(并且无法运行)root,因此它会监听非默认端口(在我们的例子中是 2162 而不是 162)。
问题是我们管理的某些设备始终将其陷阱发送到默认的 162 端口。

因此,我们需要将从端口 162 传入的陷阱转发到端口 2162。
我尝试了以下操作,但没有作用(它没有转发任何内容):

iptables -t nat -A PREROUTING -i eth0 -p udp --dport 162 -j REDIRECT --to-port 2162 iptables -A FORWARD -p udp --dport 2162 -j ACCEPT

我是一名软件工程师,而不是系统管理员,对 iptables、网络、NAT 等了解甚少。
我在谷歌上搜索了一下,得到了上述陈述。

由于 UDP 数据包的发送者非常重要,我们不能简单地创建一个以 root 身份运行的小进程,该进程在端口 162 上接收陷阱并创建新的陷阱并将其发送到端口 2162。
这会改变发送地址。

的输出iptables -t nat -L -n -v为:

Chain PREROUTING (policy ACCEPT 11339 packets, 2709K bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 DNAT       udp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           udp dpt:162 to::2162
    0     0 DNAT       udp  --  *      *       0.0.0.0/0            0.0.0.0/0           udp dpt:162 to:163.162.154.208:2162
    0     0 REDIRECT   udp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           udp dpt:162 redir ports 2162
    0     0 REDIRECT   udp  --  *      *       0.0.0.0/0            0.0.0.0/0           udp dpt:162 redir ports 2162
    0     0 DNAT       udp  --  *      *       0.0.0.0/0            0.0.0.0/0           udp dpt:162 to:163.162.154.208:2162
    0     0 DNAT       udp  --  *      *       0.0.0.0/0            0.0.0.0/0           udp dpt:162 to::2162
    0     0 DNAT       udp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           udp dpt:162 to::2162

Chain POSTROUTING (policy ACCEPT 80991 packets, 5033K bytes)
 pkts bytes target     prot opt in     out     source               destination
    5   470 SNAT       udp  --  *      *       0.0.0.0/0            163.162.154.208     udp dpt:2162 to:163.162.154.208

Chain OUTPUT (policy ACCEPT 80993 packets, 5033K bytes)
 pkts bytes target     prot opt in     out     source               destination

而输出iptables -L -n -v是:

Chain INPUT (policy ACCEPT 3372K packets, 561M bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 ACCEPT     udp  --  *      *       0.0.0.0/0            163.162.154.208     udp dpt:2163
    0     0 ACCEPT     udp  --  *      *       0.0.0.0/0            163.162.154.208     udp dpt:2162
    0     0 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0           udp dpt:2162
    0     0 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0           udp dpt:162
    0     0 ACCEPT     udp  --  *      *       0.0.0.0/0            163.162.154.208     udp dpt:2162 state NEW,RELATED,ESTABLISHED

Chain OUTPUT (policy ACCEPT 3349K packets, 733M bytes)
 pkts bytes target     prot opt in     out     source               destination

的输出netstat -lnup | grep 2162为:

udp        0      0 :::2162                     :::*                                    13871/java

相关内容