Назад | Перейти на главную страницу

Перенаправить ловушку 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